Changeset 6b8e89b0 in mainline for uspace/srv/bd/hr/hr.c


Ignore:
Timestamp:
2024-10-05T13:11:11Z (8 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
dceb6e7
Parents:
dbd91da
git-author:
Miroslav Cimerman <mc@…> (2024-10-05 12:39:13)
git-committer:
Miroslav Cimerman <mc@…> (2024-10-05 13:11:11)
Message:

hr: init fuction for each RAID level

Compute total blocks, data blocks and set block size, data offset, strip
size there.

File:
1 edited

Legend:

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

    rdbd91da r6b8e89b0  
    154154        }
    155155
    156         rc = hr_check_devs(new_volume);
    157         if (rc != EOK)
    158                 goto error;
    159 
    160156        switch (new_volume->level) {
    161157        case hr_l_1:
    162158                new_volume->hr_ops.create = hr_raid1_create;
    163                 new_volume->strip_size = 0;
     159                new_volume->hr_ops.init = hr_raid1_init;
    164160                break;
    165161        case hr_l_0:
    166162                new_volume->hr_ops.create = hr_raid0_create;
    167                 new_volume->strip_size = HR_STRIP_SIZE;
     163                new_volume->hr_ops.init = hr_raid0_init;
    168164                break;
    169165        case hr_l_4:
    170166                new_volume->hr_ops.create = hr_raid4_create;
    171                 new_volume->strip_size = HR_STRIP_SIZE;
     167                new_volume->hr_ops.init = hr_raid4_init;
    172168                break;
    173169        default:
     
    177173                goto error;
    178174        }
     175
     176        new_volume->hr_ops.init(new_volume);
     177        if (rc != EOK)
     178                goto error;
    179179
    180180        rc = hr_write_meta_to_vol(new_volume);
     
    263263        }
    264264
    265         rc = hr_check_devs(new_volume);
     265        /* just bsize needed for reading metadata later */
     266        rc = hr_check_devs(new_volume, NULL, &new_volume->bsize);
    266267        if (rc != EOK)
    267268                goto error;
Note: See TracChangeset for help on using the changeset viewer.