In response to Christoph, I've broken the read and writes into their own functions to make the code even cleaner. Since it is such a big change, I broke up the commits into this series instead of creating a v2 of the previous patch. Changes since v1: John Stoffel * Changed to if/then instead of return in raid1_make_request Neil Brown * Moved wait_barrier into raid1_{read,write}_request so that it could be after ->suspend_{hi,lo}. This prevents a write blocking a resync until the suspend region is moved. Robert LeBlanc (2): md/raid1: Refactor raid1_make_request md/raid10: Refactor raid10_make_request drivers/md/raid1.c | 241 ++++++++++++++++++++++++---------------------- drivers/md/raid10.c | 271 +++++++++++++++++++++++++++------------------------- 2 files changed, 264 insertions(+), 248 deletions(-) -- 2.10.2 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html