[PATCH] device-mapper multipath: Avoid possible suspension deadlock
authorAlasdair G Kergon <agk@redhat.com>
Tue, 12 Jul 2005 22:53:03 +0000 (15:53 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 12 Jul 2005 23:19:10 +0000 (16:19 -0700)
commit436d41087d047b61f8ab0604dc74fff3240a8933
tree46bab3a0cf02a7514b4faa5470a76326e6f8bc72
parenta044d016896d2717694003f00d31a98194077511
[PATCH] device-mapper multipath: Avoid possible suspension deadlock

To avoid deadlock when suspending a multipath device after all its paths have
failed, stop queueing any I/O that is about to fail *before* calling
freeze_bdev instead of after.

Instead of setting a multipath 'suspended' flag which would have to be reset
if an error occurs during the process, save the previous queueing state and
leave userspace to restore if it wishes.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/dm-mpath.c
drivers/md/dm.c