version 1.168, 2013/12/14 22:04:03 |
version 1.169, 2014/01/17 10:55:02 |
Line 1549 nfsrv_create(struct nfsrv_descript *nfsd |
|
Line 1549 nfsrv_create(struct nfsrv_descript *nfsd |
|
pathbuf_destroy(nd.ni_pathbuf); |
pathbuf_destroy(nd.ni_pathbuf); |
nd.ni_pathbuf = NULL; |
nd.ni_pathbuf = NULL; |
} |
} |
vput(nd.ni_dvp); |
|
error = ENXIO; |
error = ENXIO; |
abort = 0; |
abort = 0; |
} |
} |
Line 1561 nfsrv_create(struct nfsrv_descript *nfsd |
|
Line 1560 nfsrv_create(struct nfsrv_descript *nfsd |
|
nd.ni_pathbuf = NULL; |
nd.ni_pathbuf = NULL; |
} |
} |
vp = nd.ni_vp; |
vp = nd.ni_vp; |
if (nd.ni_dvp == vp) |
|
vrele(nd.ni_dvp); |
|
else |
|
vput(nd.ni_dvp); |
|
abort = 0; |
abort = 0; |
if (!error && va.va_size != -1) { |
if (!error && va.va_size != -1) { |
error = nfsrv_access(vp, VWRITE, cred, |
error = nfsrv_access(vp, VWRITE, cred, |
Line 1586 nfsrv_create(struct nfsrv_descript *nfsd |
|
Line 1581 nfsrv_create(struct nfsrv_descript *nfsd |
|
error = VOP_GETATTR(vp, &va, cred); |
error = VOP_GETATTR(vp, &va, cred); |
vput(vp); |
vput(vp); |
} |
} |
|
if (nd.ni_dvp == vp) |
|
vrele(nd.ni_dvp); |
|
else |
|
vput(nd.ni_dvp); |
if (v3) { |
if (v3) { |
if (exclusive_flag && !error) { |
if (exclusive_flag && !error) { |
/* |
/* |
Line 1721 nfsrv_mknod(struct nfsrv_descript *nfsd, |
|
Line 1720 nfsrv_mknod(struct nfsrv_descript *nfsd, |
|
error = EEXIST; |
error = EEXIST; |
abort: |
abort: |
VOP_ABORTOP(nd.ni_dvp, &nd.ni_cnd); |
VOP_ABORTOP(nd.ni_dvp, &nd.ni_cnd); |
if (nd.ni_dvp == nd.ni_vp) |
|
vrele(nd.ni_dvp); |
|
else |
|
vput(nd.ni_dvp); |
|
if (nd.ni_vp) |
if (nd.ni_vp) |
vput(nd.ni_vp); |
vput(nd.ni_vp); |
if (nd.ni_pathbuf != NULL) { |
if (nd.ni_pathbuf != NULL) { |
|
|
error = VOP_GETATTR(vp, &va, cred); |
error = VOP_GETATTR(vp, &va, cred); |
vput(vp); |
vput(vp); |
} |
} |
|
if (nd.ni_dvp == nd.ni_vp) |
|
vrele(nd.ni_dvp); |
|
else |
|
vput(nd.ni_dvp); |
if (dirp) { |
if (dirp) { |
vn_lock(dirp, LK_SHARED | LK_RETRY); |
vn_lock(dirp, LK_SHARED | LK_RETRY); |
diraft_ret = VOP_GETATTR(dirp, &diraft, cred); |
diraft_ret = VOP_GETATTR(dirp, &diraft, cred); |
|
|
vput(nd.ni_vp); |
vput(nd.ni_vp); |
} |
} |
} |
} |
|
vput(nd.ni_dvp); |
out: |
out: |
if (pathcp) |
if (pathcp) |
free(pathcp, M_TEMP); |
free(pathcp, M_TEMP); |
Line 2475 nfsrv_mkdir(struct nfsrv_descript *nfsd, |
|
Line 2475 nfsrv_mkdir(struct nfsrv_descript *nfsd, |
|
error = VOP_GETATTR(vp, &va, cred); |
error = VOP_GETATTR(vp, &va, cred); |
vput(vp); |
vput(vp); |
} |
} |
|
vput(nd.ni_dvp); |
out: |
out: |
if (dirp) { |
if (dirp) { |
if (v3) { |
if (v3) { |