android_kernel_xiaomi_sm7250/include/linux/raid
NeilBrown e691063a61 md: support 'external' metadata for md arrays
- Add a state flag 'external' to indicate that the metadata is managed
  externally (by user-space) so important changes need to be
  left of user-space to handle.
  Alternates are non-persistant ('none') where there is no stable metadata -
  after the  array is stopped there is no record of it's status - and
  internal which can be version 0.90 or version 1.x
  These are selected by writing to the 'metadata' attribute.

- move the updating of superblocks (sync_sbs) to after we have checked if
  there are any superblocks or not.

- New array state 'write_pending'.  This means that the metadata records
  the array as 'clean', but a write has been requested, so the metadata has
  to be updated to record a 'dirty' array before the write can continue.
  This change is reported to md by writing 'active' to the array_state
  attribute.

- tidy up marking of sb_dirty:
   - don't set sb_dirty when resync finishes as md_check_recovery
     calls md_update_sb when the sync thread finishes anyway.
   - Don't set sb_dirty in multipath_run as the array might not be dirty.
   - don't mark superblock dirty when switching to 'clean' if there
     is no internal superblock (if external, userspace can choose to
     update the superblock whenever it chooses to).

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06 10:41:18 -08:00
..
bitmap.h md: Update md bitmap during resync. 2008-02-06 10:41:18 -08:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
linear.h
md_k.h md: support 'external' metadata for md arrays 2008-02-06 10:41:18 -08:00
md_p.h [PATCH] md: endian annotation for v1 superblock access 2006-10-21 13:35:05 -07:00
md_u.h [PATCH] md: the scheduled removal of the START_ARRAY ioctl for md 2006-10-03 08:04:16 -07:00
md.h [PATCH] md: fix potential memalloc deadlock in md 2007-01-26 13:51:00 -08:00
multipath.h
raid0.h
raid1.h [PATCH] md: Remove working_disks from raid1 state data 2006-10-03 08:04:17 -07:00
raid5.h md: handle_stripe5 - add request/completion logic for async read ops 2007-07-13 08:06:17 -07:00
raid10.h [PATCH] md: remove 'working_disks' from raid10 state 2006-10-03 08:04:17 -07:00
xor.h async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00