On 03/08/2017 08:52 AM, Omar Sandoval wrote: > On 03/08/2017 07:47 AM, Jens Axboe wrote: >> On 03/08/2017 08:39 AM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: >>> >>> This is a note to let you know that I've just added the patch titled >>> >>> loop: fix LO_FLAGS_PARTSCAN hang >>> >>> to the 4.10-stable tree which can be found at: >>> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary >>> >>> The filename of the patch is: >>> loop-fix-lo_flags_partscan-hang.patch >>> and it can be found in the queue-4.10 subdirectory. >>> >>> If you, or anyone else, feels it should not be added to the stable tree, >>> please let <stable@xxxxxxxxxxxxxxx> know about it. >>> >>> >>> From e02898b423802b1f3a3aaa7f16e896da069ba8f7 Mon Sep 17 00:00:00 2001 >>> From: Omar Sandoval <osandov@xxxxxx> >>> Date: Wed, 1 Mar 2017 10:42:38 -0800 >>> Subject: loop: fix LO_FLAGS_PARTSCAN hang >>> >>> From: Omar Sandoval <osandov@xxxxxx> >>> >>> commit e02898b423802b1f3a3aaa7f16e896da069ba8f7 upstream. >>> >>> 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@xxxxxxxxxx> >>> Signed-off-by: Omar Sandoval <osandov@xxxxxx> >>> Reviewed-by: Ming Lei <tom.leiming@xxxxxxxxx> >>> Signed-off-by: Jens Axboe <axboe@xxxxxx> >>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> >> Why is this being added to a bunch of trees that don't have the commit >> that it fixes? It should not go into any of these. >> > > The commit it fixes was marked for stable, which is why I also marked this > one for stable. And it looks like that commit is also queued up for these > stable releases: > > http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/queue-4.10/block-loop-fix-race-between-i-o-and-set_status.patch > http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/queue-4.9/block-loop-fix-race-between-i-o-and-set_status.patch > http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/queue-4.4/block-loop-fix-race-between-i-o-and-set_status.patch > > So it should be okay. Ah yes, that makes sense, I missed that. -- Jens Axboe