diff options
author | dfr <dfr@FreeBSD.org> | 2008-12-10 14:49:54 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2008-12-10 14:49:54 +0000 |
commit | 75eeed4f1f01cc78a826c4ab15d1ca640ac8f757 (patch) | |
tree | f4102a0882e55926b6d25e429cff29d2bdbfc602 /sys/nfsserver | |
parent | 9eeac0a77b32848e94b7eddc2a0a3692479ba6cc (diff) | |
download | FreeBSD-src-75eeed4f1f01cc78a826c4ab15d1ca640ac8f757.zip FreeBSD-src-75eeed4f1f01cc78a826c4ab15d1ca640ac8f757.tar.gz |
We need to pass a structure with enough space for an NFSv2 filehandle to
nfs_srvmtofh_xx otherwise bad things happen when an NFSv2 client tries to
make a request.
Diffstat (limited to 'sys/nfsserver')
-rw-r--r-- | sys/nfsserver/nfs_fha.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/nfsserver/nfs_fha.c b/sys/nfsserver/nfs_fha.c index 66e1d3f..27dc9b3 100644 --- a/sys/nfsserver/nfs_fha.c +++ b/sys/nfsserver/nfs_fha.c @@ -162,7 +162,7 @@ static void fha_extract_info(struct svc_req *req, struct fha_info *i) { struct mbuf *md = req->rq_args; - fhandle_t fh; + nfsfh_t fh; caddr_t dpos = mtod(md, caddr_t); static u_int64_t random_fh = 0; int error; @@ -205,11 +205,11 @@ fha_extract_info(struct svc_req *req, struct fha_info *i) goto out; /* Grab the filehandle. */ - error = nfsm_srvmtofh_xx(&fh, v3, &md, &dpos); + error = nfsm_srvmtofh_xx(&fh.fh_generic, v3, &md, &dpos); if (error) goto out; - i->fh = *(const u_int64_t *)(fh.fh_fid.fid_data); + i->fh = *(const u_int64_t *)(fh.fh_generic.fh_fid.fid_data); /* Content ourselves with zero offset for all but reads. */ if (procnum != NFSPROC_READ) |