diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/nwfs/nwfs_io.c | 6 | ||||
-rw-r--r-- | sys/fs/smbfs/smbfs_io.c | 6 | ||||
-rw-r--r-- | sys/nfsclient/nfs_bio.c | 7 |
3 files changed, 9 insertions, 10 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c index ddd2b1b..5f8ab333 100644 --- a/sys/fs/nwfs/nwfs_io.c +++ b/sys/fs/nwfs/nwfs_io.c @@ -607,12 +607,12 @@ nwfs_vinvalbuf(vp, flags, cred, td, intrflg) /* struct nwmount *nmp = VTONWFS(vp);*/ int error = 0, slpflag, slptimeo; - VI_LOCK(vp); if (vp->v_iflag & VI_XLOCK) { - VI_UNLOCK(vp); +#ifdef INVARIANTS + backtrace(); +#endif return (0); } - VI_UNLOCK(vp); if (intrflg) { slpflag = PCATCH; diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index c5de3a6..e408bea 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -679,12 +679,12 @@ smbfs_vinvalbuf(vp, flags, cred, td, intrflg) struct smbnode *np = VTOSMB(vp); int error = 0, slpflag, slptimeo; - VI_LOCK(vp); if (vp->v_iflag & VI_XLOCK) { - VI_UNLOCK(vp); +#ifdef INVARIANTS + backtrace(); +#endif return 0; } - VI_UNLOCK(vp); if (intrflg) { slpflag = PCATCH; diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c index aee3625..9e613ad 100644 --- a/sys/nfsclient/nfs_bio.c +++ b/sys/nfsclient/nfs_bio.c @@ -1067,13 +1067,12 @@ nfs_vinvalbuf(struct vnode *vp, int flags, struct ucred *cred, ASSERT_VOP_LOCKED(vp, "nfs_vinvalbuf"); - VI_LOCK(vp); if (vp->v_iflag & VI_XLOCK) { - /* XXX Should we wait here? */ - VI_UNLOCK(vp); +#ifdef INVARIANTS + backtrace(); +#endif return (0); } - VI_UNLOCK(vp); if ((nmp->nm_flag & NFSMNT_INT) == 0) intrflg = 0; |