1. 29 11月, 2005 1 次提交
  2. 18 11月, 2005 1 次提交
    • N
      [PATCH] md: fix is_mddev_idle calculation now that disk/sector accounting... · c0e48521
      NeilBrown 提交于
      [PATCH] md: fix is_mddev_idle calculation now that disk/sector accounting happens when request completes
      
      md needs to monitor the rate of requests to its devices when doing
      resync/recovery so that it can back-off when there is non-resync IO.  It
      does this by comparing resync IO, which it counts, with total IO which is
      taken from disk_stats.
      
      disk_stats were recently changed to account sectors when a request
      completes instead of when it is queued.  This upsets md's calculations.
      
      We could do the sync_io accounting at the end of requests too, but that has
      problems.  If an underlying device is an md array, the accounting will
      still be done when the request is submitted.  This could be changed for
      some raid levels, but it cannot be changed for raid0 or linear without
      substantial code changes.
      
      So instead, we increase the error that is_mddev_idle allows, up to the
      maximum amount of resync IO that can be in flight at any time.  The
      calculation is current fragile as each personality as different limits for
      in-flight resync.  This should be fixed up.
      
      For now, this simple patch fixes the problem.
      
      Increasing the error margin decreases the sensitivity to non-resync IO.  To
      partially compensate for this, the time to wait when non-resync IO is
      detected is increased so that less steady IO is required to keep the resync
      at bay.
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c0e48521
  3. 16 11月, 2005 2 次提交
  4. 09 11月, 2005 21 次提交
  5. 01 11月, 2005 1 次提交
    • J
      [BLOCK] Unify the seperate read/write io stat fields into arrays · a362357b
      Jens Axboe 提交于
      Instead of having ->read_sectors and ->write_sectors, combine the two
      into ->sectors[2] and similar for the other fields. This saves a branch
      several places in the io path, since we don't have to care for what the
      actual io direction is. On my x86-64 box, that's 200 bytes less text in
      just the core (not counting the various drivers).
      Signed-off-by: NJens Axboe <axboe@suse.de>
      a362357b
  6. 27 10月, 2005 1 次提交
  7. 20 10月, 2005 1 次提交
    • N
      [PATCH] Three one-liners in md.c · 6985c43f
      NeilBrown 提交于
      The main problem fixes is that in certain situations stopping md arrays may
      take longer than you expect, or may require multiple attempts.  This would
      only happen when resync/recovery is happening.
      
      This patch fixes three vaguely related bugs.
      
      1/ The recent change to use kthreads got the setting of the
         process name wrong.  This fixes it.
      2/ The recent change to use kthreads lost the ability for
         md threads to be signalled with SIG_KILL.  This restores that.
      3/ There is a long standing bug in that if:
          - An array needs recovery (onto a hot-spare) and
          - The recovery is being blocked because some other array being
             recovered shares a physical device and
          - The recovery thread is killed with SIG_KILL
         Then the recovery will appear to have completed with no IO being
         done, which can cause data corruption.
         This patch makes sure that incomplete recovery will be treated as
         incomplete.
      
      Note that any kernel affected by bug 2 will not suffer the problem of bug
      3, as the signal can never be delivered.  Thus the current 2.6.14-rc
      kernels are not susceptible to data corruption.  Note also that if arrays
      are shutdown (with "mdadm -S" or "raidstop") then the problem doesn't
      occur.  It only happens if a SIGKILL is independently delivered as done by
      'init' when shutting down.
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6985c43f
  8. 11 9月, 2005 1 次提交
  9. 10 9月, 2005 11 次提交