On Tue, Aug 9, 2011 at 4:52 AM, Benny Halevy <bhalevy@xxxxxxxxxx> wrote: > On 2011-08-08 15:01, Olga Kornievskaia wrote: >> I'd like to 2nd this. >> >> Current pnfs server doesn't build if chosen to be build into the >> kernel. It does build, if built as a module. >> >> when client and server code is build into the kernel it seems that >> both sides try to define pnfs_roc() function and stepping on each >> others toes.. >> >> On Fri, Aug 5, 2011 at 9:58 PM, Billy Hass <billdh16@xxxxxxxxx> wrote: >>> Hey all, >>> >>> I am unable to compile the latest kernel from the git tree. >>> >>> git clone git://git.linux-nfs.org/projects/bhalevy/linux-pnfs.git >>> cd linux-pnfs >>> make oldconfig >>> make -j5 -s >>> [ ... ] >>> [A lot of warnings, but no errors] >>> [ ... ] >>> make install >>> sh /usr/src/kernels/3.0.0/linux- >>> pnfs/arch/x86/boot/install.sh 3.0.0-pnfs arch/x86/boot/bzImage \ >>> System.map "/boot" >>> *** Missing file: arch/x86/boot/bzImage >>> *** You need to run "make" before "make install". >>> make[1]: *** [install] Error 1 >>> make: *** [install] Error 2 >>> >>> When I try to do the make again, here is the output >>> make -j5 -s >>> fs/nfsd/built-in.o: In function `pnfs_roc': >>> (.text+0x226d1): multiple definition of `pnfs_roc' >>> fs/nfs/built-in.o:(.text+0x304ee): first defined here >>> make[1]: *** [fs/built-in.o] Error 1 >>> make: *** [fs] Error 2 >>> make: *** Waiting for unfinished jobs.... >>> >>> Thanks for any help! >>> >>> Bill >>> >>> -- >>> Bill D. Hass >>> Major | Electrical Engineering BSE >>> Minor | Mathematics >>> University of Michigan '13 >>> College of Engineering >>> (715) 923-8382 >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > Right. The following patch simply renames the function for pnfsd. > I'm pushing it to pnfs-all-3.0 and I'll add it to the 3.1-rc tree > (pnfs-all-latest) once I finish rebasing and testing it. > > Benny > > From d76f73eca38fd7b803d80e78cfa8f9468e83a9b3 Mon Sep 17 00:00:00 2001 > From: Benny Halevy <benny@xxxxxxxxxx> > Date: Tue, 9 Aug 2011 01:11:16 -0400 > Subject: [PATCH] SQUASHME: pnfsd: rename pnfs_roc to pnfsd_roc > > It clashes with a function called the same in the nfs module > > Signed-off-by: Benny Halevy <benny@xxxxxxxxxx> > --- > fs/nfsd/nfs4pnfsd.c | 2 +- > fs/nfsd/nfs4state.c | 2 +- > fs/nfsd/pnfsd.h | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/nfsd/nfs4pnfsd.c b/fs/nfsd/nfs4pnfsd.c > index b1f67eb..e0669ad 100644 > --- a/fs/nfsd/nfs4pnfsd.c > +++ b/fs/nfsd/nfs4pnfsd.c > @@ -1336,7 +1336,7 @@ nomatching_layout(struct nfs4_layoutrecall *clr) > * the layout and simulate a layout_return. Surly the client has forgotten > * these layouts or it would return them before the close. > */ > -void pnfs_roc(struct nfs4_client *clp, struct nfs4_file *fp) > +void pnfsd_roc(struct nfs4_client *clp, struct nfs4_file *fp) > { > struct nfs4_layout *lo, *nextlp; > > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index 1941051..b95589e 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -3620,7 +3620,7 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, > update_stateid(&stp->st_stateid); > memcpy(&close->cl_stateid, &stp->st_stateid, sizeof(stateid_t)); > > - pnfs_roc(stp->st_stateowner->so_client, stp->st_file); > + pnfsd_roc(stp->st_stateowner->so_client, stp->st_file); > > /* release_stateid() calls nfsd_close() if needed */ > release_open_stateid(stp); > diff --git a/fs/nfsd/pnfsd.h b/fs/nfsd/pnfsd.h > index a4c8a9c..6e60d2c 100644 > --- a/fs/nfsd/pnfsd.h > +++ b/fs/nfsd/pnfsd.h > @@ -125,7 +125,7 @@ int nfs4_pnfs_cb_change_state(struct pnfs_get_state *); > void nfs4_ds_get_verifier(stateid_t *, struct super_block *, u32 *); > int put_layoutrecall(struct nfs4_layoutrecall *); > void nomatching_layout(struct nfs4_layoutrecall *); > -void pnfs_roc(struct nfs4_client *clp, struct nfs4_file *fp); > +void pnfsd_roc(struct nfs4_client *clp, struct nfs4_file *fp); > void *layoutrecall_done(struct nfs4_layoutrecall *); > void nfsd4_cb_layout(struct nfs4_layoutrecall *); > int _nfsd_layout_recall_cb(struct super_block *, struct inode *, > -- > 1.7.6 > > I updated to the latest git today and I am still having trouble compiling. [root@pdsi8 linux-pnfs]# make -j5 -s [...] drivers/isdn/hardware/mISDN/hfcpci.c:2319:2: warning: ignoring return value of ‘driver_for_each_device’, declared with attribute warn_unused_result [-Wunused-result] drivers/isdn/hardware/eicon/message.c: In function ‘mixer_notify_update’: drivers/isdn/hardware/eicon/message.c:11308:54: warning: array subscript is above array bounds [-Warray-bounds] fs/xfs/linux-2.6/xfs_iops.c: In function ‘_xfs_vn_fallocate’: fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of function ‘xfs_setattr’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1 make[1]: *** [fs/xfs] Error 2 make: *** [fs] Error 2 make: *** Waiting for unfinished jobs.... In file included from drivers/message/i2o/config-osm.c:39:0: drivers/message/i2o/i2o_config.c: In function ‘i2o_cfg_passthru’: [...] [root@pdsi8 linux-pnfs]# make modules && make modules_install && make install CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CC [M] fs/xfs/linux-2.6/xfs_iops.o fs/xfs/linux-2.6/xfs_iops.c: In function ‘_xfs_vn_fallocate’: fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of function ‘xfs_setattr’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1 make[1]: *** [fs/xfs] Error 2 make: *** [fs] Error 2 Here is my second make after a failed make: [root@pdsi8 linux-pnfs]# make -j5 -s fs/xfs/linux-2.6/xfs_iops.c: In function ‘_xfs_vn_fallocate’: fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of function ‘xfs_setattr’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1 make[1]: *** [fs/xfs] Error 2 make: *** [fs] Error 2 make: *** Waiting for unfinished jobs.... -- Bill D. Hass Major | Electrical Engineering BSE Minor | Mathematics University of Michigan '13 College of Engineering (715) 923-8382 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html