omfs: merge unlink() and rmdir(), close leak in rename()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 4 Mar 2011 06:31:03 +0000 (01:31 -0500)
committerBob Copeland <me@bobcopeland.com>
Sat, 5 Mar 2011 21:24:01 +0000 (16:24 -0500)
commitd932805b3dc8c6d80d8948f7d7d0d8336d53b2ed
tree5024d697f1b3b6c8fcfe627718ece4020102df1b
parentcdb26496dba00d5c4375261be6518b3e94260444
omfs: merge unlink() and rmdir(), close leak in rename()

In case of directory-overwriting rename(), omfs forgot to mark the
victim doomed, so omfs_evict_inode() didn't free it.

We could fix that by calling omfs_rmdir() for directory victims
instead of doing omfs_unlink(), but it's easier to merge omfs_unlink()
and omfs_rmdir() instead.  Note that we have no hardlinks here.

It also makes the checks in omfs_rename() go away - they fold into
what omfs_remove() does when it runs into a directory.

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