lkml.org 
[lkml]   [2004]   [Apr]   [24]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSat, 24 Apr 2004 21:43:24 +0800 (WST)
From raven@themaw ...
SubjectRe: 2.6.6-rc2-mm1
On Fri, 23 Apr 2004, Christoph Hellwig wrote:

> 
> It's say keep may_umount as is, and do a no-argument may_umount_tree
> in namespace.c aswell.  As for what patches is best ask akpm.
> 

Incremental patch to revert previous may_umount_tree patch based on 
Christophs' further observation.

diff -Nur linux-2.6.6-rc1-mm1/fs/namespace.c linux-2.6.6-rc1-mm1.revert/fs/namespace.c
--- linux-2.6.6-rc1-mm1/fs/namespace.c	2004-04-22 21:06:09.000000000 +0800
+++ linux-2.6.6-rc1-mm1.revert/fs/namespace.c	2004-04-24 21:18:46.000000000 +0800
@@ -260,7 +260,15 @@
 	.show	= show_vfsmnt
 };
 
-static int __may_umount_tree(struct vfsmount *mnt, int root_mnt_only)
+/**
+ * may_umount_tree - check if a mount tree is busy
+ * @mnt: root of mount tree
+ *
+ * This is called to check if a tree of mounts has any
+ * open files, pwds, chroots or sub mounts that are
+ * also busy.
+ */
+int may_umount_tree(struct vfsmount *mnt)
 {
 	struct list_head *next;
 	struct vfsmount *this_parent = mnt;
@@ -271,12 +279,6 @@
 	actual_refs = atomic_read(&mnt->mnt_count);
 	minimum_refs = 2;
 
-	if (root_mnt_only) {
-		if (actual_refs > minimum_refs)
-			return -EBUSY;
-		return 0;
-	}
-
 repeat:
 	next = this_parent->mnt_mounts.next;
 resume:
@@ -307,19 +309,6 @@
 	return 0;
 }
 
-/**
- * may_umount_tree - check if a mount tree is busy
- * @mnt: root of mount tree
- *
- * This is called to check if a tree of mounts has any
- * open files, pwds, chroots or sub mounts that are
- * also busy.
- */
-int may_umount_tree(struct vfsmount *mnt)
-{
-	return __may_umount_tree(mnt, 0);
-}
-
 EXPORT_SYMBOL(may_umount_tree);
 
 /**
@@ -337,7 +326,9 @@
  */
 int may_umount(struct vfsmount *mnt)
 {
-	return __may_umount_tree(mnt, 1);
+	if (atomic_read(&mnt->mnt_count) > 2)
+		return -EBUSY;
+	return 0;
 }
 
 EXPORT_SYMBOL(may_umount);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:02    [from the cache]
©2003-2008