NSM: Check result of SM_UNMON upcall
authorChuck Lever <chuck.lever@oracle.com>
Thu, 4 Dec 2008 19:21:46 +0000 (14:21 -0500)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Tue, 6 Jan 2009 16:53:52 +0000 (11:53 -0500)
Make sure any error returned by rpc.statd during an SM_UNMON call is
reported rather than ignored completely.  There isn't much to do with
such an error, but we should log it in any case.

Similar to a recent change to nsm_monitor().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/lockd/mon.c

index d61cdc61cb50686040e90d06df8036a0b0f19aa4..3bb71e1b1e1ff35568c2ed527196d0d815231bdc 100644 (file)
@@ -126,6 +126,8 @@ void nsm_unmonitor(const struct nlm_host *host)
                dprintk("lockd: nsm_unmonitor(%s)\n", nsm->sm_name);
 
                status = nsm_mon_unmon(nsm, SM_UNMON, &res);
+               if (res.status != 0)
+                       status = -EIO;
                if (status < 0)
                        printk(KERN_NOTICE "lockd: cannot unmonitor %s\n",
                                        nsm->sm_name);