]> git.baikalelectronics.ru Git - kernel.git/commit
ocfs2: manually d_move() during ocfs2_rename()
authorMark Fasheh <mark.fasheh@oracle.com>
Fri, 8 Sep 2006 21:22:54 +0000 (14:22 -0700)
committerMark Fasheh <mark.fasheh@oracle.com>
Sun, 24 Sep 2006 20:50:45 +0000 (13:50 -0700)
commit0c46134d6150b721741df3a543ae2b8090310f82
tree51b25c65e92b6d2b3281d175e517cb5699e4b9ee
parent4d468d3b7e02e68a45d7bdfd21bdee180f74a200
ocfs2: manually d_move() during ocfs2_rename()

Make use of FS_RENAME_DOES_D_MOVE to avoid a race condition that can occur
during ->rename() if we d_move() outside of the parent directory cluster
locks, and another node discovers the new name (created during the rename)
and unlinks it. d_move() will unconditionally rehash a dentry - which will
leave stale data in the system.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/dcache.c
fs/ocfs2/super.c