2009-06-11 02:46:43

by Tomas Szepe

[permalink] [raw]
Subject: [2.6.29.x+ FIX] CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK

Hello,

Fix: CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK.
Patch against 2.6.29.*, 2.6.30, current.

inlined please find a trivial fix that makes it possible to run
complete systems out of an initramfs on current kernels again
(this last worked on 2.6.27.*).

--
Tomáš Szépe <[email protected]>

diff -urN a/fs/Kconfig b/fs/Kconfig
--- a/fs/Kconfig 2009-06-10 05:05:27 +0200
+++ b/fs/Kconfig 2009-06-11 03:50:50 +0200
@@ -39,6 +39,13 @@
bool
default n

+source "fs/xfs/Kconfig"
+source "fs/gfs2/Kconfig"
+source "fs/ocfs2/Kconfig"
+source "fs/btrfs/Kconfig"
+
+endif # BLOCK
+
config FILE_LOCKING
bool "Enable POSIX file locking API" if EMBEDDED
default y
@@ -47,13 +54,6 @@
for filesystems like NFS and for the flock() system
call. Disabling this option saves about 11k.

-source "fs/xfs/Kconfig"
-source "fs/gfs2/Kconfig"
-source "fs/ocfs2/Kconfig"
-source "fs/btrfs/Kconfig"
-
-endif # BLOCK
-
source "fs/notify/Kconfig"

source "fs/quota/Kconfig"


2009-06-15 21:45:56

by Andrew Morton

[permalink] [raw]
Subject: Re: [2.6.29.x+ FIX] CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK

On Thu, 11 Jun 2009 04:46:30 +0200
Tom____ Sz__pe <[email protected]> wrote:

> Hello,
>
> Fix: CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK.
> Patch against 2.6.29.*, 2.6.30, current.
>
> inlined please find a trivial fix that makes it possible to run
> complete systems out of an initramfs on current kernels again
> (this last worked on 2.6.27.*).
>

Please describe the problem more completely. Why is it not possible?
What goes wrong? Your initramfs kernel has CONFIG_BLOCK=n?

Also, please do include a Signed-off-by: with each patch - see
Documentation/SubmittingPatches for a description.

Thanks.

2009-06-15 21:57:58

by Tomas Szepe

[permalink] [raw]
Subject: Re: [2.6.29.x+ FIX] CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK

> > Fix: CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK.
> > Patch against 2.6.29.*, 2.6.30, current.
> >
> > inlined please find a trivial fix that makes it possible to run
> > complete systems out of an initramfs on current kernels again
> > (this last worked on 2.6.27.*).
>
> Please describe the problem more completely. Why is it not possible?
> What goes wrong? Your initramfs kernel has CONFIG_BLOCK=n?

Precisely. Without this patch and with CONFIG_BLOCK unset, CONFIG_FILE_LOCKING
is forced to "n", which makes it impossible to run things as elementary as "mount",
they'll all fail with "flock(): not implemented" and similar.

I believe this is an apparent inconsistency between real code dependencies
(locks.o does not need the block layer compiled to successfully link) and
config symbol dependencies.

> Also, please do include a Signed-off-by: with each patch - see
> Documentation/SubmittingPatches for a description.

Ah, sorry, I haven't submitted a patch in years.

--
Tomáš Szépe <[email protected]>