Eric W. Biederman
3790ee4bd8
proc: remove/Fix proc generic d_revalidate
...
Ultimately to implement /proc perfectly we need an implementation of
d_revalidate because files and directories can be removed behind the back
of the VFS, and d_revalidate is the only way we can let the VFS know that
this has happened.
Unfortunately the linux VFS can not cope with anything in the path to a
mount point going away. So a proper d_revalidate method that calls d_drop
also needs to call have_submounts which is moderately expensive, so you
really don't want a d_revalidate method that unconditionally calls it, but
instead only calls it when the backing object has really gone away.
proc generic entries only disappear on module_unload (when not counting the
fledgling network namespace) so it is quite rare that we actually encounter
that case and has not actually caused us real world trouble yet.
So until we get a proper test for keeping dentries in the dcache fix the
current d_revalidate method by completely removing it. This returns us to
the current status quo.
So with CONFIG_NETNS=n things should look as they have always looked.
For CONFIG_NETNS=y things work most of the time but there are a few rare
corner cases that don't behave properly. As the network namespace is
barely present in 2.6.24 this should not be a problem.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "Denis V. Lunev" <den@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-12-10 19:43:55 -08:00
..
9p
9p: use copy of the options value instead of original
2007-11-06 08:02:53 -06:00
adfs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
affs
fs: mark nibblemap const
2007-10-17 08:42:47 -07:00
afs
fs/afs/vlocation.c: fix off-by-one
2007-11-05 15:12:32 -08:00
autofs
Use task_pid_nr() instead of pid_nr(task_pid())
2007-10-19 11:53:43 -07:00
autofs4
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
befs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
bfs
regression: bfs endianness bug
2007-12-05 09:25:20 -08:00
cifs
regression: cifs endianness bug
2007-12-05 09:25:19 -08:00
coda
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
configfs
r/o bind mounts: filesystem helpers for custom 'struct file's
2007-10-17 08:43:04 -07:00
cramfs
fs/cramfs/inode.c: replace hardcoded value with preprocessor constant
2007-10-18 14:37:29 -07:00
debugfs
[PATCH] pass dentry to audit_inode()/audit_inode_child()
2007-10-21 02:37:18 -04:00
devpts
dlm
[DLM] lowcomms: Do not muck with sysctl_rmem_max.
2007-11-07 04:11:42 -08:00
ecryptfs
eCryptfs: cast page->index to loff_t instead of off_t
2007-11-14 18:45:36 -08:00
efs
exportfs: make struct export_operations const
2007-10-22 08:13:21 -07:00
exportfs
exportfs: update documentation
2007-10-22 08:13:21 -07:00
ext2
fix up ext2_fs.h for userspace after reservations backport
2007-11-29 09:24:53 -08:00
ext3
Fix 64KB blocksize in ext3 directories
2007-11-14 18:45:43 -08:00
ext4
Forbid user to change file flags on quota files
2007-11-14 18:45:38 -08:00
fat
exportfs: make struct export_operations const
2007-10-22 08:13:21 -07:00
freevxfs
fuse
fuse: fix attribute caching after rename
2007-11-29 09:24:54 -08:00
gfs2
exportfs: make struct export_operations const
2007-10-22 08:13:21 -07:00
hfs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
hfsplus
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
hostfs
uml: fix hostfs style
2007-10-16 09:43:07 -07:00
hpfs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
hppfs
hugetlbfs
hugetlb: allow bulk updating in hugetlb_*_quota()
2007-11-14 18:45:40 -08:00
isofs
exportfs: make struct export_operations const
2007-10-22 08:13:21 -07:00
jbd
jbd: Fix assertion failure in fs/jbd/checkpoint.c
2007-12-05 09:21:20 -08:00
jbd2
JBD2: debug code cleanup.
2007-10-17 18:49:59 -04:00
jffs2
Freezer: Fix JFFS2 garbage collector freezing issue (rev. 2)
2007-12-04 01:35:41 -05:00
jfs
Forbid user to change file flags on quota files
2007-11-14 18:45:38 -08:00
lockd
minix
limit minixfs printks on corrupted dir i_size
2007-10-17 08:42:53 -07:00
msdos
ncpfs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
nfs
NFS: Clean up new multi-segment direct I/O changes
2007-11-26 16:32:40 -05:00
nfs_common
nfsd
nfsd4: recheck for secure ports in fh_verify
2007-11-12 14:28:08 -08:00
nls
sparse pointer use of zero as null
2007-10-18 14:37:31 -07:00
ntfs
NTFS: Fix read regression.
2007-11-03 12:27:21 -07:00
ocfs2
remove nonsense force-casts from ocfs2
2007-12-05 09:25:20 -08:00
openpromfs
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
partitions
fs/partitions/sun.c endianness annotations
2007-10-14 12:41:51 -07:00
proc
proc: remove/Fix proc generic d_revalidate
2007-12-10 19:43:55 -08:00
qnx4
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
ramfs
Remove valueless definition of hard-selected RAMFS option
2007-10-17 08:42:56 -07:00
reiserfs
proc: fix proc_dir_entry refcounting
2007-12-05 09:21:20 -08:00
romfs
fs/romfs/inode.c: trivial improvements
2007-10-17 08:42:47 -07:00
smbfs
smbfs: fix debug builds
2007-11-14 18:45:43 -08:00
sysfs
sysfs: fix off-by-one error in fill_read_buffer()
2007-11-28 13:53:53 -08:00
sysv
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
udf
fs/udf/balloc.c: mark a variable as uninitialized_var()
2007-10-17 08:43:00 -07:00
ufs
ufs: fix nexstep dir block size
2007-12-05 09:21:18 -08:00
vfat
xfs
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
2007-12-10 10:18:27 -08:00
aio.c
aio: only account I/O wait time in read_events if there are active requests
2007-12-05 09:21:18 -08:00
anon_inodes.c
anon-inodes use open coded atomic_inc for the shared inode
2007-10-17 08:43:00 -07:00
attr.c
VFS: make notify_change pass ATTR_KILL_S*ID to setattr operations
2007-10-18 14:37:22 -07:00
bad_inode.c
binfmt_aout.c
core_pattern: ignore RLIMIT_CORE if core_pattern is a pipe
2007-10-17 08:42:50 -07:00
binfmt_elf.c
pid namespaces: changes to show virtual ids to user
2007-10-19 11:53:40 -07:00
binfmt_elf_fdpic.c
pid namespaces: changes to show virtual ids to user
2007-10-19 11:53:40 -07:00
binfmt_em86.c
Convert files to UTF-8 and some cleanups
2007-10-19 23:21:04 +02:00
binfmt_flat.c
binfmt_flat: warning fixes
2007-10-17 08:42:54 -07:00
binfmt_misc.c
Convert files to UTF-8 and some cleanups
2007-10-19 23:21:04 +02:00
binfmt_script.c
Convert files to UTF-8 and some cleanups
2007-10-19 23:21:04 +02:00
binfmt_som.c
core_pattern: ignore RLIMIT_CORE if core_pattern is a pipe
2007-10-17 08:42:50 -07:00
bio.c
bio: make freeing of ->bi_io_vec conditional in bio_free()
2007-10-16 11:03:52 +02:00
block_dev.c
Slab API: remove useless ctor parameter and reorder parameters
2007-10-17 08:42:45 -07:00
buffer.c
nobh: nobh_write_end fix
2007-10-21 08:54:05 -07:00
char_dev.c
mm: bdi init hooks
2007-10-17 08:42:45 -07:00
compat.c
compat_ioctl.c
tty: add the new termios2 ioctls to the compatible list.
2007-11-29 09:24:55 -08:00
dcache.c
dcache: don't expose uninitialized memory in /proc/<pid>/fd/<fd>
2007-10-22 08:13:18 -07:00
dcookies.c
direct-io.c
remove ZERO_PAGE
2007-10-16 09:42:53 -07:00
dnotify.c
dquot.c
quota: send messages via netlink
2007-10-17 08:42:56 -07:00
drop_caches.c
eventfd.c
eventpoll.c
fs/eventpoll.c: use list_for_each_entry() instead of list_for_each()
2007-10-19 11:53:38 -07:00
exec.c
vfs: coredumping fix
2007-11-28 10:58:01 -08:00
fcntl.c
pid namespaces: changes to show virtual ids to user
2007-10-19 11:53:40 -07:00
fifo.c
file.c
file_table.c
fs/file_table.c: use list_for_each_entry() instead of list_for_each()
2007-10-19 11:53:38 -07:00
filesystems.c
fs-writeback.c
Use helpers to obtain task pid in printks
2007-10-19 11:53:43 -07:00
generic_acl.c
inode.c
introduce I_SYNC
2007-10-17 08:43:02 -07:00
inotify.c
[PATCH] new helper - inotify_evict_watch()
2007-10-21 02:37:38 -04:00
inotify_user.c
change inotifyfs magic as the same magic is used for futexfs
2007-10-17 08:43:00 -07:00
internal.h
ioctl.c
ioprio.c
ioprio: allow sys_ioprio_set() value of 0 to reset ioprio setting
2007-11-07 13:54:07 +01:00
Kconfig
[PATCH] ocfs2: Remove expensive bitmap scanning
2007-11-27 16:47:02 -08:00
Kconfig.binfmt
libfs.c
exportfs: add new methods
2007-10-22 08:13:19 -07:00
locks.c
locks: fix possible infinite loop in posix deadlock detection
2007-10-30 09:04:18 -07:00
Makefile
Remove valueless definition of hard-selected RAMFS option
2007-10-17 08:42:56 -07:00
mbcache.c
fs: Fix to correct the mbcache entries counter
2007-10-25 15:18:29 -07:00
mpage.c
mm: buffered write cleanup
2007-10-16 09:42:54 -07:00
namei.c
[PATCH] pass dentry to audit_inode()/audit_inode_child()
2007-10-21 02:37:18 -04:00
namespace.c
[PATCH] new helpers - collect_mounts() and release_collected_mounts()
2007-10-21 02:37:25 -04:00
nfsctl.c
no-block.c
open.c
mark sys_open/sys_read exports unused
2007-11-14 18:45:42 -08:00
pipe.c
sched: affine sync wakeups
2007-10-15 17:00:19 +02:00
pnode.c
pnode.h
[PATCH] new helpers - collect_mounts() and release_collected_mounts()
2007-10-21 02:37:25 -04:00
posix_acl.c
quota.c
quota_v1.c
quota_v2.c
read_write.c
mark sys_open/sys_read exports unused
2007-11-14 18:45:42 -08:00
read_write.h
readdir.c
select.c
fs/select, remove unused macros
2007-10-19 11:53:41 -07:00
seq_file.c
[FS] seq_file: Introduce the seq_open_private()
2007-10-10 16:55:33 -07:00
signalfd.c
rename signalfd_siginfo fields
2007-10-17 08:43:01 -07:00
splice.c
Implement file posix capabilities
2007-10-17 08:43:07 -07:00
stack.c
stat.c
super.c
Convert files to UTF-8 and some cleanups
2007-10-19 23:21:04 +02:00
sync.c
timerfd.c
utimes.c
VFS: check nanoseconds in utimensat
2007-10-17 08:42:52 -07:00
xattr.c
[PATCH] pass dentry to audit_inode()/audit_inode_child()
2007-10-21 02:37:18 -04:00
xattr_acl.c