svn commit: r212439 - head/sys/fs/nfs
Kostik Belousov
kostikbel at gmail.com
Sat Sep 11 06:01:17 UTC 2010
On Fri, Sep 10, 2010 at 11:18:45PM +0000, Rick Macklem wrote:
> Author: rmacklem
> Date: Fri Sep 10 23:18:45 2010
> New Revision: 212439
> URL: http://svn.freebsd.org/changeset/base/212439
>
> Log:
> 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".
>
> Tested by: gull at gull.us
> MFC after: 2 weeks
>
> Modified:
> head/sys/fs/nfs/nfsdport.h
>
> Modified: head/sys/fs/nfs/nfsdport.h
> ==============================================================================
> --- head/sys/fs/nfs/nfsdport.h Fri Sep 10 23:15:05 2010 (r212438)
> +++ head/sys/fs/nfs/nfsdport.h Fri Sep 10 23:18:45 2010 (r212439)
> @@ -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])
Then, fid_reserved is no more reserved ? Should we rename it ?
Comment for fid_reserved about longword alignment is wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20100911/f8485a73/attachment.pgp
More information about the svn-src-all
mailing list