omfs: stop playing silly buggers with omfs_unlink() in ->rename()
commitcdb26496dba00d5c4375261be6518b3e94260444
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 4 Mar 2011 06:18:19 +0000 (4 01:18 -0500)
committerBob Copeland <me@bobcopeland.com>
Sat, 5 Mar 2011 21:23:39 +0000 (5 16:23 -0500)
treee712f23460c1632abbc02dab237eaebe924c60e1
parent013e4f4a285d8c7d952d8d7be9f10783a85b5d3c
omfs: stop playing silly buggers with omfs_unlink() in ->rename()

Since omfs directories are hashes of inodes and name is part of
inode, we have to remove inode from old directory before we can
put it into new one / under new name.  So instead of
bump i_nlink
call omfs_unlink, which does
omfs_delete_entry()
decrement i_nlink and mark parent dirty in case of success
decrement i_nlink if omfs_unlink failed and hadn't done it itself
let's just call omfs_delete_entry() and dirty the parent ourselves...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
fs/omfs/dir.c