diff options
author | mohans <mohans@FreeBSD.org> | 2007-02-16 03:46:55 +0000 |
---|---|---|
committer | mohans <mohans@FreeBSD.org> | 2007-02-16 03:46:55 +0000 |
commit | fd33eed884334656fb17d85c03ab2281fc7d7760 (patch) | |
tree | ce24a14dbcc413f078d11b7a3be0224947928ac9 /sys/nfsclient/nfs_socket.c | |
parent | 52fe59efde830f44607f3510e9ec916166bb6a74 (diff) | |
download | FreeBSD-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.c | 6 |
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) |