On Thu, May 10, 2012 at 07:06:14AM -0700, Greg KH wrote:
> On Thu, May 10, 2012 at 01:36:31PM +0200, maximilian attems wrote:
> > From: Kazuya Mio <k-...@sx.jp.nec.com>
> > 
> > dd slept infinitely when fsfeeze failed because of EIO.
> > To fix this problem, if ->freeze_fs fails, freeze_super() wakes up
> > the tasks waiting for the filesystem to become unfrozen.
> > 
> > When s_frozen isn't SB_UNFROZEN in __generic_file_aio_write(),
> > the function sleeps until FITHAW ioctl wakes up s_wait_unfrozen.
> > 
> > However, if ->freeze_fs fails, s_frozen is set to SB_UNFROZEN and then
> > freeze_super() returns an error number. In this case, FITHAW ioctl returns
> > EINVAL because s_frozen is already SB_UNFROZEN. There is no way to wake up
> > s_wait_unfrozen, so __generic_file_aio_write() sleeps infinitely.
> > 
> > Signed-off-by: Kazuya Mio <k-...@sx.jp.nec.com>
> > Signed-off-by: Al Viro <v...@zeniv.linux.org.uk>
> > ---
> > Please consider for 3.2, seems to have been missed out there.
> > Shipps with >= 3.3 linux. Can be triggered with dd testcase.
> 
> 
> <formletter>
> 
> </formletter>

This is e1616300a20c80396109c1cf013ba9a36055a3da
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to