diff options
author | Omar Sandoval <osandov@fb.com> | 2017-03-01 21:42:38 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-03-02 18:56:59 +0300 |
commit | e02898b423802b1f3a3aaa7f16e896da069ba8f7 (patch) | |
tree | aed54baf3504745565fd0d0d09785ed3c796014b /fs/block_dev.c | |
parent | 302ad8cc09339ea261eef58a8d5f4a116a8ffda5 (diff) | |
download | linux-e02898b423802b1f3a3aaa7f16e896da069ba8f7.tar.xz |
loop: fix LO_FLAGS_PARTSCAN hang
loop_reread_partitions() needs to do I/O, but we just froze the queue,
so we end up waiting forever. This can easily be reproduced with losetup
-P. Fix it by moving the reread to after we unfreeze the queue.
Fixes: ecdd09597a57 ("block/loop: fix race between I/O and set_status")
Reported-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions