Mercurial > illumos > nfs4.1
changeset 13909:2409cc2baf1a
nfs4[1]: OP_SAVEFH properly update saved fh from current fh
author | Dan Kruchinin <dan.kruchinin@nexenta.com> |
---|---|
date | Thu, 18 Aug 2011 00:55:35 +0300 |
parents | bbb5a8c3ecb4 |
children | 6472230c4878 |
files | usr/src/uts/common/fs/nfs/nfs41_srv.c usr/src/uts/common/fs/nfs/nfs4_srv.c |
diffstat | 2 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/fs/nfs/nfs41_srv.c Thu Aug 18 00:54:52 2011 +0300 +++ b/usr/src/uts/common/fs/nfs/nfs41_srv.c Thu Aug 18 00:55:35 2011 +0300 @@ -3887,9 +3887,8 @@ *cs->statusp = resp->status = NFS4ERR_NOFILEHANDLE; goto final; } - if (cs->saved_vp != NULL) { - VN_RELE(cs->saved_vp); - } + + rfs4_cs_invalidate_savedfh(cs); cs->saved_vp = cs->vp; VN_HOLD(cs->saved_vp); cs->saved_exi = cs->exi;
--- a/usr/src/uts/common/fs/nfs/nfs4_srv.c Thu Aug 18 00:54:52 2011 +0300 +++ b/usr/src/uts/common/fs/nfs/nfs4_srv.c Thu Aug 18 00:55:35 2011 +0300 @@ -4586,9 +4586,8 @@ *cs->statusp = resp->status = NFS4ERR_NOFILEHANDLE; goto out; } - if (cs->saved_vp != NULL) { - VN_RELE(cs->saved_vp); - } + + rfs4_cs_invalidate_savedfh(cs); cs->saved_vp = cs->vp; VN_HOLD(cs->saved_vp); cs->saved_exi = cs->exi;