From a8bafa5d3b3c2e2bea6108482b9e0e11c37663d0 Mon Sep 17 00:00:00 2001 From: Rick Macklem Date: Mon, 18 Apr 2011 23:35:16 +0000 Subject: [PATCH] Revert r220761 since, as kib@ pointed out, the case of adding the check to nfsrpc_close() isn't useful. Also, the check in nfscl_getcl() must be more involved, since it needs to check before and after the acquisition of the refcnt on nfsc_lock, while the mutex that protects the client state data is held. --- sys/fs/nfsclient/nfs_clrpcops.c | 5 ----- sys/fs/nfsclient/nfs_clstate.c | 4 ---- sys/fs/nfsclient/nfs_clvfsops.c | 4 ---- 3 files changed, 13 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 097006457cd5..6e4c046cfd60 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -567,11 +567,6 @@ nfsrpc_close(vnode_t vp, int doclose, NFSPROC_T *p) if (vnode_vtype(vp) != VREG) return (0); - - /* For forced unmounts, just return. */ - if ((vp->v_mount->mnt_kern_flag & MNTK_UNMOUNTF) != 0) - return (0); - if (doclose) error = nfscl_doclose(vp, &clp, p); else diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 65427a73786c..8e9aa6ac885b 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -692,10 +692,6 @@ nfscl_getcl(vnode_t vp, struct ucred *cred, NFSPROC_T *p, int igotlock = 0, error, trystalecnt, clidinusedelay, i; u_int16_t idlen = 0; - /* For forced unmounts, just return an error. */ - if ((vnode_mount(vp)->mnt_kern_flag & MNTK_UNMOUNTF) != 0) - return (EPERM); - if (cred != NULL) { getcredhostuuid(cred, uuid, sizeof uuid); idlen = strlen(uuid); diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c index 858677624e7e..a37dd51a674d 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -1386,10 +1386,6 @@ nfs_sync(struct mount *mp, int waitfor) td = curthread; - /* For a forced unmount, just return EPERM. */ - if ((mp->mnt_kern_flag & MNTK_UNMOUNTF) != 0) - return (EPERM); - /* * Force stale buffer cache information to be flushed. */