md: don't return -EAGAIN in md_allow_write for external metadata arrays
authorArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Mon, 8 May 2017 09:56:55 +0000 (11:56 +0200)
committerShaohua Li <shli@fb.com>
Mon, 8 May 2017 17:32:59 +0000 (10:32 -0700)
commit2214c260c72b0bd94e6c1c19bf451686212025d3
tree829a3494857d6bd61c38171a39e2e207de585e38
parent3d05f3aed5d721c2c77d20288c29ab26c6193ed5
md: don't return -EAGAIN in md_allow_write for external metadata arrays

This essentially reverts commit b5470dc5fc18 ("md: resolve external
metadata handling deadlock in md_allow_write") with some adjustments.

Since commit 6791875e2e53 ("md: make reconfig_mutex optional for writes
to md sysfs files.") changing array_state to 'active' does not use
mddev_lock() and will not cause a deadlock with md_allow_write(). This
revert simplifies userspace tools that write to sysfs attributes like
"stripe_cache_size" or "consistency_policy" because it removes the need
for special handling for external metadata arrays, checking for EAGAIN
and retrying the write.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid5.c