[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
rpms/kernel/devel kernel-2.6.spec, 1.2478, 1.2479 linux-2.6-nfs-superblock-unmount-optimization.patch, 1.2, 1.3
- From: fedora-cvs-commits redhat com
- To: fedora-cvs-commits redhat com
- Subject: rpms/kernel/devel kernel-2.6.spec, 1.2478, 1.2479 linux-2.6-nfs-superblock-unmount-optimization.patch, 1.2, 1.3
- Date: Mon, 31 Jul 2006 13:29:23 -0400
Author: davej
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv26208
Modified Files:
kernel-2.6.spec
linux-2.6-nfs-superblock-unmount-optimization.patch
Log Message:
VFS: Destroy the dentries contributed by a superblock on unmounting [try #2]
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2478
retrieving revision 1.2479
diff -u -r1.2478 -r1.2479
--- kernel-2.6.spec 30 Jul 2006 08:18:54 -0000 1.2478
+++ kernel-2.6.spec 31 Jul 2006 17:29:21 -0000 1.2479
@@ -1662,6 +1662,9 @@
%endif
%changelog
+* Mon Jul 31 2006 Dave Jones <davej redhat com>
+- VFS: Destroy the dentries contributed by a superblock on unmounting [try #2]
+
* Sun Jul 30 2006 Jon Masters <jcm redhat com>
- Wasn't calling weak-modules properly.
- kabitool not being picked up (weird).
linux-2.6-nfs-superblock-unmount-optimization.patch:
fs/autofs4/autofs_i.h | 3 -
fs/autofs4/init.c | 2
fs/autofs4/inode.c | 22 +-------
fs/autofs4/waitq.c | 1
fs/dcache.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++
fs/super.c | 12 ++--
include/linux/dcache.h | 1
7 files changed, 143 insertions(+), 28 deletions(-)
Index: linux-2.6-nfs-superblock-unmount-optimization.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-nfs-superblock-unmount-optimization.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-nfs-superblock-unmount-optimization.patch 28 Jul 2006 21:41:06 -0000 1.2
+++ linux-2.6-nfs-superblock-unmount-optimization.patch 31 Jul 2006 17:29:21 -0000 1.3
@@ -145,9 +145,29 @@
static int autofs4_write(struct file *file, const void *addr, int bytes)
-Date: Thu, 27 Jul 2006 19:53:52 +0100
From: David Howells <dhowells redhat com>
-Subject: [RHEL5 PATCH 30/30] VFS: Destroy the dentries contributed by a superblock on unmounting
+Subject: [FC6/RHEL5 PATCH 30/30] VFS: Destroy the dentries contributed by a superblock on unmounting [try #2]
+Date: Mon, 31 Jul 2006 16:11:48 +0100
+
+The attached patch removes a bad check from the dcache dismantling patch [BZ
+200645].
+
+I stuck the check in the dcache umount shrinker because it seemed like a good
+idea not to let iput() see an inode still on an inotify watch list. However,
+this isn't actually a problem at that point, because the inode is pinned by
+the watcher, and won't go away when the dentry is destroyed.
+
+generic_shutdown_super() deals with such inodes afterwards by calling
+invalidate_inodes(), which calls inotify_unmount_inodes().
+
+This patch should replace the current dentry crunching patch.
+
+David
+
+
+VFS: Destroy the dentries contributed by a superblock on unmounting
+
+From: David Howells <dhowells redhat com>
The attached patch destroys all the dentries attached to a superblock in one go
by:
@@ -194,16 +214,16 @@
Acked-by: Ian Kent <raven themaw net>
---
- fs/dcache.c | 133 ++++++++++++++++++++++++++++++++++++++++++++++++
+ fs/dcache.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++++
fs/super.c | 12 ++--
include/linux/dcache.h | 1
- 3 files changed, 140 insertions(+), 6 deletions(-)
+ 3 files changed, 137 insertions(+), 6 deletions(-)
diff --git a/fs/dcache.c b/fs/dcache.c
-index 17b392a..780f014 100644
+index 17b392a..7579b87 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
-@@ -547,6 +547,139 @@ repeat:
+@@ -547,6 +547,136 @@ repeat:
}
/*
@@ -282,9 +302,6 @@
+
+ inode = dentry->d_inode;
+ if (inode) {
-+#ifdef CONFIG_INOTIFY
-+ BUG_ON(!list_empty(&inode->inotify_watches));
-+#endif
+ dentry->d_inode = NULL;
+ list_del_init(&dentry->d_alias);
+ if (dentry->d_op && dentry->d_op->d_iput)
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]