• Neil Brown's avatar
    [PATCH] MD - Rdev list cleanups. · 2a9400e9
    Neil Brown authored
    Rdev list cleanups.
    
    An "rdev" can be on three different lists.
     - the list of all rdevs
     - the list of pending rdevs
     - the list of rdevs for a given mddev
    
    The first list is now only used to list "unused" devices in
    /proc/mdstat, and only pending rdevs can be unused, so this list
    isn't necessary.
    An rdev cannot be both pending and in an mddev, so we know rdev will
    only be on one list at at time.
    
    This patch discards  the all_raid_disks list, and changes the
    pending list to use "same_set" in the rdev.  It also changes
    /proc/mdstat to iterate through pending devices, rather than through
    all devices.
    
    So now an rdev is only on one list, either the pending list
    or the list of rdevs for a given mddev.  This means that
    ITERATE_RDEV_GENERIC doesn't need to be told which field,
    to walk down: there is ony one.
    2a9400e9
md.c 85.5 KB