Re: GFS2: Pre-pull patch posting (merge window)

Benjamin Poirier
2012-03-23T22:06:24Z

On 2012/03/23 16:18, David Teigland wrote:
> On Fri, Mar 23, 2012 at 01:06:05PM -0700, Randy Dunlap wrote:
> > >> GFS2_FS selects DLM (if GFS2_FS_LOCKING_DLM, which is enabled).
> > >> GFS2_FS selects IP_SCTP if DLM_SCTP, which is not enabled and not
> > >> used anywhere else in the kernel tree AFAICT.
> > >> DLM just always selects IP_SCTP.
> > >
> > > Here's what we have now:
> > >
> > > config GFS2_FS
> > > tristate "GFS2 file system support"
> > > depends on (64BIT || LBDAF)
> > > select DLM if GFS2_FS_LOCKING_DLM
> > > select CONFIGFS_FS if GFS2_FS_LOCKING_DLM
> > > select SYSFS if GFS2_FS_LOCKING_DLM
> > > select IP_SCTP if DLM_SCTP
> > > select FS_POSIX_ACL
> > > select CRC32
> > > select QUOTACTL
> > >
> > > menuconfig DLM
> > > tristate "Distributed Lock Manager (DLM)"
> > > depends on EXPERIMENTAL && INET
> > > depends on SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n)
> > > select IP_SCTP
> > >
> > > Why does gfs2 Kconfig bother with SCTP at all? It seems that line should
> > > just be removed. I'll also remove EXPERIMENTAL. I don't understand the
> > > vagaries of Kconfig, so a dumb question, how could sctp_do_peeloff
> > > possibly be undefined if we're selecting SCTP.
> >
> > What is selecting SCTP? DLM? so GFS2 selects DLM, but selects
> > don't follow dependency chains. Also, the "select IP_SCTP if DLM_SCTP"
> > in GFS2 is meaningless since there is no DLM_SCTP.
>
> https://lkml.org/lkml/2012/3/8/222 seems to have caused this by adding
> the new dependency on the sctp module without any Kconfig changes.
>
> Should that patch have added depends IP_SCTP to the dlm and gfs2?
>

Instead of trying to select everything in GFS2, how about doing it this way?

[PATCH] gfs2: use depends instead of select in kconfig

Avoids having to duplicate the dependencies of what is 'select'ed (and on
down...)

Those dependencies are currently incomplete, leading to broken builds with
GFS2_FS_LOCKING_DLM=y and IP_SCTP=n.

Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
---
fs/gfs2/Kconfig | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig
index c465ae0..eb08c9e 100644
--- a/fs/gfs2/Kconfig
+++ b/fs/gfs2/Kconfig
@@ -1,10 +1,6 @@
config GFS2_FS
tristate "GFS2 file system support"
depends on (64BIT || LBDAF)
- select DLM if GFS2_FS_LOCKING_DLM
- select CONFIGFS_FS if GFS2_FS_LOCKING_DLM
- select SYSFS if GFS2_FS_LOCKING_DLM
- select IP_SCTP if DLM_SCTP
select FS_POSIX_ACL
select CRC32
select QUOTACTL
@@ -29,7 +25,8 @@ config GFS2_FS

config GFS2_FS_LOCKING_DLM
bool "GFS2 DLM locking"
- depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && HOTPLUG
+ depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && \
+ HOTPLUG && DLM && CONFIGFS_FS && SYSFS
help
Multiple node locking module for GFS2