Mathieu Desnoyers
29a7f3ada7
DebugFS : file/directory removal fix
...
Fix file and directory removal in debugfs. Add inotify support for file removal.
The following scenario :
create dir a
create dir a/b
cd a/b (some process goes in cwd a/b)
rmdir a/b
rmdir a
fails due to the fact that "a" appears to be non empty. It is because
the "b" dentry is not deleted from "a" and still in use. The same
problem happens if "b" is a file. d_delete is nice enough to know when
it needs to unhash and free the dentry if nothing else is using it or,
if someone is using it, to remove it from the hash queues and wait for
it to be deleted when it has no users.
The nice side-effect of this fix is that it calls the file removal
notification.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-13 15:38:45 -08:00
..
9p
[PATCH] 9p: change uses of f_{dentry,vfsmnt} to use f_path
2006-12-08 08:28:43 -08:00
adfs
[PATCH] struct path: convert adfs
2006-12-08 08:28:43 -08:00
affs
[PATCH] affs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:43 -08:00
afs
[PATCH] rename struct namespace to struct mnt_namespace
2006-12-08 08:28:51 -08:00
autofs
[PATCH] autofs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:43 -08:00
autofs4
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
befs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
bfs
[PATCH] update Tigran's email addresses
2006-12-13 09:05:53 -08:00
cifs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
coda
[PATCH] struct path: convert coda
2006-12-08 08:28:44 -08:00
configfs
[PATCH] configfs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:43 -08:00
cramfs
[PATCH] struct path: convert cramfs
2006-12-08 08:28:44 -08:00
debugfs
DebugFS : file/directory removal fix
2006-12-13 15:38:45 -08:00
devpts
dlm
Merge master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
2006-12-07 09:13:20 -08:00
ecryptfs
[PATCH] ecryptfs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:43 -08:00
efs
[PATCH] struct path: convert efs
2006-12-08 08:28:45 -08:00
exportfs
ext2
[PATCH] LOG2: Implement a general integer log2 facility in the kernel
2006-12-08 08:28:51 -08:00
ext3
[PATCH] LOG2: Implement a general integer log2 facility in the kernel
2006-12-08 08:28:51 -08:00
ext4
[PATCH] ext4: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:41 -08:00
fat
[PATCH] fat: change uses of f_{dentry,vfsmnt} to use f_path
2006-12-08 08:28:41 -08:00
freevxfs
[PATCH] struct path: convert freevxfs
2006-12-08 08:28:45 -08:00
fuse
[PATCH] struct path: convert fuse
2006-12-08 08:28:45 -08:00
gfs2
[PATCH] struct path: convert gfs2
2006-12-08 08:28:45 -08:00
hfs
[PATCH] struct path: convert hfs
2006-12-08 08:28:45 -08:00
hfsplus
[PATCH] struct path: convert hfsplus
2006-12-08 08:28:45 -08:00
hostfs
[PATCH] struct path: convert hostfs
2006-12-08 08:28:45 -08:00
hpfs
[PATCH] struct path: convert hpfs
2006-12-08 08:28:45 -08:00
hppfs
[PATCH] struct path: convert hppfs
2006-12-08 08:28:45 -08:00
hugetlbfs
[PATCH] struct path: convert hugetlbfs
2006-12-08 08:28:45 -08:00
isofs
[PATCH] isofs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:41 -08:00
jbd
[PATCH] user of the jiffies rounding code: JBD
2006-12-10 09:57:22 -08:00
jbd2
[PATCH] jbd2: wait for already submitted t_sync_datalist buffer to complete
2006-12-07 08:39:42 -08:00
jffs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
jffs2
[PATCH] struct path: convert jffs2
2006-12-08 08:28:46 -08:00
jfs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
lockd
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
minix
[PATCH] struct path: convert minix
2006-12-08 08:28:47 -08:00
msdos
ncpfs
[PATCH] ncpfs: ensure we free wdog_pid on parse_option or fill_inode failure
2006-12-13 09:05:53 -08:00
nfs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
nfs_common
nfsd
[PATCH] knfsd: Fix up some bit-rot in exp_export
2006-12-13 09:05:54 -08:00
nls
[PATCH] fs: make nls_cp936.c handle some U00XY characters and U20AC correctly
2006-12-07 08:39:46 -08:00
ntfs
[PATCH] ntfs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
ocfs2
[PATCH] Fix numerous kcalloc() calls, convert to kzalloc()
2006-12-13 09:05:52 -08:00
openpromfs
[PATCH] struct path: convert openpromfs
2006-12-08 08:28:48 -08:00
partitions
[MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines
2006-12-09 01:03:58 +00:00
proc
Make SLES9 "get_kernel_version" work on the kernel binary again
2006-12-11 11:34:11 -08:00
qnx4
[PATCH] struct path: convert qnx4
2006-12-08 08:28:48 -08:00
ramfs
[PATCH] struct path: convert ramfs
2006-12-08 08:28:49 -08:00
reiserfs
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
romfs
[PATCH] struct path: convert romfs
2006-12-08 08:28:49 -08:00
smbfs
[PATCH] smbfs: Make conn_pid a struct pid
2006-12-13 09:05:53 -08:00
sysfs
[PATCH] sysfs: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:41 -08:00
sysv
[PATCH] struct path: convert sysv
2006-12-08 08:28:50 -08:00
udf
[PATCH] struct path: convert udf
2006-12-08 08:28:50 -08:00
ufs
[PATCH] struct path: convert ufs
2006-12-08 08:28:50 -08:00
vfat
xfs
[PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED
2006-12-10 09:57:21 -08:00
aio.c
[PATCH] Use activate_mm() in fs/aio.c:use_mm()
2006-12-13 09:05:51 -08:00
attr.c
bad_inode.c
binfmt_aout.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
binfmt_elf.c
[PATCH] add process_session() helper routine
2006-12-08 08:28:51 -08:00
binfmt_elf_fdpic.c
fs: Convert kmalloc() + memset() to kzalloc() in fs/.
2006-12-12 20:07:35 +01:00
binfmt_em86.c
binfmt_flat.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
binfmt_misc.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
binfmt_script.c
binfmt_som.c
bio.c
[PATCH] optimize o_direct on block devices
2006-12-13 09:05:50 -08:00
block_dev.c
[PATCH] optimize o_direct on block devices
2006-12-13 09:05:50 -08:00
buffer.c
[PATCH] io-accounting: write-cancel accounting
2006-12-10 09:55:41 -08:00
char_dev.c
compat.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
compat_ioctl.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
dcache.c
[PATCH] dcache: avoid RCU for never-hashed dentries
2006-12-07 08:39:41 -08:00
dcookies.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
direct-io.c
[PATCH] dio: lock refcount operations
2006-12-10 09:57:21 -08:00
dnotify.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
dquot.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
drop_caches.c
eventpoll.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
exec.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
fcntl.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
fifo.c
file.c
[PATCH] fdtable: Implement new pagesize-based fdtable allocator
2006-12-10 09:57:22 -08:00
file_table.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
filesystems.c
fs-writeback.c
generic_acl.c
inode.c
[PATCH] relative atime
2006-12-13 09:05:50 -08:00
inotify.c
[PATCH] severing fs.h, radix-tree.h -> sched.h
2006-12-04 02:00:24 -05:00
inotify_user.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
internal.h
ioctl.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
ioprio.c
Kconfig
kconfig: Standardize "depends" -> "depends on" in Kconfig files
2006-12-12 20:04:19 +01:00
Kconfig.binfmt
libfs.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
locks.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
Makefile
[PATCH] fsstack: Introduce fsstack_copy_{attr,inode}_*
2006-12-08 08:28:40 -08:00
mbcache.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
mpage.c
namei.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
namespace.c
[PATCH] relative atime
2006-12-13 09:05:50 -08:00
nfsctl.c
no-block.c
open.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
pipe.c
[PATCH] constify pipe_buf_operations
2006-12-13 09:05:47 -08:00
pnode.c
[PATCH] rename struct namespace to struct mnt_namespace
2006-12-08 08:28:51 -08:00
pnode.h
[PATCH] rename struct namespace to struct mnt_namespace
2006-12-08 08:28:51 -08:00
posix_acl.c
quota.c
quota_v1.c
quota_v2.c
read_write.c
[PATCH] one more EXPORT_UNUSED_SYMBOL removal
2006-12-13 09:05:53 -08:00
read_write.h
readdir.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
select.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
seq_file.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
splice.c
[PATCH] constify pipe_buf_operations
2006-12-13 09:05:47 -08:00
stack.c
[PATCH] fsstack: Introduce fsstack_copy_{attr,inode}_*
2006-12-08 08:28:40 -08:00
stat.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
super.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
sync.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
utimes.c
[PATCH] severing fs.h, radix-tree.h -> sched.h
2006-12-04 02:00:24 -05:00
xattr.c
[PATCH] VFS: change struct file to use struct path
2006-12-08 08:28:41 -08:00
xattr_acl.c