Changeset 685c0ab in mainline


Ignore:
Timestamp:
2024-12-30T22:28:13Z (5 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
7d25273
Parents:
7a3529a8
Message:

hr: superblock.c: style

File:
1 edited

Legend:

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

    r7a3529a8 r685c0ab  
    5252static errno_t read_metadata(service_id_t, hr_metadata_t *);
    5353static errno_t hr_fill_meta_from_vol(hr_volume_t *, hr_metadata_t *);
     54static errno_t validate_meta(hr_metadata_t *);
    5455
    5556errno_t hr_write_meta_to_vol(hr_volume_t *vol)
     
    134135        HR_DEBUG("hr_fill_meta_from_vol()\n");
    135136
    136         size_t meta_blkno; /* blocks needed to write metadata */
    137 
    138         meta_blkno = (HR_META_OFF + HR_META_SIZE);
     137        size_t meta_blkno = HR_META_OFF + HR_META_SIZE;
     138
    139139        if (vol->level != HR_LVL_1)
    140140                meta_blkno *= vol->extent_no;
     
    189189                return ENOMEM;
    190190
    191         service_id_t cfg_svc_id_order[HR_MAX_EXTENTS] = { 0 };
     191        service_id_t assembly_svc_id_order[HR_MAX_EXTENTS] = { 0 };
    192192        for (size_t i = 0; i < vol->extent_no; i++)
    193                 cfg_svc_id_order[i] = vol->extents[i].svc_id;
    194 
    195         int32_t md_order[HR_MAX_EXTENTS] = { 0 };
     193                assembly_svc_id_order[i] = vol->extents[i].svc_id;
     194
     195        size_t md_order_indices[HR_MAX_EXTENTS] = { 0 };
    196196        for (size_t i = 0; i < vol->extent_no; i++) {
    197                 if (cfg_svc_id_order[i] == 0) {
    198                         md_order[i] = -1;
     197                if (assembly_svc_id_order[i] == 0) {
     198                        /* set invalid index */
     199                        md_order_indices[i] = vol->extent_no;
    199200                        continue;
    200201                }
    201                 rc = read_metadata(cfg_svc_id_order[i], metadata);
     202                rc = read_metadata(assembly_svc_id_order[i], metadata);
    202203                if (rc != EOK)
    203204                        goto end;
     
    205206                if (rc != EOK)
    206207                        goto end;
    207                 md_order[i] = uint32_t_le2host(metadata->index);
     208                md_order_indices[i] = uint32_t_le2host(metadata->index);
    208209        }
    209210
     
    216217        for (size_t i = 0; i < vol->extent_no; i++) {
    217218                for (size_t j = 0; j < vol->extent_no; j++) {
    218                         if (i == (uint32_t)md_order[j]) {
    219                                 vol->extents[i].svc_id = cfg_svc_id_order[j];
     219                        if (i == md_order_indices[j]) {
     220                                vol->extents[i].svc_id =
     221                                    assembly_svc_id_order[j];
    220222                                vol->extents[i].status = HR_EXT_ONLINE;
    221223                        }
     
    256258{
    257259        errno_t rc;
    258         size_t bsize;
    259260        uint64_t nblocks;
    260261
    261         rc = block_get_bsize(dev, &bsize);
     262        rc = block_get_nblocks(dev, &nblocks);
    262263        if (rc != EOK)
    263264                return rc;
    264265
    265         rc = block_get_nblocks(dev, &nblocks);
     266        if (nblocks < HR_META_SIZE + HR_META_OFF)
     267                return EINVAL;
     268
     269        rc = block_read_direct(dev, HR_META_OFF, HR_META_SIZE, metadata);
    266270        if (rc != EOK)
    267271                return rc;
    268272
    269         if (nblocks < (HR_META_SIZE + HR_META_OFF) * bsize)
    270                 return EINVAL;
    271 
    272         rc = block_read_direct(dev, HR_META_OFF, HR_META_SIZE, metadata);
    273         if (rc != EOK)
    274                 return rc;
    275 
    276273        return EOK;
    277274}
Note: See TracChangeset for help on using the changeset viewer.