Jeff Mahoney cea67ab92d btrfs: clean the old superblocks before freeing the device
btrfs_rm_device frees the block device but then re-opens it using
the saved device name.  A race exists between the close and the
re-open that allows the block size to be changed.  The result
is getting stuck forever in the reclaim loop in __getblk_slow.

This patch moves the superblock cleanup before closing the block
device, which is also consistent with other callers.  We also don't
need a private copy of dev_name as the whole routine operates under
the uuid_mutex.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-09-26 18:08:44 +02:00
..
2016-05-20 17:58:30 -07:00
2016-08-07 10:03:31 -04:00
2016-09-05 13:55:20 +02:00
2016-09-15 15:49:28 -07:00
2016-07-27 09:53:35 -07:00
2016-06-07 22:07:09 -04:00
2016-07-28 17:38:16 -07:00
2016-08-07 10:13:14 -04:00
2016-08-04 19:59:06 -04:00
2016-06-20 17:11:29 -04:00
2016-07-01 10:24:18 -04:00
2016-06-21 09:23:11 +10:00
2016-08-07 10:03:31 -04:00
2016-08-07 10:13:14 -04:00
2016-08-26 17:39:35 -07:00
2016-07-26 16:19:19 -07:00
2016-08-07 10:03:31 -04:00