Changeset 40bf2c6 in mainline


Ignore:
Timestamp:
2024-11-27T13:28:59Z (6 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
65706f1
Parents:
8160e4c0
Message:

hr: allow IO requests to be served during rebuild

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

Legend:

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

    r8160e4c0 r40bf2c6  
    474474                ba += cnt;
    475475                left -= cnt;
     476
     477                /*
     478                 * Let other IO requests be served
     479                 * during rebuild.
     480                 */
     481                fibril_mutex_unlock(&vol->lock);
     482                fibril_mutex_lock(&vol->lock);
    476483        }
    477484
  • uspace/srv/bd/hr/raid4.c

    r8160e4c0 r40bf2c6  
    230230{
    231231        if (vol->status == HR_VOL_ONLINE ||
    232             vol->status == HR_VOL_DEGRADED)
     232            vol->status == HR_VOL_DEGRADED ||
     233            vol->status == HR_VOL_REBUILD)
    233234                return EOK;
    234235        return EINVAL;
     
    745746                ba += cnt;
    746747                left -= cnt;
     748
     749                /*
     750                 * Let other IO requests be served
     751                 * during rebuild.
     752                 */
     753                fibril_mutex_unlock(&vol->lock);
     754                fibril_mutex_lock(&vol->lock);
    747755        }
    748756
  • uspace/srv/bd/hr/raid5.c

    r8160e4c0 r40bf2c6  
    227227{
    228228        if (vol->status == HR_VOL_ONLINE ||
    229             vol->status == HR_VOL_DEGRADED)
     229            vol->status == HR_VOL_DEGRADED ||
     230            vol->status == HR_VOL_REBUILD)
    230231                return EOK;
    231232        return EINVAL;
     
    751752                ba += cnt;
    752753                left -= cnt;
     754
     755                /*
     756                 * Let other IO requests be served
     757                 * during rebuild.
     758                 */
     759                fibril_mutex_unlock(&vol->lock);
     760                fibril_mutex_lock(&vol->lock);
    753761        }
    754762
Note: See TracChangeset for help on using the changeset viewer.