07 Feb, 2008

1 commit

  • This allows userspace to control resync/reshape progress and synchronise it
    with other activities, such as shared access in a SAN, or backing up critical
    sections during a tricky reshape.

    Writing a number of sectors (which must be a multiple of the chunk size if
    such is meaningful) causes a resync to pause when it gets to that point.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

10 May, 2007

1 commit

  • "reshape_position" records how much progress has been made on a "reshape"
    (adding drives, changing layout or chunksize).

    When it is set, the number of drives, layout and chunksize can have
    two possible values, an old an a new.

    So allow these different values to be visible, and allow both old and new to
    be set: Set the old ones first, then the reshape_position, then the new
    values.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

04 Oct, 2006

4 commits


03 Oct, 2006

2 commits

  • md.txt has two sections describing the 'level' sysfs attribute, and some of
    the text is out-of-date. So make just one section, and make it right.

    Cc: Christian Kujau
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Add a new sysfs interface that allows the bitmap of an array to be dirtied.
    The interface is write-only, and is used as follows:

    echo "1000" > /sys/block/md2/md/bitmap

    (dirty the bit for chunk 1000 [offset 0] in the in-memory and on-disk
    bitmaps of array md2)

    echo "1000-2000" > /sys/block/md1/md/bitmap

    (dirty the bits for chunks 1000-2000 in md1's bitmap)

    This is useful, for example, in cluster environments where you may need to
    combine two disjoint bitmaps into one (following a server failure, after a
    secondary server has taken over the array). By combining the bitmaps on
    the two servers, a full resync can be avoided (This was discussed on the
    list back on March 18, 2005, "[PATCH 1/2] md bitmap bug fixes" thread).

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Clements
     

27 Jun, 2006

6 commits

  • It appears in /sys/mdX/md/dev-YYY/state
    and can be set or cleared by writing 'writemostly' or '-writemostly'
    respectively.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • The md/dev-XXX/state file can now be written:

    "faulty" simulates an error on the device
    "remove" removes the device from the array (if it is not busy)

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • 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: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • When a md array has been idle (no writes) for 20msecs it is marked as 'clean'.
    This delay turns out to be too short for some real workloads. So increase it
    to 200msec (the time to update the metadata should be a tiny fraction of that)
    and make it sysfs-configurable.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

07 Jan, 2006

12 commits


09 Nov, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds