1. 14 Mar, 2003 10 commits
    • Neil Brown's avatar
      [PATCH] md: Allow components of MD raid array to have data start at offset from start of device. · b931e459
      Neil Brown authored
      Normally the data stored on a component of a RAID array is stored
      from the start of the device.  This patch allows a per-device
      data_offset so the data can start elsewhere. This will allow
      RAID arrays where the metadata is at the head of the device
      rather than the tail.
      b931e459
    • Neil Brown's avatar
      [PATCH] md: Fix bad interaction between sync checkpointing and recovery · 264b2f7c
      Neil Brown authored
      Md devices (raid1/raid5) can resync or recover.
      There are similar but importantly different.
      resync happens after an unclean shutdown
      recovery happens when a failed drive is being replaced by a hot spare.
      
      The sync-checkpoint code confused the two somewhat and this causes
      problems.
      
      This patch makes sure "recovery_cp" only relates to resync,
      not recovery.
      It also fixes a small problem with recording spares in
      the superblock.
      264b2f7c
    • Neil Brown's avatar
      [PATCH] md: Fulltime delayed 'safe_mode' for md · 9578658e
      Neil Brown authored
      From: Angus Sawyer <angus.sawyer@dsl.pipex.com>
      
      If there are no writes for 20 milliseconds, write out superblock
      to mark array as clean.  Write out superblock with
      dirty flag before allowing any further write to succeed.
      
      If an md thread gets signaled with SIGKILL, reduce the
      delay to 0.
      
      
      Also tidy up some printk's and make sure writing the
      superblock isn't noisy.
      9578658e
    • Neil Brown's avatar
      [PATCH] md: Remove md_recoveryd thread for md · 8eec7ce0
      Neil Brown authored
      The md_recoveryd thread is responsible for initiating and cleaning
      up resync threads.
      This job can be equally well done by the per-array threads
      for those arrays which might need it.
      
      So the mdrecoveryd thread is gone and the core code that
      it ran is now run by raid5d, raid1d or multipathd.
      
      We add an MD_RECOVERY_NEEDED flag so those daemon don't have
      to bother trying to lock the md array unless it is likely
      that something needs to be done.
      
      Also modify the names of all threads to have the number of
      md device.
      8eec7ce0
    • Neil Brown's avatar
      [PATCH] md: Include asm-i386/387.h in asm-i386/xor.h · 8af848bb
      Neil Brown authored
      It is needed for kernel_fpu_*
      8af848bb
    • Neil Brown's avatar
      [PATCH] md: Tidy up recovery_running flags in md · cb129263
      Neil Brown authored
      Md uses ->recovery_running and ->recovery_err to keep track of the
      status or recovery.  This is rather ad hoc and race prone.
      
      This patch changes it to ->recovery which has bit flags for various
      states.
      cb129263
    • Neil Brown's avatar
      [PATCH] md: Opencode flush_curr_signals in md.c · 07b24141
      Neil Brown authored
      It is (now) too trivial to even have an inline.
      07b24141
    • Neil Brown's avatar
      [PATCH] md: C99 initiailzers for xor.h · 7baaf5dd
      Neil Brown authored
      From: Art Haas <ahaas@airmail.net>
      
      This patch converts the file to use C99 initializers.
      7baaf5dd
    • Neil Brown's avatar
      [PATCH] md: Convert /proc/mdstat to use seq_file · d7710d00
      Neil Brown authored
      From: Angus Sawyer <angus.sawyer@dsl.pipex.com>
      
      Mainly straightforward convert of sprintf -> seq_printf.  seq_start and
      seq_next modelled on /proc/partitions.  locking/ref counting as for
      ITERATE_MDDEV.
      
      pos == 0 -> header
      pos == n -> nth mddev
      pos == 0x10000 -> tail
      d7710d00
    • Neil Brown's avatar
      [PATCH] md: Missing mddev_put in md resync code · 8cdeea1a
      Neil Brown authored
      Whenever a ITERATE_MDDEV loop is exitted abnormally
      we need to mddev_put the current mddev.  There was
      one point in md_do_sync where we didn't so use counts
      became wrong.
      8cdeea1a
  2. 13 Mar, 2003 1 commit
  3. 12 Mar, 2003 1 commit
  4. 11 Mar, 2003 28 commits