Changeset 66ef60b in mainline


Ignore:
Timestamp:
2025-06-17T13:28:50Z (5 days ago)
Author:
Miroslav Cimerman <mc@…>
Children:
73425d4
Parents:
d574c11
Message:

hr: range locks: add noalloc lock acquire

Location:
uspace/srv/bd/hr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/hr/util.c

    rd574c11 r66ef60b  
    5555#include "var.h"
    5656
     57static hr_range_lock_t *hr_range_lock_acquire_internal(hr_range_lock_t *,
     58    hr_volume_t *, uint64_t, uint64_t);
    5759static bool hr_range_lock_overlap(hr_range_lock_t *, hr_range_lock_t *);
    5860static errno_t hr_add_svc_linked_to_list(list_t *, service_id_t, bool, void *);
     
    538540}
    539541
     542void hr_range_lock_acquire_noalloc(hr_range_lock_t *rl, hr_volume_t *vol,
     543    uint64_t ba, uint64_t cnt)
     544{
     545        assert(rl != NULL);
     546        (void)hr_range_lock_acquire_internal(rl, vol, ba, cnt);
     547}
     548
    540549hr_range_lock_t *hr_range_lock_acquire(hr_volume_t *vol, uint64_t ba,
    541550    uint64_t cnt)
     
    544553        if (rl == NULL)
    545554                return NULL;
     555
     556        return hr_range_lock_acquire_internal(rl, vol, ba, cnt);
     557}
     558
     559static hr_range_lock_t *hr_range_lock_acquire_internal(hr_range_lock_t *rl,
     560    hr_volume_t *vol, uint64_t ba, uint64_t cnt)
     561{
     562        printf("hr_range_lock_acquire_internal got: 0x%p\n", rl);
    546563
    547564        rl->vol = vol;
  • uspace/srv/bd/hr/util.h

    rd574c11 r66ef60b  
    103103extern size_t hr_count_extents(hr_volume_t *, hr_ext_state_t);
    104104extern void hr_mark_vol_state_dirty(hr_volume_t *);
    105 extern void hr_range_lock_release(hr_range_lock_t *);
     105extern void hr_range_lock_acquire_noalloc(hr_range_lock_t *, hr_volume_t *,
     106    uint64_t, uint64_t);
    106107extern hr_range_lock_t *hr_range_lock_acquire(hr_volume_t *, uint64_t,
    107108    uint64_t);
     109extern void hr_range_lock_release(hr_range_lock_t *);
    108110extern errno_t hr_util_try_assemble(hr_config_t *, size_t *);
    109111extern errno_t hr_util_add_hotspare(hr_volume_t *, service_id_t);
Note: See TracChangeset for help on using the changeset viewer.