linux-attempt-to-support-forcible-umount-20010828
authorDerrick Brashear <shadow@dementia.org>
Tue, 28 Aug 2001 19:03:49 +0000 (19:03 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 28 Aug 2001 19:03:49 +0000 (19:03 +0000)
not well tested, likely neither complete nor 100% correct.

src/afs/LINUX/osi_vfsops.c

index 4743782..f43367f 100644 (file)
@@ -332,6 +332,14 @@ int afs_statfs(struct super_block *sbp, struct statfs *statp, int size)
 }
 
 
+void 
+afs_umount_begin(struct super_block *sbp)
+{
+    afs_shuttingdown=1;
+    afs_put_super(sbp);      
+    afs_was_mounted=0;
+}
+
 #if defined(AFS_LINUX24_ENV)
 struct super_operations afs_sops = {
     read_inode:        afs_read_inode,
@@ -339,6 +347,7 @@ struct super_operations afs_sops = {
     delete_inode:      afs_delete_inode,
     put_super:         afs_put_super,
     statfs:            afs_statfs,
+    umount_begin:      afs_umount_begin,
 };
 #else
 struct super_operations afs_sops = {
@@ -352,7 +361,7 @@ struct super_operations afs_sops = {
     afs_statfs,
     NULL,              /* afs_remount_fs - see doc above */
     NULL,              /* afs_clear_inode */
-    NULL,              /* afs_umount_begin */
+    afs_umount_begin,
 };
 #endif