diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-04 07:31:03 +0100 |
---|---|---|
committer | Bob Copeland <me@bobcopeland.com> | 2011-03-05 22:24:01 +0100 |
commit | d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed (patch) | |
tree | 5024d697f1b3b6c8fcfe627718ece4020102df1b /fs/adfs/dir_f.c | |
parent | omfs: stop playing silly buggers with omfs_unlink() in ->rename() (diff) | |
download | linux-d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed.tar.xz linux-d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed.zip |
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>
Diffstat (limited to 'fs/adfs/dir_f.c')
0 files changed, 0 insertions, 0 deletions