Changeset 8a65373 in mainline


Ignore:
Timestamp:
2025-03-29T11:50:54Z (3 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
56214383
Parents:
7a80c63
Message:

hr: move registering out of specific RAIDs

Location:
uspace/srv/bd/hr
Files:
5 edited

Legend:

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

    r7a80c63 r8a65373  
    144144                for (i = 0; i < cfg->dev_no; i++) {
    145145                        if (cfg->devs[i] == 0) {
     146                                /*
     147                                 * XXX: own error codes, no need to log this...
     148                                 * its user error not service error
     149                                 */
    146150                                HR_ERROR("missing device provided for array "
    147151                                    "creation, aborting");
     
    202206
    203207        rc = new_volume->hr_ops.create(new_volume);
     208        if (rc != EOK)
     209                goto error;
     210
     211        rc = hr_register_volume(new_volume);
    204212        if (rc != EOK)
    205213                goto error;
  • uspace/srv/bd/hr/raid0.c

    r7a80c63 r8a65373  
    8282errno_t hr_raid0_create(hr_volume_t *new_volume)
    8383{
    84         errno_t rc;
    85 
    8684        assert(new_volume->level == HR_LVL_0);
    8785
     
    9997        new_volume->hr_bds.sarg = new_volume;
    10098
    101         rc = hr_register_volume(new_volume);
    102 
    103         return rc;
     99        return EOK;
    104100}
    105101
  • uspace/srv/bd/hr/raid1.c

    r7a80c63 r8a65373  
    9191errno_t hr_raid1_create(hr_volume_t *new_volume)
    9292{
    93         errno_t rc;
    94 
    9593        assert(new_volume->level == HR_LVL_1);
    9694
     
    114112                return EINVAL;
    115113
    116         rc = hr_register_volume(new_volume);
    117 
    118         return rc;
     114        return EOK;
    119115}
    120116
  • uspace/srv/bd/hr/raid5.c

    r7a80c63 r8a65373  
    9393errno_t hr_raid5_create(hr_volume_t *new_volume)
    9494{
    95         errno_t rc;
    96 
    9795        assert(new_volume->level == HR_LVL_5 || new_volume->level == HR_LVL_4);
    9896
     
    104102        fibril_rwlock_write_lock(&new_volume->states_lock);
    105103
    106         rc = hr_raid5_update_vol_status(new_volume);
     104        errno_t rc = hr_raid5_update_vol_status(new_volume);
    107105        if (rc != EOK) {
    108106                fibril_rwlock_write_unlock(&new_volume->states_lock);
     
    114112        new_volume->hr_bds.sarg = new_volume;
    115113
    116         rc = hr_register_volume(new_volume);
    117 
    118114        fibril_rwlock_write_unlock(&new_volume->states_lock);
    119115
    120         return rc;
     116        return EOK;
    121117}
    122118
  • uspace/srv/bd/hr/util.c

    r7a80c63 r8a65373  
    835835         * XXX: register it here
    836836         * ... if it fails on EEXIST try different name... like + 1 on the end
     837         *
     838         * TODO: discuss
    837839         */
     840        rc = hr_register_volume(vol);
     841        if (rc != EOK) {
     842                fibril_rwlock_write_unlock(&hr_volumes_lock);
     843                goto error;
     844        }
    838845
    839846        list_append(&vol->lvolumes, &hr_volumes);
Note: See TracChangeset for help on using the changeset viewer.