diff options
| author | jwahlig <none@none> | 2007-10-02 15:44:31 -0700 |
|---|---|---|
| committer | jwahlig <none@none> | 2007-10-02 15:44:31 -0700 |
| commit | bed9e5350d439351ece4d9e66f79d04fe6d0334e (patch) | |
| tree | ce946009ee50a8aeb0383a0c46cd13378b35e9f8 /usr/src | |
| parent | 9f61ace3d4a30d1a805879021577f3f07a9bd258 (diff) | |
| download | illumos-joyent-bed9e5350d439351ece4d9e66f79d04fe6d0334e.tar.gz | |
6608311 nfs4_db.c assertion failed: e->refcnt > 1
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/fs/nfs/nfs4_state.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/nfs/nfs4_state.c b/usr/src/uts/common/fs/nfs/nfs4_state.c index 75d6e86e91..2674fa8de7 100644 --- a/usr/src/uts/common/fs/nfs/nfs4_state.c +++ b/usr/src/uts/common/fs/nfs/nfs4_state.c @@ -2298,7 +2298,8 @@ rfs4_findfile(vnode_t *vp, nfs_fh4 *fh, bool_t *create) mutex_exit(&vp->v_lock); if (fp) { rfs4_dbe_lock(fp->dbe); - if (rfs4_dbe_is_invalid(fp->dbe)) { + if (rfs4_dbe_is_invalid(fp->dbe) || + (rfs4_dbe_refcnt(fp->dbe) == 0)) { rfs4_dbe_unlock(fp->dbe); fp = NULL; } else { @@ -2331,7 +2332,8 @@ rfs4_findfile_withlock(vnode_t *vp, nfs_fh4 *fh, bool_t *create) mutex_exit(&vp->v_lock); if (fp) { rfs4_dbe_lock(fp->dbe); - if (rfs4_dbe_is_invalid(fp->dbe)) { + if (rfs4_dbe_is_invalid(fp->dbe) || + (rfs4_dbe_refcnt(fp->dbe) == 0)) { rfs4_dbe_unlock(fp->dbe); fp = NULL; } else { |
