• NeilBrown's avatar
    [PATCH] md: Set/get state of array via sysfs · 9e653b63
    NeilBrown authored
    This allows the state of an md/array to be directly controlled via sysfs and
    adds the ability to stop and array without tearing it down.
    
    Array states/settings:
    
     clear
         No devices, no size, no level
         Equivalent to STOP_ARRAY ioctl
     inactive
         May have some settings, but array is not active
            all IO results in error
         When written, doesn't tear down array, but just stops it
     suspended (not supported yet)
         All IO requests will block. The array can be reconfigured.
         Writing this, if accepted, will block until array is quiescent
     readonly
         no resync can happen.  no superblocks get written.
         write requests fail
     read-auto
         like readonly, but behaves like 'clean' on a write request.
    
     clean - no pending writes, but otherwise active.
         When written to inactive array, starts without resync
         If a write request arrives then
           if metadata is known, mark 'dirty' and switch to 'active'.
           if not known, block and switch to write-pending
         If written to an active array that has pending writes, then fails.
     active
         fully active: IO and resync can be happening.
         When written to inactive array, starts with resync
    
     write-pending (not supported yet)
         clean, but writes are blocked waiting for 'active' to be written.
    
     active-idle
         like active, but no writes have been seen for a while (100msec).
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    9e653b63
md.c 137 KB