Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ore: FIX breakage when MISC_FILESYSTEMS is not set

As Reported by Randy Dunlap

When MISC_FILESYSTEMS is not enabled and NFS4.1 is:

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.

[Needed for the 3.2.0 Kernel]
CC: Stable Tree <stable@kernel.org>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>

+14 -11
+2
fs/Kconfig
··· 218 218 219 219 endif # MISC_FILESYSTEMS 220 220 221 + source "fs/exofs/Kconfig.ore" 222 + 221 223 menuconfig NETWORK_FILESYSTEMS 222 224 bool "Network File Systems" 223 225 default y
-11
fs/exofs/Kconfig
··· 1 - # Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects 2 - # for every ORE user we do it like this. Any user should add itself here 3 - # at the "depends on EXOFS_FS || ..." with an ||. The dependencies are 4 - # selected here, and we default to "ON". So in effect it is like been 5 - # selected by any of the users. 6 - config ORE 7 - tristate 8 - depends on EXOFS_FS || PNFS_OBJLAYOUT 9 - select ASYNC_XOR 10 - default SCSI_OSD_ULD 11 - 12 1 config EXOFS_FS 13 2 tristate "exofs: OSD based file system support" 14 3 depends on SCSI_OSD_ULD
+12
fs/exofs/Kconfig.ore
··· 1 + # ORE - Objects Raid Engine (libore.ko) 2 + # 3 + # Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects 4 + # for every ORE user we do it like this. Any user should add itself here 5 + # at the "depends on EXOFS_FS || ..." with an ||. The dependencies are 6 + # selected here, and we default to "ON". So in effect it is like been 7 + # selected by any of the users. 8 + config ORE 9 + tristate 10 + depends on EXOFS_FS || PNFS_OBJLAYOUT 11 + select ASYNC_XOR 12 + default SCSI_OSD_ULD