[PATCH] md: Don't write dirty/clean update to spares - leave them alone
authorNeilBrown <neilb@suse.de>
Mon, 26 Jun 2006 07:27:57 +0000 (00:27 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 26 Jun 2006 16:58:39 +0000 (09:58 -0700)
commit42543769142d2375f2b5f8fc9cac999f84bd4c4c
tree404606c37da872639111c5b641f07fff2ded1dff
parent07d84d109d8beedd68df9da2e4e9f25c8217e7fb
[PATCH] md: Don't write dirty/clean update to spares - leave them alone

- record the 'event' count on each individual device (they
  might sometimes be slightly different now)
- add a new value for 'sb_dirty': '3' means that the super
  block only needs to be updated to record a clean<->dirty
  transition.
- Prefer odd event numbers for dirty states and even numbers
  for clean states
- Using all the above, don't update the superblock on
  a spare device if the update is just doing a clean-dirty
  transition.  To accomodate this, a transition from
  dirty back to clean might now decrement the events counter
  if nothing else has changed.

The net effect of this is that spare drives will not see any IO requests
during normal running of the array, so they can go to sleep if that is what
they want to do.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/md.c
include/linux/raid/md_k.h