* ore: FIX breakage when MISC_FILESYSTEMS is not set [not found] ` <4ED422CC.60706@panasas.com> @ 2011-11-29 0:13 ` Boaz Harrosh 2011-11-29 12:21 ` Benny Halevy 2011-11-29 23:35 ` [PATCH v3] " Boaz Harrosh 0 siblings, 2 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-29 0:13 UTC (permalink / raw) To: Randy Dunlap, Trond Myklebust Cc: Stephen Rothwell, linux-next, LKML, Benny Halevy, Michal Marek, NFS list, open-osd As Reported by Randy Dunlap When MISC_FILESYSTEMS is not enabled: fs/built-in.o: In function `objio_alloc_io_state': objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' fs/built-in.o: In function `_write_done': objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' fs/built-in.o: In function `_read_done': ... When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, is not selected. exofs/Kconfig is never examined during Kconfig, and it can not do it's magic stuff to automatically select everything needed. The solution is to force all users of ORE (exofs, nfs) to manually select everything auto-magically selected before. (This is why it is a bad idea to put libraries in random parts of the tree) Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> --- fs/exofs/Kconfig | 17 +++++++++-------- fs/nfs/Kconfig | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig index da42f32..6b05d99 100644 --- a/fs/exofs/Kconfig +++ b/fs/exofs/Kconfig @@ -1,17 +1,18 @@ -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects -# for every ORE user we do it like this. Any user should add itself here -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are -# selected here, and we default to "ON". So in effect it is like been -# selected by any of the users. +# ORE - Objects Raid Engine (libore.ko) +# This library needs to be selected by it's users for example the below EXOFS +# filesystem. +# All users must do: +# depends on SCSI_OSD_ULD +# select ASYNC_XOR +# select ORE config ORE tristate - depends on EXOFS_FS || PNFS_OBJLAYOUT - select ASYNC_XOR - default SCSI_OSD_ULD config EXOFS_FS tristate "exofs: OSD based file system support" depends on SCSI_OSD_ULD + select ASYNC_XOR + select ORE help EXOFS is a file system that uses an OSD storage device, as its backing storage. diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig index dbcd821..3708d76 100644 --- a/fs/nfs/Kconfig +++ b/fs/nfs/Kconfig @@ -96,6 +96,8 @@ config PNFS_BLOCK config PNFS_OBJLAYOUT tristate depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD + select ASYNC_XOR + select ORE default m config ROOT_NFS -- 1.7.6.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 0:13 ` ore: FIX breakage when MISC_FILESYSTEMS is not set Boaz Harrosh @ 2011-11-29 12:21 ` Benny Halevy 2011-11-29 17:33 ` Trond Myklebust 2011-11-29 23:35 ` [PATCH v3] " Boaz Harrosh 1 sibling, 1 reply; 14+ messages in thread From: Benny Halevy @ 2011-11-29 12:21 UTC (permalink / raw) To: Boaz Harrosh Cc: Randy Dunlap, Trond Myklebust, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On 2011-11-29 02:13, Boaz Harrosh wrote: > > As Reported by Randy Dunlap > > When MISC_FILESYSTEMS is not enabled: > > fs/built-in.o: In function `objio_alloc_io_state': > objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' > fs/built-in.o: In function `_write_done': > objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' > fs/built-in.o: In function `_read_done': > ... > > When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, > is not selected. exofs/Kconfig is never examined during Kconfig, > and it can not do it's magic stuff to automatically select everything nit: s/it's/its/ > needed. > > The solution is to force all users of ORE (exofs, nfs) to manually > select everything auto-magically selected before. How about using "depend ORE" rather than "select ORE"? > > (This is why it is a bad idea to put libraries in random parts of > the tree) > > Reported-by: Randy Dunlap <rdunlap@xenotime.net> > Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> > --- > fs/exofs/Kconfig | 17 +++++++++-------- > fs/nfs/Kconfig | 2 ++ > 2 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig > index da42f32..6b05d99 100644 > --- a/fs/exofs/Kconfig > +++ b/fs/exofs/Kconfig > @@ -1,17 +1,18 @@ > -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects > -# for every ORE user we do it like this. Any user should add itself here > -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are > -# selected here, and we default to "ON". So in effect it is like been > -# selected by any of the users. > +# ORE - Objects Raid Engine (libore.ko) > +# This library needs to be selected by it's users for example the below EXOFS > +# filesystem. nit: This library needs to be selected by its users. For example, see EXOFS_FS below. Benny > +# All users must do: > +# depends on SCSI_OSD_ULD > +# select ASYNC_XOR > +# select ORE > config ORE > tristate > - depends on EXOFS_FS || PNFS_OBJLAYOUT > - select ASYNC_XOR > - default SCSI_OSD_ULD > > config EXOFS_FS > tristate "exofs: OSD based file system support" > depends on SCSI_OSD_ULD > + select ASYNC_XOR > + select ORE > help > EXOFS is a file system that uses an OSD storage device, > as its backing storage. > diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig > index dbcd821..3708d76 100644 > --- a/fs/nfs/Kconfig > +++ b/fs/nfs/Kconfig > @@ -96,6 +96,8 @@ config PNFS_BLOCK > config PNFS_OBJLAYOUT > tristate > depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD > + select ASYNC_XOR > + select ORE > default m > > config ROOT_NFS ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 12:21 ` Benny Halevy @ 2011-11-29 17:33 ` Trond Myklebust 2011-11-29 22:22 ` Boaz Harrosh 0 siblings, 1 reply; 14+ messages in thread From: Trond Myklebust @ 2011-11-29 17:33 UTC (permalink / raw) To: Benny Halevy Cc: Boaz Harrosh, Randy Dunlap, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: > On 2011-11-29 02:13, Boaz Harrosh wrote: > > > > As Reported by Randy Dunlap > > > > When MISC_FILESYSTEMS is not enabled: > > > > fs/built-in.o: In function `objio_alloc_io_state': > > objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' > > fs/built-in.o: In function `_write_done': > > objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' > > fs/built-in.o: In function `_read_done': > > ... > > > > When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, > > is not selected. exofs/Kconfig is never examined during Kconfig, > > and it can not do it's magic stuff to automatically select everything > > nit: s/it's/its/ > > > needed. > > > > The solution is to force all users of ORE (exofs, nfs) to manually > > select everything auto-magically selected before. > > How about using "depend ORE" rather than "select ORE"? Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. There should be no need to add the 'select ORE'... > > (This is why it is a bad idea to put libraries in random parts of > > the tree) > > > > Reported-by: Randy Dunlap <rdunlap@xenotime.net> > > Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> > > --- > > fs/exofs/Kconfig | 17 +++++++++-------- > > fs/nfs/Kconfig | 2 ++ > > 2 files changed, 11 insertions(+), 8 deletions(-) > > > > diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig > > index da42f32..6b05d99 100644 > > --- a/fs/exofs/Kconfig > > +++ b/fs/exofs/Kconfig > > @@ -1,17 +1,18 @@ > > -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects > > -# for every ORE user we do it like this. Any user should add itself here > > -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are > > -# selected here, and we default to "ON". So in effect it is like been > > -# selected by any of the users. > > +# ORE - Objects Raid Engine (libore.ko) > > +# This library needs to be selected by it's users for example the below EXOFS > > +# filesystem. > > nit: > This library needs to be selected by its users. For example, see > EXOFS_FS below. > > Benny > > > +# All users must do: > > +# depends on SCSI_OSD_ULD > > +# select ASYNC_XOR > > +# select ORE > > config ORE > > tristate depends on EXOFS_FS || PNFS_OBJLAYOUT default y > > > > config EXOFS_FS > > tristate "exofs: OSD based file system support" depends on SCSI_OSD_ULD && ASYNC_XOR > > help > > EXOFS is a file system that uses an OSD storage device, > > as its backing storage. > > diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig > > index dbcd821..3708d76 100644 > > --- a/fs/nfs/Kconfig > > +++ b/fs/nfs/Kconfig > > @@ -96,6 +96,8 @@ config PNFS_BLOCK > > config PNFS_OBJLAYOUT > > tristate > > depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD depends on NFS_V4_1 && ASYNC_XOR && SCSI_OSD_ULD > > default m > > > > config ROOT_NFS -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@netapp.com www.netapp.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 17:33 ` Trond Myklebust @ 2011-11-29 22:22 ` Boaz Harrosh 2011-11-29 22:36 ` Trond Myklebust 2011-11-29 23:39 ` Randy Dunlap 0 siblings, 2 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-29 22:22 UTC (permalink / raw) To: Trond Myklebust Cc: Benny Halevy, Randy Dunlap, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On 11/29/2011 09:33 AM, Trond Myklebust wrote: > On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: >> On 2011-11-29 02:13, Boaz Harrosh wrote: >>> >>> The solution is to force all users of ORE (exofs, nfs) to manually >>> select everything auto-magically selected before. >> >> How about using "depend ORE" rather than "select ORE"? > > Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select > it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. > > There should be no need to add the 'select ORE'... > No! guys! One it will not solve my problem because any solution that needs to inspect exofs/Kconfig file will not work if MISC_FILESYSTEMS is not selected and your solutions involve that. And two: All the user needs to do is Select NFS4.1 everything else should be done automatically. He should not need to go to misc-filesystems and select ORE so he can have pnfs-objects. That's a nightmare. And anyway the current Kernel rule is that a user of a library needs to select it and all it's dependencies, because select is not recursive. Now I devised a little skim that can avoid that, which is not conventional but works very nice. It was almost good enough only we have the problem that exofs is under that big MISC_FILESYSTEMS nub. So It's the regular Kernel way, for now. (The real solution is to move ORE to lib/ which would enable my clever trick. But I don't want to go there only because of that) I'll fix the typos though Thanks Heart ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 22:22 ` Boaz Harrosh @ 2011-11-29 22:36 ` Trond Myklebust 2011-11-29 22:38 ` Trond Myklebust 2011-11-29 23:39 ` Randy Dunlap 1 sibling, 1 reply; 14+ messages in thread From: Trond Myklebust @ 2011-11-29 22:36 UTC (permalink / raw) To: Boaz Harrosh Cc: Benny Halevy, Randy Dunlap, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On Tue, 2011-11-29 at 14:22 -0800, Boaz Harrosh wrote: > On 11/29/2011 09:33 AM, Trond Myklebust wrote: > > On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: > >> On 2011-11-29 02:13, Boaz Harrosh wrote: > > >>> > >>> The solution is to force all users of ORE (exofs, nfs) to manually > >>> select everything auto-magically selected before. > >> > >> How about using "depend ORE" rather than "select ORE"? > > > > Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select > > it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. > > > > There should be no need to add the 'select ORE'... > > > > No! guys! > > One it will not solve my problem because any > solution that needs to inspect exofs/Kconfig file will > not work if MISC_FILESYSTEMS is not selected and your > solutions involve that. Then move ORE _out_ of MISC_FILESYSTEMS. There is no reason why it needs to be there as long as the things it depends on are there. > And two: > All the user needs to do is Select NFS4.1 everything > else should be done automatically. He should not need > to go to misc-filesystems and select ORE so he can have > pnfs-objects. That's a nightmare. The solution I proposed didn't involve having the user select anything other than NFSv4.1 and possibly ASYNC_XOR. > And anyway the current Kernel rule is that a user of a library > needs to select it and all it's dependencies, because select > is not recursive. Now I devised a little skim that can avoid ...and this is _my_ nightmare. I dont' _want_ these selects anywhere in the NFS subsystem. -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@netapp.com www.netapp.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 22:36 ` Trond Myklebust @ 2011-11-29 22:38 ` Trond Myklebust 2011-11-29 23:33 ` Boaz Harrosh 0 siblings, 1 reply; 14+ messages in thread From: Trond Myklebust @ 2011-11-29 22:38 UTC (permalink / raw) To: Boaz Harrosh Cc: Benny Halevy, Randy Dunlap, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On Tue, 2011-11-29 at 17:36 -0500, Trond Myklebust wrote: > On Tue, 2011-11-29 at 14:22 -0800, Boaz Harrosh wrote: > > On 11/29/2011 09:33 AM, Trond Myklebust wrote: > > > On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: > > >> On 2011-11-29 02:13, Boaz Harrosh wrote: > > > > >>> > > >>> The solution is to force all users of ORE (exofs, nfs) to manually > > >>> select everything auto-magically selected before. > > >> > > >> How about using "depend ORE" rather than "select ORE"? > > > > > > Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select > > > it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. > > > > > > There should be no need to add the 'select ORE'... > > > > > > > No! guys! > > > > One it will not solve my problem because any > > solution that needs to inspect exofs/Kconfig file will > > not work if MISC_FILESYSTEMS is not selected and your > > solutions involve that. > > Then move ORE _out_ of MISC_FILESYSTEMS. There is no reason why it needs > to be there as long as the things it depends on are there. Should read: There is no reason why ORE needs to depend on MISC_FILESYSTEMS. Only EXOFS_FS needs that... > > And two: > > All the user needs to do is Select NFS4.1 everything > > else should be done automatically. He should not need > > to go to misc-filesystems and select ORE so he can have > > pnfs-objects. That's a nightmare. > > The solution I proposed didn't involve having the user select anything > other than NFSv4.1 and possibly ASYNC_XOR. > > > And anyway the current Kernel rule is that a user of a library > > needs to select it and all it's dependencies, because select > > is not recursive. Now I devised a little skim that can avoid > > ...and this is _my_ nightmare. I dont' _want_ these selects anywhere in > the NFS subsystem. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 22:38 ` Trond Myklebust @ 2011-11-29 23:33 ` Boaz Harrosh 0 siblings, 0 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-29 23:33 UTC (permalink / raw) To: Trond Myklebust Cc: Benny Halevy, Randy Dunlap, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On 11/29/2011 02:38 PM, Trond Myklebust wrote: > Should read: > There is no reason why ORE needs to depend on MISC_FILESYSTEMS. Only > EXOFS_FS needs that... > > OK, thanks I sent a patch that does that (As reply to Randy). I'll re-send it as it's own real thing Thanks Heart ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 22:22 ` Boaz Harrosh 2011-11-29 22:36 ` Trond Myklebust @ 2011-11-29 23:39 ` Randy Dunlap 2011-11-29 23:30 ` Boaz Harrosh 1 sibling, 1 reply; 14+ messages in thread From: Randy Dunlap @ 2011-11-29 23:39 UTC (permalink / raw) To: Boaz Harrosh Cc: Trond Myklebust, Benny Halevy, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On 11/29/2011 02:22 PM, Boaz Harrosh wrote: > On 11/29/2011 09:33 AM, Trond Myklebust wrote: >> On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: >>> On 2011-11-29 02:13, Boaz Harrosh wrote: > >>>> >>>> The solution is to force all users of ORE (exofs, nfs) to manually >>>> select everything auto-magically selected before. >>> >>> How about using "depend ORE" rather than "select ORE"? >> >> Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select >> it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. >> >> There should be no need to add the 'select ORE'... >> > > No! guys! > > One it will not solve my problem because any > solution that needs to inspect exofs/Kconfig file will > not work if MISC_FILESYSTEMS is not selected and your > solutions involve that. > > And two: > All the user needs to do is Select NFS4.1 everything > else should be done automatically. He should not need > to go to misc-filesystems and select ORE so he can have > pnfs-objects. That's a nightmare. > > And anyway the current Kernel rule is that a user of a library > needs to select it and all it's dependencies, because select > is not recursive. Now I devised a little skim that can avoid Since 'select' is not recursive, how does the "select ASYNC_XOR" handle ensuring that what it selects (ASYNC_CORE and XOR_BLOCKS) have been enabled? > that, which is not conventional but works very nice. It was > almost good enough only we have the problem that exofs is under > that big MISC_FILESYSTEMS nub. > > So It's the regular Kernel way, for now. > > (The real solution is to move ORE to lib/ which would enable my > clever trick. But I don't want to go there only because of that) > > I'll fix the typos though With the patch applied, I am still seeing this kconfig warning: warning: (PNFS_OBJLAYOUT) selects ORE which has unmet direct dependencies (MISC_FILESYSTEMS) -- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 23:39 ` Randy Dunlap @ 2011-11-29 23:30 ` Boaz Harrosh 0 siblings, 0 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-29 23:30 UTC (permalink / raw) To: Randy Dunlap Cc: Trond Myklebust, Benny Halevy, Stephen Rothwell, linux-next, LKML, Michal Marek, NFS list, open-osd On 11/29/2011 03:39 PM, Randy Dunlap wrote: > On 11/29/2011 02:22 PM, Boaz Harrosh wrote: >> On 11/29/2011 09:33 AM, Trond Myklebust wrote: >>> On Tue, 2011-11-29 at 14:21 +0200, Benny Halevy wrote: >>>> On 2011-11-29 02:13, Boaz Harrosh wrote: >> >>>>> >>>>> The solution is to force all users of ORE (exofs, nfs) to manually >>>>> select everything auto-magically selected before. >>>> >>>> How about using "depend ORE" rather than "select ORE"? >>> >>> Right. Make PNFS_OBJLAYOUT and EXOFS_FS depend on ASYNC_XOR (or select >>> it) and then make ORE depend on EXOFS_FS || PNFS_OBJLAYOUT. >>> >>> There should be no need to add the 'select ORE'... >>> >> >> No! guys! >> >> One it will not solve my problem because any >> solution that needs to inspect exofs/Kconfig file will >> not work if MISC_FILESYSTEMS is not selected and your >> solutions involve that. >> >> And two: >> All the user needs to do is Select NFS4.1 everything >> else should be done automatically. He should not need >> to go to misc-filesystems and select ORE so he can have >> pnfs-objects. That's a nightmare. >> >> And anyway the current Kernel rule is that a user of a library >> needs to select it and all it's dependencies, because select >> is not recursive. Now I devised a little skim that can avoid > > Since 'select' is not recursive, how does the "select ASYNC_XOR" > handle ensuring that what it selects (ASYNC_CORE and XOR_BLOCKS) > have been enabled? > Not sure why it works than. I looked at config MD_RAID456 and from it's selects I only need ASYNC_XOR. In later Kernels I will also need the RAID6_** stuff. >> that, which is not conventional but works very nice. It was >> almost good enough only we have the problem that exofs is under >> that big MISC_FILESYSTEMS nub. >> >> So It's the regular Kernel way, for now. >> >> (The real solution is to move ORE to lib/ which would enable my >> clever trick. But I don't want to go there only because of that) >> >> I'll fix the typos though > > With the patch applied, I am still seeing this kconfig warning: > > warning: (PNFS_OBJLAYOUT) selects ORE which has unmet direct dependencies (MISC_FILESYSTEMS) > OK So I guess I need a much deeper change and move ORE to lib/ or I can do the below change. Please advise what you think is the best for now? Thanks Randy for yur help --- From: Boaz Harrosh <bharrosh@panasas.com> Subject: [PATCH] ore: FIX breakage when MISC_FILESYSTEMS is not set As Reported by Randy Dunlap When MISC_FILESYSTEMS is not enabled: fs/built-in.o: In function `objio_alloc_io_state': objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' fs/built-in.o: In function `_write_done': objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' fs/built-in.o: In function `_read_done': ... When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, is not selected. exofs/Kconfig is never examined during Kconfig, and it can not do it's magic stuff to automatically select everything needed. We must split exofs/Kconfig in two the ore one is always included and the exofs one is left in it's old place in the menu. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> --- fs/Kconfig | 2 ++ fs/exofs/Kconfig | 11 ----------- fs/exofs/ore.Kconfig | 12 ++++++++++++ 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 fs/exofs/ore.Kconfig diff --git a/fs/Kconfig b/fs/Kconfig index 5f4c45d..fd7bfef 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -218,6 +218,8 @@ source "fs/exofs/Kconfig" endif # MISC_FILESYSTEMS +source "fs/exofs/ore.Kconfig" + menuconfig NETWORK_FILESYSTEMS bool "Network File Systems" default y diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig index da42f32..86194b2 100644 --- a/fs/exofs/Kconfig +++ b/fs/exofs/Kconfig @@ -1,14 +1,3 @@ -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects -# for every ORE user we do it like this. Any user should add itself here -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are -# selected here, and we default to "ON". So in effect it is like been -# selected by any of the users. -config ORE - tristate - depends on EXOFS_FS || PNFS_OBJLAYOUT - select ASYNC_XOR - default SCSI_OSD_ULD - config EXOFS_FS tristate "exofs: OSD based file system support" depends on SCSI_OSD_ULD diff --git a/fs/exofs/ore.Kconfig b/fs/exofs/ore.Kconfig new file mode 100644 index 0000000..1ca7fb7 --- /dev/null +++ b/fs/exofs/ore.Kconfig @@ -0,0 +1,12 @@ +# ORE - Objects Raid Engine (libore.ko) +# +# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects +# for every ORE user we do it like this. Any user should add itself here +# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are +# selected here, and we default to "ON". So in effect it is like been +# selected by any of the users. +config ORE + tristate + depends on EXOFS_FS || PNFS_OBJLAYOUT + select ASYNC_XOR + default SCSI_OSD_ULD -- 1.7.6.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 0:13 ` ore: FIX breakage when MISC_FILESYSTEMS is not set Boaz Harrosh 2011-11-29 12:21 ` Benny Halevy @ 2011-11-29 23:35 ` Boaz Harrosh 2011-11-30 1:00 ` [osd-dev] " Boaz Harrosh 2011-11-30 8:31 ` Michal Marek 1 sibling, 2 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-29 23:35 UTC (permalink / raw) To: Randy Dunlap, Trond Myklebust Cc: Michal Marek, Stephen Rothwell, NFS list, LKML, Benny Halevy, linux-next, open-osd As Reported by Randy Dunlap When MISC_FILESYSTEMS is not enabled: fs/built-in.o: In function `objio_alloc_io_state': objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' fs/built-in.o: In function `_write_done': objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' fs/built-in.o: In function `_read_done': ... When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, is not selected. exofs/Kconfig is never examined during Kconfig, and it can not do it's magic stuff to automatically select everything needed. We must split exofs/Kconfig in two. The ore one is always included. And the exofs one is left in it's old place in the menu. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> --- fs/Kconfig | 2 ++ fs/exofs/Kconfig | 11 ----------- fs/exofs/ore.Kconfig | 12 ++++++++++++ 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 fs/exofs/ore.Kconfig diff --git a/fs/Kconfig b/fs/Kconfig index 5f4c45d..fd7bfef 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -218,6 +218,8 @@ source "fs/exofs/Kconfig" endif # MISC_FILESYSTEMS +source "fs/exofs/ore.Kconfig" + menuconfig NETWORK_FILESYSTEMS bool "Network File Systems" default y diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig index da42f32..86194b2 100644 --- a/fs/exofs/Kconfig +++ b/fs/exofs/Kconfig @@ -1,14 +1,3 @@ -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects -# for every ORE user we do it like this. Any user should add itself here -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are -# selected here, and we default to "ON". So in effect it is like been -# selected by any of the users. -config ORE - tristate - depends on EXOFS_FS || PNFS_OBJLAYOUT - select ASYNC_XOR - default SCSI_OSD_ULD - config EXOFS_FS tristate "exofs: OSD based file system support" depends on SCSI_OSD_ULD diff --git a/fs/exofs/ore.Kconfig b/fs/exofs/ore.Kconfig new file mode 100644 index 0000000..1ca7fb7 --- /dev/null +++ b/fs/exofs/ore.Kconfig @@ -0,0 +1,12 @@ +# ORE - Objects Raid Engine (libore.ko) +# +# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects +# for every ORE user we do it like this. Any user should add itself here +# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are +# selected here, and we default to "ON". So in effect it is like been +# selected by any of the users. +config ORE + tristate + depends on EXOFS_FS || PNFS_OBJLAYOUT + select ASYNC_XOR + default SCSI_OSD_ULD -- 1.7.6.4 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [osd-dev] [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 23:35 ` [PATCH v3] " Boaz Harrosh @ 2011-11-30 1:00 ` Boaz Harrosh 2011-11-30 18:00 ` Randy Dunlap 2011-11-30 8:31 ` Michal Marek 1 sibling, 1 reply; 14+ messages in thread From: Boaz Harrosh @ 2011-11-30 1:00 UTC (permalink / raw) To: Randy Dunlap, Trond Myklebust Cc: Michal Marek, Stephen Rothwell, NFS list, LKML, Benny Halevy, linux-next, open-osd On 11/29/2011 03:35 PM, Boaz Harrosh wrote: > > As Reported by Randy Dunlap > Randy Hi I think I prefer this simple solution for now, instead of the complete move of the ore to lib/ It solves the warning problem you reported and let us keep the convenience of selecting everything in one place. As was said there are more dependencies on the way. I will look into the additional ASYNC_CORE and XOR_BLOCKS selects you mentioned. For some reason it works but I'll try to find a way to break it or prove It is sound. Please advise? Thanks Heart > When MISC_FILESYSTEMS is not enabled: > > fs/built-in.o: In function `objio_alloc_io_state': > objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' > fs/built-in.o: In function `_write_done': > objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' > fs/built-in.o: In function `_read_done': > ... > > When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, > is not selected. exofs/Kconfig is never examined during Kconfig, > and it can not do it's magic stuff to automatically select everything > needed. > > We must split exofs/Kconfig in two. The ore one is always included. > And the exofs one is left in it's old place in the menu. > > Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> > --- > fs/Kconfig | 2 ++ > fs/exofs/Kconfig | 11 ----------- > fs/exofs/ore.Kconfig | 12 ++++++++++++ > 3 files changed, 14 insertions(+), 11 deletions(-) > create mode 100644 fs/exofs/ore.Kconfig > > diff --git a/fs/Kconfig b/fs/Kconfig > index 5f4c45d..fd7bfef 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -218,6 +218,8 @@ source "fs/exofs/Kconfig" > > endif # MISC_FILESYSTEMS > > +source "fs/exofs/ore.Kconfig" > + > menuconfig NETWORK_FILESYSTEMS > bool "Network File Systems" > default y > diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig > index da42f32..86194b2 100644 > --- a/fs/exofs/Kconfig > +++ b/fs/exofs/Kconfig > @@ -1,14 +1,3 @@ > -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects > -# for every ORE user we do it like this. Any user should add itself here > -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are > -# selected here, and we default to "ON". So in effect it is like been > -# selected by any of the users. > -config ORE > - tristate > - depends on EXOFS_FS || PNFS_OBJLAYOUT > - select ASYNC_XOR > - default SCSI_OSD_ULD > - > config EXOFS_FS > tristate "exofs: OSD based file system support" > depends on SCSI_OSD_ULD > diff --git a/fs/exofs/ore.Kconfig b/fs/exofs/ore.Kconfig > new file mode 100644 > index 0000000..1ca7fb7 > --- /dev/null > +++ b/fs/exofs/ore.Kconfig > @@ -0,0 +1,12 @@ > +# ORE - Objects Raid Engine (libore.ko) > +# > +# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects > +# for every ORE user we do it like this. Any user should add itself here > +# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are > +# selected here, and we default to "ON". So in effect it is like been > +# selected by any of the users. > +config ORE > + tristate > + depends on EXOFS_FS || PNFS_OBJLAYOUT > + select ASYNC_XOR > + default SCSI_OSD_ULD ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [osd-dev] [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-30 1:00 ` [osd-dev] " Boaz Harrosh @ 2011-11-30 18:00 ` Randy Dunlap 0 siblings, 0 replies; 14+ messages in thread From: Randy Dunlap @ 2011-11-30 18:00 UTC (permalink / raw) To: Boaz Harrosh Cc: Trond Myklebust, Michal Marek, Stephen Rothwell, NFS list, LKML, Benny Halevy, linux-next, open-osd On 11/29/2011 05:00 PM, Boaz Harrosh wrote: > On 11/29/2011 03:35 PM, Boaz Harrosh wrote: >> >> As Reported by Randy Dunlap >> > > Randy Hi > > I think I prefer this simple solution for now, instead of > the complete move of the ore to lib/ sounds good to me. > It solves the warning problem you reported and let us > keep the convenience of selecting everything in one place. As > was said there are more dependencies on the way. > > I will look into the additional ASYNC_CORE and XOR_BLOCKS selects > you mentioned. For some reason it works but I'll try to find a > way to break it or prove It is sound. > > Please advise? I'm not terribly worried about them. If they work, that's fine. If they break some day, it's easy to fix. or if you prefer to fix it now, you could add something like: # for ASYNC_XOR selects: select ASYNC_CORE select XOR_BLOCKS Either way is OK with me. Thanks. > Thanks > Heart > >> When MISC_FILESYSTEMS is not enabled: >> >> fs/built-in.o: In function `objio_alloc_io_state': >> objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' >> fs/built-in.o: In function `_write_done': >> objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' >> fs/built-in.o: In function `_read_done': >> ... >> >> When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, >> is not selected. exofs/Kconfig is never examined during Kconfig, >> and it can not do it's magic stuff to automatically select everything >> needed. >> >> We must split exofs/Kconfig in two. The ore one is always included. >> And the exofs one is left in it's old place in the menu. >> >> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> >> --- >> fs/Kconfig | 2 ++ >> fs/exofs/Kconfig | 11 ----------- >> fs/exofs/ore.Kconfig | 12 ++++++++++++ >> 3 files changed, 14 insertions(+), 11 deletions(-) >> create mode 100644 fs/exofs/ore.Kconfig >> >> diff --git a/fs/Kconfig b/fs/Kconfig >> index 5f4c45d..fd7bfef 100644 >> --- a/fs/Kconfig >> +++ b/fs/Kconfig >> @@ -218,6 +218,8 @@ source "fs/exofs/Kconfig" >> >> endif # MISC_FILESYSTEMS >> >> +source "fs/exofs/ore.Kconfig" >> + >> menuconfig NETWORK_FILESYSTEMS >> bool "Network File Systems" >> default y >> diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig >> index da42f32..86194b2 100644 >> --- a/fs/exofs/Kconfig >> +++ b/fs/exofs/Kconfig >> @@ -1,14 +1,3 @@ >> -# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects >> -# for every ORE user we do it like this. Any user should add itself here >> -# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are >> -# selected here, and we default to "ON". So in effect it is like been >> -# selected by any of the users. >> -config ORE >> - tristate >> - depends on EXOFS_FS || PNFS_OBJLAYOUT >> - select ASYNC_XOR >> - default SCSI_OSD_ULD >> - >> config EXOFS_FS >> tristate "exofs: OSD based file system support" >> depends on SCSI_OSD_ULD >> diff --git a/fs/exofs/ore.Kconfig b/fs/exofs/ore.Kconfig >> new file mode 100644 >> index 0000000..1ca7fb7 >> --- /dev/null >> +++ b/fs/exofs/ore.Kconfig >> @@ -0,0 +1,12 @@ >> +# ORE - Objects Raid Engine (libore.ko) >> +# >> +# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects >> +# for every ORE user we do it like this. Any user should add itself here >> +# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are >> +# selected here, and we default to "ON". So in effect it is like been >> +# selected by any of the users. >> +config ORE >> + tristate >> + depends on EXOFS_FS || PNFS_OBJLAYOUT >> + select ASYNC_XOR >> + default SCSI_OSD_ULD > > -- -- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-29 23:35 ` [PATCH v3] " Boaz Harrosh 2011-11-30 1:00 ` [osd-dev] " Boaz Harrosh @ 2011-11-30 8:31 ` Michal Marek 2011-11-30 16:32 ` Boaz Harrosh 1 sibling, 1 reply; 14+ messages in thread From: Michal Marek @ 2011-11-30 8:31 UTC (permalink / raw) To: Boaz Harrosh Cc: Randy Dunlap, Trond Myklebust, Stephen Rothwell, NFS list, LKML, Benny Halevy, linux-next, open-osd Dne 30.11.2011 00:35, Boaz Harrosh napsal(a): > > As Reported by Randy Dunlap > > When MISC_FILESYSTEMS is not enabled: > > fs/built-in.o: In function `objio_alloc_io_state': > objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' > fs/built-in.o: In function `_write_done': > objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' > fs/built-in.o: In function `_read_done': > ... > > When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, > is not selected. exofs/Kconfig is never examined during Kconfig, > and it can not do it's magic stuff to automatically select everything > needed. > > We must split exofs/Kconfig in two. The ore one is always included. > And the exofs one is left in it's old place in the menu. > > Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> > --- > fs/Kconfig | 2 ++ > fs/exofs/Kconfig | 11 ----------- > fs/exofs/ore.Kconfig | 12 ++++++++++++ > 3 files changed, 14 insertions(+), 11 deletions(-) > create mode 100644 fs/exofs/ore.Kconfig > > diff --git a/fs/Kconfig b/fs/Kconfig > index 5f4c45d..fd7bfef 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -218,6 +218,8 @@ source "fs/exofs/Kconfig" > > endif # MISC_FILESYSTEMS > > +source "fs/exofs/ore.Kconfig" > + I suggest you name it Kconfig.ore. We have a couple of Kconfig.* files in the tree, so let's be consistent. Michal ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMS is not set 2011-11-30 8:31 ` Michal Marek @ 2011-11-30 16:32 ` Boaz Harrosh 0 siblings, 0 replies; 14+ messages in thread From: Boaz Harrosh @ 2011-11-30 16:32 UTC (permalink / raw) To: Michal Marek Cc: Randy Dunlap, Trond Myklebust, Stephen Rothwell, NFS list, LKML, Benny Halevy, linux-next, open-osd On 11/30/2011 12:31 AM, Michal Marek wrote: > > I suggest you name it Kconfig.ore. We have a couple of Kconfig.* files > in the tree, so let's be consistent. > Thanks Michal. Yes that makes sense. Actually I like it better. Will change and push > Michal Boaz ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2011-11-30 17:01 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20111124174358.d88f11c0ff700e5e6b3bf73b@canb.auug.org.au>
[not found] ` <4ECE91F3.9010007@xenotime.net>
[not found] ` <4ED422CC.60706@panasas.com>
2011-11-29 0:13 ` ore: FIX breakage when MISC_FILESYSTEMS is not set Boaz Harrosh
2011-11-29 12:21 ` Benny Halevy
2011-11-29 17:33 ` Trond Myklebust
2011-11-29 22:22 ` Boaz Harrosh
2011-11-29 22:36 ` Trond Myklebust
2011-11-29 22:38 ` Trond Myklebust
2011-11-29 23:33 ` Boaz Harrosh
2011-11-29 23:39 ` Randy Dunlap
2011-11-29 23:30 ` Boaz Harrosh
2011-11-29 23:35 ` [PATCH v3] " Boaz Harrosh
2011-11-30 1:00 ` [osd-dev] " Boaz Harrosh
2011-11-30 18:00 ` Randy Dunlap
2011-11-30 8:31 ` Michal Marek
2011-11-30 16:32 ` Boaz Harrosh
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).