Changeset 65706f1 in mainline for uspace/srv/bd/hr/raid4.c


Ignore:
Timestamp:
2024-11-27T14:06:41Z (8 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
a0c3080
Parents:
40bf2c6
Message:

hr: rename dev_no → extent_no in hr_volume_t

File:
1 edited

Legend:

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

    r40bf2c6 r65706f1  
    100100        assert(new_volume->level == HR_LVL_4);
    101101
    102         if (new_volume->dev_no < 3) {
     102        if (new_volume->extent_no < 3) {
    103103                HR_ERROR("RAID 4 array needs at least 3 devices\n");
    104104                return EINVAL;
     
    133133        vol->bsize = bsize;
    134134        vol->data_offset = HR_DATA_OFF;
    135         vol->data_blkno = vol->nblocks - (vol->data_offset * vol->dev_no) -
    136             (vol->nblocks / vol->dev_no);
     135        vol->data_blkno = vol->nblocks - (vol->data_offset * vol->extent_no) -
     136            (vol->nblocks / vol->extent_no);
    137137        vol->strip_size = HR_STRIP_SIZE;
    138138
     
    242242static ssize_t hr_raid4_get_bad_ext(hr_volume_t *vol)
    243243{
    244         for (size_t i = 0; i < vol->dev_no; i++)
     244        for (size_t i = 0; i < vol->extent_no; i++)
    245245                if (vol->extents[i].status != HR_EXT_ONLINE)
    246246                        return i;
     
    252252        hr_vol_status_t old_state = vol->status;
    253253        size_t bad = 0;
    254         for (size_t i = 0; i < vol->dev_no; i++)
     254        for (size_t i = 0; i < vol->extent_no; i++)
    255255                if (vol->extents[i].status != HR_EXT_ONLINE)
    256256                        bad++;
     
    334334        /* read all other extents in the stripe */
    335335        bool first = true;
    336         for (i = 0; i < vol->dev_no; i++) {
     336        for (i = 0; i < vol->extent_no; i++) {
    337337                if (i == bad)
    338338                        continue;
     
    404404                 */
    405405                bool first = true;
    406                 for (i = 1; i < vol->dev_no; i++) {
     406                for (i = 1; i < vol->extent_no; i++) {
    407407                        if (i == (size_t)bad)
    408408                                continue;
     
    487487         */
    488488        bool first = true;
    489         for (i = 1; i < vol->dev_no; i++) {
     489        for (i = 1; i < vol->extent_no; i++) {
    490490                if (first) {
    491491                        if (i == extent) {
     
    547547        uint64_t strip_size = vol->strip_size / vol->bsize; /* in blocks */
    548548        uint64_t stripe = (ba / strip_size); /* stripe number */
    549         uint64_t extent = (stripe % (vol->dev_no - 1)) + 1;
    550         uint64_t ext_stripe = stripe / (vol->dev_no - 1); /* stripe level */
     549        uint64_t extent = (stripe % (vol->extent_no - 1)) + 1;
     550        uint64_t ext_stripe = stripe / (vol->extent_no - 1); /* stripe level */
    551551        uint64_t strip_off = ba % strip_size; /* strip offset */
    552552
     
    626626                strip_off = 0;
    627627                extent++;
    628                 if (extent >= vol->dev_no) {
     628                if (extent >= vol->extent_no) {
    629629                        ext_stripe++;
    630630                        extent = 1;
     
    655655        }
    656656
    657         size_t bad = vol->dev_no;
    658         for (size_t i = 0; i < vol->dev_no; i++) {
     657        size_t bad = vol->extent_no;
     658        for (size_t i = 0; i < vol->extent_no; i++) {
    659659                if (vol->extents[i].status == HR_EXT_FAILED) {
    660660                        bad = i;
     
    663663        }
    664664
    665         if (bad == vol->dev_no) {
     665        if (bad == vol->extent_no) {
    666666                HR_WARN("hr_raid4_rebuild(): no bad extent on \"%s\", "
    667667                    "aborting rebuild\n", vol->devname);
     
    699699
    700700        uint64_t max_blks = DATA_XFER_LIMIT / vol->bsize;
    701         uint64_t left = vol->data_blkno / (vol->dev_no - 1);
     701        uint64_t left = vol->data_blkno / (vol->extent_no - 1);
    702702        buf = malloc(max_blks * vol->bsize);
    703703        xorbuf = malloc(max_blks * vol->bsize);
     
    714714                 */
    715715                bool first = true;
    716                 for (size_t i = 0; i < vol->dev_no; i++) {
     716                for (size_t i = 0; i < vol->extent_no; i++) {
    717717                        if (i == bad)
    718718                                continue;
Note: See TracChangeset for help on using the changeset viewer.