From owner-svn-src-head@FreeBSD.ORG Tue Oct 19 12:32:04 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4194106564A; Tue, 19 Oct 2010 12:32:04 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 3F6BE8FC20; Tue, 19 Oct 2010 12:32:04 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApwEAFslvUyDaFvO/2dsb2JhbACDH586qi+SMoEigzR0BIpL X-IronPort-AV: E=Sophos;i="4.57,350,1283745600"; d="scan'208";a="97709519" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 19 Oct 2010 08:02:50 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 28447B3F36; Tue, 19 Oct 2010 08:02:50 -0400 (EDT) Date: Tue, 19 Oct 2010 08:02:50 -0400 (EDT) From: Rick Macklem To: Kostik Belousov Message-ID: <82448027.240470.1287489770103.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20101019101026.GZ2392@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [99.225.56.115] X-Mailer: Zimbra 6.0.7_GA_2476.RHEL4 (ZimbraWebClient - SAF3 (Mac)/6.0.7_GA_2473.RHEL4_64) Cc: svn-src-head@freebsd.org, Rick Macklem , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214048 - in head/sys: fs/nfsclient nfs nfsclient nlm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 12:32:04 -0000 > 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 > > > > 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. > > > > 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_clvfsops.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 nfsmount *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 sysctl_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 *); > > 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 nfsmount *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 sysctl_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; Oops, sorry. I should have done the "make universe". rick ps: I think r214053 fixes it. I will be away from a computer until tomorrow evening, but will look then to check that it's ok now.