[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