[[NOTE to dm-devel people - one of the patches here remove some now-unused code from dm-raid.c plus a declaration from device-mapper.h ]]] On Mon, 18 Apr 2011 10:10:18 +0200 Jens Axboe <jaxboe@xxxxxxxxxxxx> wrote: > On 2011-04-18 09:25, NeilBrown wrote: > >>> Therefore md cannot put anything useful on the list in 'struct blk_plug'. > > > > That is the heart of the problem. > > Hmm, I don't really see a way to avoid the list in that case. You really > do need some way to queue items, a single callback or flag or pointer > will not suffice. > > I've added the patch and removed the (now) useless ->unplugged_fn > callback. I suggest you base your md changes on top of my for-linus > branch and tell me when you are confident it looks good, then I'll pull > in your MD changes and submit them later today. > > OK with you? > Yes, that's perfect. Thanks. All of my plugging-related patches are now in a 'for-jens' branch: The following changes since commit 99e22598e9a8e0a996d69c8c0f6b7027cb57720a: block: drop queue lock before calling __blk_run_queue() for kblockd punt (2011-04-18 09:59:55 +0200) are available in the git repository at: git://neil.brown.name/md for-jens NeilBrown (6): md: use new plugging interface for RAID IO. md/dm - remove remains of plug_fn callback. md - remove old plugging code. md: provide generic support for handling unplug callbacks. md: incorporate new plugging into raid5. md: fix up raid1/raid10 unplugging. drivers/md/dm-raid.c | 8 ---- drivers/md/md.c | 87 +++++++++++++++++++++------------------- drivers/md/md.h | 26 ++---------- drivers/md/raid1.c | 29 +++++++------- drivers/md/raid10.c | 27 ++++++------- drivers/md/raid5.c | 61 ++++++++++++---------------- drivers/md/raid5.h | 2 - include/linux/device-mapper.h | 1 - 8 files changed, 103 insertions(+), 138 deletions(-) Thanks, NeilBrown -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel