summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2009-11-20 21:21:13 +0000
committerrmacklem <rmacklem@FreeBSD.org>2009-11-20 21:21:13 +0000
commit483d9d96d0940b7f9eaeaeaaeec623809a34c436 (patch)
treeccc33c540c4280a4a4cf32e06f3e944aa501dce7 /sys/fs/nfs
parent2d93b6e4248fe243a13bad6aae36aed5e0d576f6 (diff)
downloadFreeBSD-src-483d9d96d0940b7f9eaeaeaaeec623809a34c436.zip
FreeBSD-src-483d9d96d0940b7f9eaeaeaaeec623809a34c436.tar.gz
Patch the experimental NFS server is a manner analagous to
r197525, so that the creation verifier is handled correctly in va_atime for 64bit architectures. There were two problems. One was that the code incorrectly assumed that sizeof (struct timespec) == 8 and the other was that the tv_sec field needs to be assigned from a signed 32bit integer, so that sign extension occurs on 64bit architectures. This is required for correct operation when exporting ZFS volumes. Reviewed by: pjd MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfs')
-rw-r--r--sys/fs/nfs/nfs_var.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 2556e35..72e65c7 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -529,7 +529,7 @@ int nfsvno_read(vnode_t, off_t, int, struct ucred *, NFSPROC_T *,
int nfsvno_write(vnode_t, off_t, int, int, int, mbuf_t,
char *, struct ucred *, NFSPROC_T *);
int nfsvno_createsub(struct nfsrv_descript *, struct nameidata *,
- vnode_t *, struct nfsvattr *, int *, u_char *, NFSDEV_T, NFSPROC_T *,
+ vnode_t *, struct nfsvattr *, int *, int32_t *, NFSDEV_T, NFSPROC_T *,
struct nfsexstuff *);
int nfsvno_mknod(struct nameidata *, struct nfsvattr *, struct ucred *,
NFSPROC_T *);
@@ -552,7 +552,7 @@ int nfsvno_fsync(vnode_t, u_int64_t, int, struct ucred *, NFSPROC_T *);
int nfsvno_statfs(vnode_t, struct statfs *);
void nfsvno_getfs(struct nfsfsinfo *, int);
void nfsvno_open(struct nfsrv_descript *, struct nameidata *, nfsquad_t,
- nfsv4stateid_t *, struct nfsstate *, int *, struct nfsvattr *, u_char *,
+ nfsv4stateid_t *, struct nfsstate *, int *, struct nfsvattr *, int32_t *,
int, NFSACL_T *, nfsattrbit_t *, struct ucred *, NFSPROC_T *,
struct nfsexstuff *, vnode_t *);
void nfsvno_updfilerev(vnode_t, struct nfsvattr *, struct ucred *,
OpenPOWER on IntegriCloud