patch-2.1.34 linux/fs/nfs/inode.c

Next file: linux/fs/nfs/mount_clnt.c
Previous file: linux/fs/nfs/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.33/linux/fs/nfs/inode.c linux/fs/nfs/inode.c
@@ -83,12 +83,14 @@
 void
 nfs_put_super(struct super_block *sb)
 {
+	struct nfs_server *server = &sb->u.nfs_sb.s_server;
 	struct rpc_clnt	*rpc;
 
-	if ((rpc = sb->u.nfs_sb.s_server.client) != NULL)
+	if ((rpc = server->client) != NULL)
 		rpc_shutdown_client(rpc);
 
-	lockd_down();		/* release rpc.lockd */
+	if (!(server->flags & NFS_MOUNT_NONLM))
+		lockd_down();	/* release rpc.lockd */
 	rpciod_down();		/* release rpciod */
 	lock_super(sb);
 	sb->s_dev = 0;
@@ -230,7 +232,8 @@
 
 	if ((sb->s_mounted = nfs_fhget(sb, &data->root, NULL)) != NULL) {
 		/* We're airborne */
-		lockd_up();
+		if (!(server->flags & NFS_MOUNT_NONLM))
+			lockd_up();
 		return sb;
 	}
 

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