[PULL REQUEST] md updates for 3.13

From: NeilBrown
Date: Tue Nov 19 2013 - 18:28:19 EST


The following changes since commit 39cf275a1a18ba3c7eb9b986c5c9b35b57332798:

Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-11-12 10:20:12 +0900)

are available in the git repository at:


git://neil.brown.name/md/ tags/md/3.13

for you to fetch changes up to 60aaf933854511630e16be4efe0f96485e132de4:

md/raid5: Use conf->device_lock protect changing of multi-thread resources. (2013-11-19 15:19:18 +1100)

----------------------------------------------------------------
md update for 3.13.

Mostly optimisations and obscure bug fixes.
- raid5 gets less lock contention
- raid1 gets less contention between normal-io and resync-io
during resync.

----------------------------------------------------------------
Aurelien Jarno (1):
UAPI: include <asm/byteorder.h> in linux/raid/md_p.h

Bian Yu (1):
raid5: Retry R5_ReadNoMerge flag when hit a read error.

Joe Perches (1):
md: Convert use of typedef ctl_table to struct ctl_table

NeilBrown (5):
md: fix calculation of stacking limits on level change.
md/raid5.c: add proper locking to error path of raid5_start_reshape.
md: fix some places where mddev_lock return value is not checked.
md: use MD_RECOVERY_INTR instead of kthread_should_stop in resync thread.
md/raid5: avoid deadlock when raid5 array has unack badblocks during md_stop_writes.

Shaohua Li (3):
wait: add wait_event_cmd()
raid5: relieve lock contention in get_active_stripe()
raid5: relieve lock contention in get_active_stripe()

majianpeng (8):
raid5: Use slow_path to release stripe when mddev->thread is null
raid1: Add a field array_frozen to indicate whether raid in freeze state.
raid1: Replace raise_barrier/lower_barrier with freeze_array/unfreeze_array when reconfiguring the array.
raid1: Add some macros to make code clearly.
raid1: Rewrite the implementation of iobarrier.
md/raid5: For stripe with R5_ReadNoMerge, we replace REQ_FLUSH with REQ_NOMERGE.
md/raid5: Before freeing old multi-thread worker, it should flush them.
md/raid5: Use conf->device_lock protect changing of multi-thread resources.

drivers/md/md.c | 133 +++++++------
drivers/md/raid1.c | 162 +++++++++++++---
drivers/md/raid1.h | 15 ++
drivers/md/raid10.c | 6 +-
drivers/md/raid5.c | 420 +++++++++++++++++++++++++++++++----------
drivers/md/raid5.h | 16 +-
include/linux/wait.h | 25 +++
include/uapi/linux/raid/md_p.h | 1 +
8 files changed, 592 insertions(+), 186 deletions(-)

Attachment: signature.asc
Description: PGP signature