Date: Tue, 19 Oct 2010 13:10:26 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Rick Macklem <rmacklem@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214048 - in head/sys: fs/nfsclient nfs nfsclient nlm Message-ID: <20101019101026.GZ2392@deviant.kiev.zoral.com.ua> In-Reply-To: <201010190020.o9J0K1g9091654@svn.freebsd.org> References: <201010190020.o9J0K1g9091654@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--fLv/lpE57INsRhka Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 19, 2010 at 12:20:01AM +0000, Rick Macklem wrote: > Author: rmacklem > Date: Tue Oct 19 00:20:00 2010 > New Revision: 214048 > URL: http://svn.freebsd.org/changeset/base/214048 >=20 > Log: > Modify the NFS clients and the NLM so that the NLM can be used > by both clients. Since the NLM uses various fields of the > nfsmount structure, those fields were extracted and put in a > separate nfs_mountcommon structure stored in sys/nfs/nfs_mountcommon.h. > This structure also has a function pointer for a function that > extracts the required information from the mount point and nfs vnode > for that particular client, for information stored differently by the > clients. > =20 > Reviewed by: jhb > MFC after: 2 weeks I believe the following is needed for 64bit platforms. diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsop= s.c index 816d288..0c27b9d 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -101,7 +101,7 @@ static void nfs_decode_args(struct mount *mp, struct nf= smount *nmp, static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, u_char *, u_char *, u_char *, struct vnode **, struct ucred *, struct thread *, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1464,7 +1464,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, struct sys= ctl_req *req) * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; diff --git a/sys/nfs/nfs_mountcommon.h b/sys/nfs/nfs_mountcommon.h index fa2547e..c004b9c 100644 --- a/sys/nfs/nfs_mountcommon.h +++ b/sys/nfs/nfs_mountcommon.h @@ -34,7 +34,7 @@ * used by the nlm. It includes a function pointer that provides * a mechanism for getting the client specific info for an nfs vnode. */ -typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int *, +typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); =20 struct nfsmount_common { diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index 3175e0f..45459e5 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -115,7 +115,7 @@ static void nfs_decode_args(struct mount *mp, struct nf= smount *nmp, static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, struct vnode **, struct ucred *cred, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1498,7 +1498,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, struct sys= ctl_req *req) * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; --fLv/lpE57INsRhka Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAky9bpIACgkQC3+MBN1Mb4hK7gCgpFMZy32LMePWZMYTzNN5zZWb xsIAoObMxtOMPr193adm8t13u5Lu9P+5 =PNJz -----END PGP SIGNATURE----- --fLv/lpE57INsRhka--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101019101026.GZ2392>