Skip site navigation (1)Skip section navigation (2)
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>