Changeset 95ca19d in mainline for uspace/srv/bd/hr/util.c


Ignore:
Timestamp:
2025-06-30T09:31:21Z (3 weeks ago)
Author:
Miroslav Cimerman <mc@…>
Children:
059885c
Parents:
640250b
Message:

hr: add —read-only volume flag

File:
1 edited

Legend:

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

    r640250b r95ca19d  
    6565    service_id_t, hr_metadata_type_t, void *);
    6666static errno_t hr_util_assemble_from_matching_list(list_t *,
    67     hr_metadata_type_t);
     67    hr_metadata_type_t, uint8_t);
    6868static errno_t hr_fill_svcs_list_from_cfg(hr_config_t *, list_t *);
    6969static errno_t hr_swap_hs(hr_volume_t *, size_t, size_t);
     
    102102
    103103errno_t hr_create_vol_struct(hr_volume_t **rvol, hr_level_t level,
    104     const char *devname, hr_metadata_type_t metadata_type)
     104    const char *devname, hr_metadata_type_t metadata_type, uint8_t vflags)
    105105{
    106106        HR_DEBUG("%s()", __func__);
     
    114114        str_cpy(vol->devname, HR_DEVNAME_LEN, devname);
    115115        vol->level = level;
     116
     117        vol->vflags = vflags;
    116118
    117119        vol->meta_ops = hr_get_meta_type_ops(metadata_type);
     
    831833
    832834static errno_t hr_util_assemble_from_matching_list(list_t *list,
    833     hr_metadata_type_t type)
     835    hr_metadata_type_t type, uint8_t vflags)
    834836{
    835837        HR_DEBUG("%s()", __func__);
     
    847849
    848850        hr_volume_t *vol;
    849         rc = hr_create_vol_struct(&vol, level, devname, type);
     851        rc = hr_create_vol_struct(&vol, level, devname, type, vflags);
    850852        if (rc != EOK)
    851853                return rc;
     
    913915        errno_t rc;
    914916        list_t dev_id_list;
     917        uint8_t vflags = 0;
    915918
    916919        list_initialize(&dev_id_list);
    917920
    918         if (cfg == NULL)
     921        if (cfg == NULL) {
    919922                rc = hr_fill_disk_part_svcs_list(&dev_id_list);
    920         else
     923        } else {
    921924                rc = hr_fill_svcs_list_from_cfg(cfg, &dev_id_list);
     925                vflags = cfg->vol_flags;
     926        }
    922927
    923928        if (rc != EOK)
     
    986991
    987992                rc = hr_util_assemble_from_matching_list(&matching_svcs_list,
    988                     type);
     993                    type, vflags);
    989994                switch (rc) {
    990995                case EOK:
Note: See TracChangeset for help on using the changeset viewer.