From: Andreas Gruenbacher ext3_xattr_delete_inode is called from ext3_free_inode which always has exclusive access to the inode, so there is no need to take the xattr semaphore. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton --- 25-akpm/fs/ext3/xattr.c | 2 -- 1 files changed, 2 deletions(-) diff -puN fs/ext3/xattr.c~ext3-ea-no-lock-needed-when-freeing-inode fs/ext3/xattr.c --- 25/fs/ext3/xattr.c~ext3-ea-no-lock-needed-when-freeing-inode 2005-01-23 14:46:35.299952144 -0800 +++ 25-akpm/fs/ext3/xattr.c 2005-01-23 14:46:35.303951536 -0800 @@ -1070,7 +1070,6 @@ ext3_xattr_delete_inode(handle_t *handle { struct buffer_head *bh = NULL; - down_write(&EXT3_I(inode)->xattr_sem); if (!EXT3_I(inode)->i_file_acl) goto cleanup; bh = sb_bread(inode->i_sb, EXT3_I(inode)->i_file_acl); @@ -1092,7 +1091,6 @@ ext3_xattr_delete_inode(handle_t *handle cleanup: brelse(bh); - up_write(&EXT3_I(inode)->xattr_sem); } /* _