diff options
author | Hannes Reinecke <hare@suse.de> | 2013-07-10 22:41:15 (GMT) |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2013-07-10 22:41:15 (GMT) |
commit | 6c182cd88d179cbbd06f4f8a8a19b6977940753f (patch) | |
tree | 27971aeafbdd2410699e77477565157c67d8ffea /drivers/char/dtlk.c | |
parent | 8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff) | |
download | linux-fsl-qoriq-6c182cd88d179cbbd06f4f8a8a19b6977940753f.tar.xz |
dm mpath: fix ioctl deadlock when no paths
When multipath needs to retry an ioctl the reference to the
current live table needs to be dropped. Otherwise a deadlock
occurs when all paths are down:
- dm_blk_ioctl takes a reference to the current table
and spins in multipath_ioctl().
- A new table is being loaded, but upon resume the process
hangs in dm_table_destroy() waiting for references to
drop to zero.
With this patch the reference to the old table is dropped
prior to retry, thereby avoiding the deadlock.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/char/dtlk.c')
0 files changed, 0 insertions, 0 deletions