patch-2.2.0-pre2 linux/fs/lockd/clntproc.c

Next file: linux/fs/lockd/host.c
Previous file: linux/fs/isofs/inode.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.0-pre1/linux/fs/lockd/clntproc.c linux/fs/lockd/clntproc.c
@@ -125,7 +125,8 @@
 
 	/* If we're cleaning up locks because the process is exiting,
 	 * perform the RPC call asynchronously. */
-	if (cmd == F_SETLK && fl->fl_type == F_UNLCK
+	if ((cmd == F_SETLK || cmd == F_SETLKW)
+	    && fl->fl_type == F_UNLCK
 	    && (current->flags & PF_EXITING)) {
 		sigfillset(&current->blocked);	/* Mask all signals */
 		recalc_sigpending(current);
@@ -144,7 +145,8 @@
 
 	if (cmd == F_GETLK) {
 		status = nlmclnt_test(call, fl);
-	} else if (cmd == F_SETLK && fl->fl_type == F_UNLCK) {
+	} else if ((cmd == F_SETLK || cmd == F_SETLKW)
+		   && fl->fl_type == F_UNLCK) {
 		status = nlmclnt_unlock(call, fl);
 	} else if (cmd == F_SETLK || cmd == F_SETLKW) {
 		call->a_args.block = (cmd == F_SETLKW)? 1 : 0;

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