aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-06-05 19:13:47 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:25 -0400
commitfc6ae3cf482c385a6fe87ba119d399bb85aa670b (patch)
tree0bd1f3392f1e4d2a902eb0e23a4978cfe91f1843
parent83d93f2229348837bf988a1048f7f38789474471 (diff)
NFS: Re-enable forced umounts
They disappeared some time around 2.6.18. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/super.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index ca20d3cc2609..14c7923697d2 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -430,7 +430,20 @@ static int nfs_show_stats(struct seq_file *m, struct vfsmount *mnt)
430 */ 430 */
431static void nfs_umount_begin(struct vfsmount *vfsmnt, int flags) 431static void nfs_umount_begin(struct vfsmount *vfsmnt, int flags)
432{ 432{
433 struct nfs_server *server = NFS_SB(vfsmnt->mnt_sb);
434 struct rpc_clnt *rpc;
435
433 shrink_submounts(vfsmnt, &nfs_automount_list); 436 shrink_submounts(vfsmnt, &nfs_automount_list);
437
438 if (!(flags & MNT_FORCE))
439 return;
440 /* -EIO all pending I/O */
441 rpc = server->client_acl;
442 if (!IS_ERR(rpc))
443 rpc_killall_tasks(rpc);
444 rpc = server->client;
445 if (!IS_ERR(rpc))
446 rpc_killall_tasks(rpc);
434} 447}
435 448
436/* 449/*