Re: Hang during rm on ext2 mounted sync (2.6.14-rc2+)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 24, 2005 at 01:14:31PM +0100, Chris Sykes wrote:
> After many compile reboot cycles, git-bisect tells me that the
> offending cset is 10f47e6a1b8b276323b652053945c87a63a5812d:
>     [PATCH] ext2: Enable atomic inode security labeling
> 
> I'll do some more testing to verify.

Latest kernel from git (2.6.14-rc2-g87e807b6) still causes the problem
for me.  Reversing cset 10f47e6a1b8b276323b652053945c87a63a5812d fixes
it for me.

I'll build a kernel with CONFIG_EXT2_FS_XATTR disabled and see if that
also makes the issue go away.

I have a question though.  When looking at the code in
fs/ext2/ialloc.c for ext2_new_inode().  The failure path for
ext2_init_acl() includes a DQUOT_DROP(), but the failure path for
ext2_init_security() does not. e.g.:

        err = ext2_init_acl(inode, dir);
        if (err) { 
                DQUOT_FREE_INODE(inode);
                DQUOT_DROP(inode);
                goto fail2;
        }
        err = ext2_init_security(inode,dir);
        if (err) { 
                DQUOT_FREE_INODE(inode);
                goto fail2;
        }

Is this right?  Or should we really have the following:

Signed-off-by: Chris Sykes <[email protected]>

diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
--- a/fs/ext2/ialloc.c
+++ b/fs/ext2/ialloc.c
@@ -618,6 +618,7 @@ got:
 	err = ext2_init_security(inode,dir);
 	if (err) {
 		DQUOT_FREE_INODE(inode);
+		DQUOT_DROP(inode);
 		goto fail2;
 	}
 	mark_inode_dirty(inode);


-- 

(o-  Chris Sykes
//\       "Don't worry. Everything is getting nicely out of control ..."
V_/_                          Douglas Adams - The Salmon of Doubt
GPG Fingerprint: 5E8E D17F F96C CC08 911D  CAF2 9049 70D8 5143 8090

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux