[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160805201447.GC7999@amd>
Date: Fri, 5 Aug 2016 22:14:47 +0200
From: Pavel Machek <pavel@....cz>
To: Charles Gong <cggong@...com>
Cc: Alexander Viro <viro@...iv.linux.org.uk>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-team@...com, Christoph Hellwig <hch@....de>
Subject: Re: [PATCH] Fix sysrq emergency thaw
On Wed 2016-07-20 16:11:16, 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, so fix 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.
>
> The regression was introduced in commit 4504230a7156 ("freeze_bdev: grab
> active reference to frozen superblocks").
>
> Reviewed-by: Chris Mason <clm@...com>
> Signed-off-by: Charles Gong <cggong@...com>
Acked-by: Pavel Machek <pavel@....cz>
(even magic should be finite...)
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Powered by blists - more mailing lists