]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: don't mess with i_nlink of unlocked inode in rename()
authorAl Viro <viro@ZenIV.linux.org.uk>
Fri, 4 Mar 2011 17:14:37 +0000 (17:14 +0000)
committerroot <Chris Mason chris.mason@oracle.com>
Mon, 28 Mar 2011 09:37:55 +0000 (05:37 -0400)
commit3b40b1e8d693422d3986e12700f7556d6582f6ba
treed3356c2aa2bbc64166b09647c8760f7a6941df44
parenta7f3f2ea7d40eea5c420e196a35c2c334fd4ec0b
btrfs: don't mess with i_nlink of unlocked inode in rename()

old_inode is not locked; it's not safe to play with its link
count.  Instead of bumping it and calling btrfs_unlink_inode(),
add a variant of the latter that does not do btrfs_drop_nlink()/
btrfs_update_inode(), call it instead of btrfs_inc_nlink()/
btrfs_unlink_inode() and do btrfs_update_inode() ourselves.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c