svn commit: r213190 - stable/8/sys/fs/nfs
Rick Macklem
rmacklem at FreeBSD.org
Mon Sep 27 02:09:26 UTC 2010
Author: rmacklem
Date: Mon Sep 27 02:09:25 2010
New Revision: 213190
URL: http://svn.freebsd.org/changeset/base/213190
Log:
MFC: r212439
Fix the NFSVNO_CMPFH() macro in the experimental NFS server so
that it works correctly for ZFS file handles. It is possible to
have two ZFS file handles that differ only in the bytes in the
fid_reserved field of the generic "struct fid" and comparing the
bytes in fid_data didn't catch this case. This patch changes the
macro to compare all bytes of "struct fid".
Modified:
stable/8/sys/fs/nfs/nfsdport.h
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
Modified: stable/8/sys/fs/nfs/nfsdport.h
==============================================================================
--- stable/8/sys/fs/nfs/nfsdport.h Mon Sep 27 01:41:39 2010 (r213189)
+++ stable/8/sys/fs/nfs/nfsdport.h Mon Sep 27 02:09:25 2010 (r213190)
@@ -70,8 +70,7 @@ struct nfsexstuff {
#define NFSVNO_CMPFH(f1, f2) \
((f1)->fh_fsid.val[0] == (f2)->fh_fsid.val[0] && \
(f1)->fh_fsid.val[1] == (f2)->fh_fsid.val[1] && \
- !bcmp((f1)->fh_fid.fid_data, (f2)->fh_fid.fid_data, \
- (f1)->fh_fid.fid_len))
+ bcmp(&(f1)->fh_fid, &(f2)->fh_fid, sizeof(struct fid)) == 0)
#define NFSLOCKHASH(f) \
(&nfslockhash[(*((u_int32_t *)((f)->fh_fid.fid_data))) % NFSLOCKHASHSIZE])
More information about the svn-src-all
mailing list