Author: rmacklem
Date: Sat Apr 30 01:16:19 2011
New Revision: 221237
URL: http://svn.freebsd.org/changeset/base/221237

Log:
  MFC: r220731
  Add mutex locking on the nfs node in ncl_inactive() for the
  experimental NFS client.

Modified:
  stable/8/sys/fs/nfsclient/nfs_clnode.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/fs/nfsclient/nfs_clnode.c
==============================================================================
--- stable/8/sys/fs/nfsclient/nfs_clnode.c      Sat Apr 30 00:44:17 2011        
(r221236)
+++ stable/8/sys/fs/nfsclient/nfs_clnode.c      Sat Apr 30 01:16:19 2011        
(r221237)
@@ -202,12 +202,14 @@ ncl_inactive(struct vop_inactive_args *a
                (void) nfsrpc_close(vp, 1, ap->a_td);
        }
 
+       mtx_lock(&np->n_mtx);
        if (vp->v_type != VDIR) {
                sp = np->n_sillyrename;
                np->n_sillyrename = NULL;
        } else
                sp = NULL;
        if (sp) {
+               mtx_unlock(&np->n_mtx);
                (void) ncl_vinvalbuf(vp, 0, ap->a_td, 1);
                /*
                 * Remove the silly file that was rename'd earlier
@@ -216,8 +218,10 @@ ncl_inactive(struct vop_inactive_args *a
                crfree(sp->s_cred);
                vrele(sp->s_dvp);
                FREE((caddr_t)sp, M_NEWNFSREQ);
+               mtx_lock(&np->n_mtx);
        }
        np->n_flag &= NMODIFIED;
+       mtx_unlock(&np->n_mtx);
        return (0);
 }
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to