On 07/15/2016 08:38 PM, Charles Gong wrote:
"SYSRQ + J" triggers a call to emergency_thaw_all(). Currently, this is an
infinite loop. Once we trigger it, we'll need to do a hard power-cycle. There
are users reporting this bug from 2012 to 2016, for example, at
https://bugzilla.kernel.org/show_bug.cgi?id=47741.

This happens because thaw_bdev() fails to return -EINVAL in the non-frozen case,
and I fixed it so that do_one_thaw() can recognize this case and quit from
looping. I checked that none of the other thaw_bdev() callers check the return
value.

Hi Charles,

Can you please resend this without the hunks that change only whitespace? Looks like your editor was properly killing off trailing whitespace, but that's not related to your fix.

Also, please reference the commit where the regression was introduced:

commit 4504230a71566785a05d3e6b53fa1ee071b864eb
Author: Christoph Hellwig <[email protected]>
Date:   Mon Aug 3 23:28:35 2009 +0200

    freeze_bdev: grab active reference to frozen superblocks

Then you can add:

Reviewed-by: Chris Mason <[email protected]>

Thanks!

-chris

Reply via email to