patch-2.1.110 linux/fs/super.c

Next file: linux/include/asm-alpha/apecs.h
Previous file: linux/fs/ntfs/fs.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.109/linux/fs/super.c linux/fs/super.c
@@ -656,6 +656,19 @@
 #endif
 
 	/*
+	 * If we may have to abort operations to get out of this
+	 * mount, and they will themselves hold resources we must
+	 * allow the fs to do things. In the Unix tradition of
+	 * 'Gee thats tricky lets do it in userspace' the umount_begin
+	 * might fail to complete on the first run through as other tasks
+	 * must return, and the like. Thats for the mount program to worry
+	 * about for the moment.
+	 */
+	 
+	if(sb->s_op->umount_begin)
+		sb->s_op->umount_begin(sb);
+
+	/*
 	 * Shrink dcache, then fsync. This guarantees that if the
 	 * filesystem is quiescent at this point, then (a) only the
 	 * root entry should be in use and (b) that root entry is
@@ -747,6 +760,8 @@
  * we give them the info they need without using a real inode.
  * If any other fields are ever needed by any block device release
  * functions, they should be faked here.  -- jrs
+ *
+ * For 2.3.x we want a new sys_umount syscall with flags (ie 'force')
  */
 
 asmlinkage int sys_umount(char * name)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov