summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_socket.c
diff options
context:
space:
mode:
authormohans <mohans@FreeBSD.org>2007-02-16 03:46:55 +0000
committermohans <mohans@FreeBSD.org>2007-02-16 03:46:55 +0000
commitfd33eed884334656fb17d85c03ab2281fc7d7760 (patch)
treece24a14dbcc413f078d11b7a3be0224947928ac9 /sys/nfsclient/nfs_socket.c
parent52fe59efde830f44607f3510e9ec916166bb6a74 (diff)
downloadFreeBSD-src-fd33eed884334656fb17d85c03ab2281fc7d7760.zip
FreeBSD-src-fd33eed884334656fb17d85c03ab2281fc7d7760.tar.gz
Backing out an earlier change. It seems harmless for NFS to miss the "force
unmount" flag, making the acquisition of the MNT_ILOCK in nfs_request() and nfs_sigintr() unnecessary. Pointed out by tegge@.
Diffstat (limited to 'sys/nfsclient/nfs_socket.c')
-rw-r--r--sys/nfsclient/nfs_socket.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c
index 4422f06..6036050 100644
--- a/sys/nfsclient/nfs_socket.c
+++ b/sys/nfsclient/nfs_socket.c
@@ -1091,13 +1091,10 @@ nfs_request(struct vnode *vp, struct mbuf *mrest, int procnum,
u_int32_t *xidp;
/* Reject requests while attempting a forced unmount. */
- MNT_ILOCK(vp->v_mount);
if (vp->v_mount->mnt_kern_flag & MNTK_UNMOUNTF) {
- MNT_IUNLOCK(vp->v_mount);
m_freem(mrest);
return (ESTALE);
}
- MNT_IUNLOCK(vp->v_mount);
nmp = VFSTONFS(vp->v_mount);
if ((nmp->nm_flag & NFSMNT_NFSV4) != 0)
return nfs4_request(vp, mrest, procnum, td, cred, mrp, mdp, dposp);
@@ -1706,13 +1703,10 @@ nfs_sigintr(struct nfsmount *nmp, struct nfsreq *rep, struct thread *td)
mtx_unlock(&rep->r_mtx);
}
/* Terminate all requests while attempting a forced unmount. */
- MNT_ILOCK(nmp->nm_mountp);
if (nmp->nm_mountp->mnt_kern_flag & MNTK_UNMOUNTF) {
- MNT_IUNLOCK(nmp->nm_mountp);
error = EIO;
goto out;
}
- MNT_IUNLOCK(nmp->nm_mountp);
if (!(nmp->nm_flag & NFSMNT_INT))
goto out;
if (td == NULL)
OpenPOWER on IntegriCloud