[dm-devel] Re: [PATCH] dm: fix freeze_bdev() return value check
Christoph Hellwig
hch at infradead.org
Tue Sep 25 15:56:24 UTC 2007
On Tue, Sep 25, 2007 at 05:52:29PM +0200, Milan Broz wrote:
> Akinobu Mita wrote:
> > 2007/9/24, Akinobu Mita <akinobu.mita at gmail.com>:
> >> freeze_bdev() does not return errno as pointer on failure.
> >> This patch fixes the return value check.
> >
> ...
> > But there is no reason to check the return value with IS_ERR().
> > Because freeze_bdev return NULL or valid super block
>
> Yes, but there is another place in kernel using this check
> (see /fs/xfs/xfs_fsops.c)
>
> Probably question for Christoph Hellwig - some changes related to
> returning error in frezze_bdev() were planned but never commited.
> (see list archive)
>
> Otherwise test for IS_ERR() should be removed.
The plan was to change freeze_bdev to do a trylock un s_umount_sem
and return SBUSY if it fails to avoid the deadlock scenario where
people called xfs_freeze and got another freeze request from dm.
I don't remember why this never got it, it's probably worth sending
a patch like this again.
More information about the dm-devel
mailing list