Changeset e24c064 in mainline


Ignore:
Timestamp:
2025-03-07T20:53:54Z (2 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
e494d7b
Parents:
d2da1be
Message:

hr: add NONE state (use INVALID for inconsistent)

Location:
uspace
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/device/include/hr.h

    rd2da1be re24c064  
    6868
    6969typedef enum hr_vol_status {
    70         HR_VOL_INVALID,
    71         HR_VOL_ONLINE,  /* OPTIMAL */
    72         HR_VOL_FAULTY,
    73         HR_VOL_DEGRADED, /* also used for partial, but usable mirror */
    74         HR_VOL_REBUILD
     70        HR_VOL_NONE = 0,        /* Unknown/None */
     71        HR_VOL_ONLINE,          /* optimal */
     72        HR_VOL_FAULTY,          /* unusable */
     73        HR_VOL_DEGRADED,        /* not optimal */
     74        HR_VOL_REBUILD          /* rebuild in progress */
    7575} hr_vol_status_t;
    7676
    7777typedef enum hr_ext_status {
    78         HR_EXT_INVALID,
    79         HR_EXT_ONLINE,  /* OK */
    80         HR_EXT_MISSING,
     78        HR_EXT_NONE = 0,        /* unknown/none status */
     79        HR_EXT_INVALID,         /* working but not consistent */
     80        HR_EXT_ONLINE,          /* ok */
     81        HR_EXT_MISSING,         /* offline */
    8182        HR_EXT_FAILED,
    8283        HR_EXT_REBUILD,
  • uspace/lib/device/src/hr.c

    rd2da1be re24c064  
    321321{
    322322        switch (status) {
    323         case HR_VOL_INVALID:
    324                 return "INVALID";
     323        case HR_VOL_NONE:
     324                return "NONE/UNKNOWN";
    325325        case HR_VOL_ONLINE:
    326326                return "ONLINE";
     
    332332                return "REBUILD";
    333333        default:
    334                 return "UNKNOWN";
     334                return "Invalid state value";
    335335        }
    336336}
     
    339339{
    340340        switch (status) {
     341        case HR_EXT_NONE:
     342                return "NONE/UNKNOWN";
    341343        case HR_EXT_INVALID:
    342344                return "INVALID";
     
    352354                return "HOTSPARE";
    353355        default:
    354                 return "UNKNOWN";
     356                return "Invalid state value";
    355357        }
    356358}
     
    366368                        return "RAID-4 Non-Rotating Parity N";
    367369                default:
    368                         return "RAID-4 INVALID";
     370                        return "Invalid RAID 4 layout";
    369371                }
    370372        case HR_LVL_5:
     
    377379                        return "RAID-5 Rotating Parity N with Data Continuation";
    378380                default:
    379                         return "RAID-5 INVALID";
     381                        return "Invalid RAID 5 layout";
    380382                }
    381383        default:
    382                 return "INVALID";
     384                return "Invalid RAID level";
    383385        }
    384386}
  • uspace/srv/bd/hr/raid1.c

    rd2da1be re24c064  
    111111        hr_vol_status_t state = new_volume->status;
    112112        fibril_rwlock_read_unlock(&new_volume->states_lock);
    113         if (state == HR_VOL_FAULTY || state == HR_VOL_INVALID)
     113        if (state == HR_VOL_FAULTY || state == HR_VOL_NONE)
    114114                return EINVAL;
    115115
     
    329329        fibril_rwlock_read_unlock(&vol->states_lock);
    330330
    331         if (vol_state == HR_VOL_FAULTY || vol_state == HR_VOL_INVALID)
     331        if (vol_state == HR_VOL_FAULTY || vol_state == HR_VOL_NONE)
    332332                return EIO;
    333333
     
    662662
    663663        hr_update_hotspare_svc_id(vol, hs, 0);
    664         hr_update_hotspare_status(vol, hs, HR_EXT_INVALID);
     664        hr_update_hotspare_status(vol, hs, HR_EXT_MISSING);
    665665
    666666        vol->hotspare_no--;
Note: See TracChangeset for help on using the changeset viewer.