dm: submit stacked requests in irq enabled context
authorKeith Busch <keith.busch@intel.com>
Fri, 17 Oct 2014 23:46:36 +0000 (17:46 -0600)
committerMike Snitzer <snitzer@redhat.com>
Mon, 9 Feb 2015 18:06:47 +0000 (13:06 -0500)
commit2eb6e1e3aa873f2bb62075bebe17fa108ee07374
treebaa8b4216daa574b9e5ee7591f85a8beb7758d6b
parent1ae49ea2cf3ef097d4496981261a400f1f988b84
dm: submit stacked requests in irq enabled context

Switch to having request-based DM enqueue all prep'ed requests into work
processed by another thread.  This allows request-based DM to invoke
block APIs that assume interrupt enabled context (e.g. blk_get_request)
and is a prerequisite for adding blk-mq support to request-based DM.

The new kernel thread is only initialized for request-based DM devices.

multipath_map() is now always in irq enabled context so change multipath
spinlock (m->lock) locking to always disable interrupts.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-mpath.c
drivers/md/dm.c