diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2009-11-20 21:21:13 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2009-11-20 21:21:13 +0000 |
commit | 483d9d96d0940b7f9eaeaeaaeec623809a34c436 (patch) | |
tree | ccc33c540c4280a4a4cf32e06f3e944aa501dce7 /sys/fs/nfs | |
parent | 2d93b6e4248fe243a13bad6aae36aed5e0d576f6 (diff) | |
download | FreeBSD-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.h | 4 |
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 *, |