Re: [osd-dev] [PATCH v3] ore: FIX breakage when MISC_FILESYSTEMSis not set

From: Boaz Harrosh
Date: Tue Nov 29 2011 - 20:07:22 EST


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@xxxxxxxxxxx>
> ---
> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/