linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 13/16] GFS2: Makefiles and Kconfig
@ 2006-08-31 13:40 Steven Whitehouse
  0 siblings, 0 replies; 12+ messages in thread
From: Steven Whitehouse @ 2006-08-31 13:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: Russell Cattelan, David Teigland, Ingo Molnar, hch

[PATCH 13/16] GFS2: Makefiles and Kconfig

This hooks GFS2 into the kernel's build system. It also adds some
documentation. Note that the dlm has been moved to be under
fs/dlm as per Ingo Molnar's suggestion. This patch series doesn't
include the dlm however. The DLM is already in both -mm and the git
tree containing GFS2 at kernel.org.


Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>


 Documentation/filesystems/gfs2.txt |   43 ++++++++++++++++++++++++++++++++++++
 fs/Kconfig                         |    2 +
 fs/Makefile                        |    2 +
 fs/gfs2/Kconfig                    |   44 +++++++++++++++++++++++++++++++++++++
 fs/gfs2/Makefile                   |   10 ++++++++
 5 files changed, 101 insertions(+)

--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -323,6 +323,7 @@ #
 	default n
 
 source "fs/xfs/Kconfig"
+source "fs/gfs2/Kconfig"
 
 config OCFS2_FS
 	tristate "OCFS2 file system support (EXPERIMENTAL)"
@@ -1930,6 +1931,7 @@ source "fs/partitions/Kconfig"
 endmenu
 
 source "fs/nls/Kconfig"
+source "fs/dlm/Kconfig"
 
 endmenu
 
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -50,6 +50,7 @@ obj-$(CONFIG_CONFIGFS_FS)	+= configfs/
 obj-y				+= devpts/
 
 obj-$(CONFIG_PROFILING)		+= dcookies.o
+obj-$(CONFIG_DLM)		+= dlm/
  
 # Do not add any filesystems before this line
 obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
@@ -102,3 +103,4 @@ obj-$(CONFIG_HOSTFS)		+= hostfs/
 obj-$(CONFIG_HPPFS)		+= hppfs/
 obj-$(CONFIG_DEBUG_FS)		+= debugfs/
 obj-$(CONFIG_OCFS2_FS)		+= ocfs2/
+obj-$(CONFIG_GFS2_FS)           += gfs2/
--- /dev/null
+++ b/fs/gfs2/Makefile
@@ -0,0 +1,10 @@
+obj-$(CONFIG_GFS2_FS) += gfs2.o
+gfs2-y := acl.o bmap.o daemon.o dir.o eaops.o eattr.o glock.o \
+	glops.o inode.o lm.o log.o lops.o locking.o lvb.o main.o meta_io.o \
+	mount.o ondisk.o ops_address.o ops_dentry.o ops_export.o ops_file.o \
+	ops_fstype.o ops_inode.o ops_super.o ops_vm.o quota.o \
+	recovery.o rgrp.o super.o sys.o trans.o util.o
+
+obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += locking/nolock/
+obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
+
--- /dev/null
+++ b/fs/gfs2/Kconfig
@@ -0,0 +1,44 @@
+config GFS2_FS
+	tristate "GFS2 file system support"
+	depends on EXPERIMENTAL
+	select FS_POSIX_ACL
+	help
+	A cluster filesystem.
+
+	Allows a cluster of computers to simultaneously use a block device
+	that is shared between them (with FC, iSCSI, NBD, etc...).  GFS reads
+	and writes to the block device like a local filesystem, but also uses
+	a lock module to allow the computers coordinate their I/O so
+	filesystem consistency is maintained.  One of the nifty features of
+	GFS is perfect consistency -- changes made to the filesystem on one
+	machine show up immediately on all other machines in the cluster.
+
+	To use the GFS2 filesystem, you will need to enable one or more of
+	the below locking modules. Documentation and utilities for GFS2 can
+	be found here: http://sources.redhat.com/cluster
+
+config GFS2_FS_LOCKING_NOLOCK
+	tristate "GFS2 \"nolock\" locking module"
+	depends on GFS2_FS
+	help
+	Single node locking module for GFS2.
+
+	Use this module if you want to use GFS2 on a single node without
+	its clustering features. You can still take advantage of the
+	large file support, and upgrade to running a full cluster later on
+	if required.
+
+	If you will only be using GFS2 in cluster mode, you do not need this
+	module.
+
+config GFS2_FS_LOCKING_DLM
+	tristate "GFS2 DLM locking module"
+	depends on GFS2_FS
+	select DLM
+	help
+	Multiple node locking module for GFS2
+
+	Most users of GFS2 will require this module. It provides the locking
+	interface between GFS2 and the DLM, which is required to use GFS2
+	in a cluster environment.
+
--- /dev/null
+++ b/Documentation/filesystems/gfs2.txt
@@ -0,0 +1,43 @@
+Global File System
+------------------
+
+http://sources.redhat.com/cluster/
+
+GFS is a cluster file system. It allows a cluster of computers to
+simultaneously use a block device that is shared between them (with FC,
+iSCSI, NBD, etc).  GFS reads and writes to the block device like a local
+file system, but also uses a lock module to allow the computers coordinate
+their I/O so file system consistency is maintained.  One of the nifty
+features of GFS is perfect consistency -- changes made to the file system
+on one machine show up immediately on all other machines in the cluster.
+
+GFS uses interchangable inter-node locking mechanisms.  Different lock
+modules can plug into GFS and each file system selects the appropriate
+lock module at mount time.  Lock modules include:
+
+  lock_nolock -- allows gfs to be used as a local file system
+
+  lock_dlm -- uses a distributed lock manager (dlm) for inter-node locking
+  The dlm is found at linux/fs/dlm/
+
+In addition to interfacing with an external locking manager, a gfs lock
+module is responsible for interacting with external cluster management
+systems.  Lock_dlm depends on user space cluster management systems found
+at the URL above.
+
+To use gfs as a local file system, no external clustering systems are
+needed, simply:
+
+  $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
+  $ mount -t gfs2 /dev/block_device /dir
+
+GFS2 is not on-disk compatible with previous versions of GFS.
+
+The following man pages can be found at the URL above:
+  gfs2_fsck	to repair a filesystem
+  gfs2_grow	to expand a filesystem online
+  gfs2_jadd	to add journals to a filesystem online
+  gfs2_tool	to manipulate, examine and tune a filesystem
+  gfs2_quota	to examine and change quota values in a filesystem
+  mount.gfs2	to help mount(8) mount a filesystem
+  mkfs.gfs2	to make a filesystem



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:43 ` Adrian Bunk
  2006-04-21 16:49   ` Matthew Wilcox
  2006-04-21 23:00   ` Greg KH
@ 2006-04-24 13:32   ` Steven Whitehouse
  2 siblings, 0 replies; 12+ messages in thread
From: Steven Whitehouse @ 2006-04-24 13:32 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-fsdevel, linux-kernel

Hi,

On Fri, 2006-04-21 at 18:43 +0200, Adrian Bunk wrote:
> On Fri, Apr 21, 2006 at 05:22:38PM +0100, Steven Whitehouse wrote:
> 
> >...
> > --- a/fs/Kconfig
> > +++ b/fs/Kconfig
> >...
> >
> >  source "fs/nls/Kconfig"
> > +source "fs/dlm/Kconfig"
> >...
> 
> File doesn't exist
> 
> > --- a/fs/Makefile
> > +++ b/fs/Makefile
> > @@ -48,6 +48,7 @@ obj-$(CONFIG_SYSFS)         += sysfs/
> >  obj-y                                += devpts/
> >
> >  obj-$(CONFIG_PROFILING)              += dcookies.o
> > +obj-$(CONFIG_DLM)            += dlm/
> >...
> 
> Directory doesn't exist.
> 
The above two anomalies are due to the git tree also containing the DLM
(already in -mm) and I forgot to redo this patch which is the only one
which overlaps with the DLM code. I expect that Andrew Morton will
update the version of the DLM in -mm at the same time as taking GFS2
when it is deemed ready to go in.

> > --- /dev/null
> > +++ b/fs/gfs2/Kconfig
> > @@ -0,0 +1,46 @@
> > +config GFS2_FS
> > +        tristate "GFS2 file system support"
> > +	default m
> > +	depends on EXPERIMENTAL
> > +        select FS_POSIX_ACL
> > +        select SYSFS
> >...
> 
> - tabs <-> spaces (tabs are correct)
> - please remove the "default m"
These two are done in:
http://www.kernel.org/git/?p=linux/kernel/git/steve/gfs2-2.6.git;a=commitdiff;h=b5ea3e1ef307548bdd40fff6aba5fc96b002f284


> - "depends on SYSFS" instead of the select
> 
This has been resolved by removing the dependency completely.

> > +config GFS2_FS_LOCKING_DLM
> > +	tristate "GFS2 DLM locking module"
> > +	depends on GFS2_FS
> > +	select DLM
> >...
> 
> DLM in -mm depends on IPV6 || IPV6=n, so if you are select'ing it you 
> have to add this dependency to GFS2_FS_LOCKING_DLM.
> 
> cu
> Adrian
> 
I will check this with the DLM developers and see what the best solution
is. Thanks for the feedback,

Steve.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 21:01 ` Sam Ravnborg
@ 2006-04-24 13:27   ` Steven Whitehouse
  0 siblings, 0 replies; 12+ messages in thread
From: Steven Whitehouse @ 2006-04-24 13:27 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Andrew Morton, linux-fsdevel, linux-kernel

Hi,

On Fri, 2006-04-21 at 23:01 +0200, Sam Ravnborg wrote:
> > --- /dev/null
> > +++ b/fs/gfs2/Makefile
> > @@ -0,0 +1,42 @@
> > +obj-$(CONFIG_GFS2_FS) += gfs2.o
> > +gfs2-y := \
> > +	acl.o \
> > +	bits.o \
> > +	bmap.o \
> > +	daemon.o \
> ...
>  +	trans.o \
> > +	unlinked.o \
> > +	util.o
> A fewer number of lines please.
> gfs2-y := acl.o bits.o bmap.o
> ...
> gfs2-y += trans.o unlinked.o util.o
> 
I've made it a fewer number of lines now:
http://www.kernel.org/git/?p=linux/kernel/git/steve/gfs2-2.6.git;a=commitdiff;h=b5ea3e1ef307548bdd40fff6aba5fc96b002f284

> 
> > +
> > +obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += locking/nolock/
> > +obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
> Can we get rid f the locking sub-directory - maybe like this:
> +obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += no-lock/
> +obj-$(CONFIG_GFS2_FS_LOCKING_DLM     += dlm-lock/
> 
> 	Sam

I'd rather keep the subdirectory if there are no strong objections to
it. Its quite likely that as time goes on, GFS will gather both further
locking modules and even other non-locking related modules which would
fit more naturally as subdirectories of fs/gfs2 directly,

Steve.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 23:00   ` Greg KH
@ 2006-04-24 13:24     ` Steven Whitehouse
  0 siblings, 0 replies; 12+ messages in thread
From: Steven Whitehouse @ 2006-04-24 13:24 UTC (permalink / raw)
  To: Greg KH; +Cc: Adrian Bunk, Andrew Morton, linux-fsdevel, linux-kernel

Hi,

On Fri, 2006-04-21 at 16:00 -0700, Greg KH wrote:
> On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > > --- /dev/null
> > > +++ b/fs/gfs2/Kconfig
> > > @@ -0,0 +1,46 @@
> > > +config GFS2_FS
> > > +        tristate "GFS2 file system support"
> > > +	default m
> > > +	depends on EXPERIMENTAL
> > > +        select FS_POSIX_ACL
> > > +        select SYSFS
> > >...
> > 
> > - tabs <-> spaces (tabs are correct)
> > - please remove the "default m"
> > - "depends on SYSFS" instead of the select
> 
> Why do you depend on sysfs at all?  If it's not enabled, your code
> should still build just fine, right?  If not, please let us know and we
> will fix the build error in the sysfs.h header file.
> 
> thanks,
> 
> greg k-h

I've removed this dependency now. Thanks for pointing this out,

Steve.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:43 ` Adrian Bunk
  2006-04-21 16:49   ` Matthew Wilcox
@ 2006-04-21 23:00   ` Greg KH
  2006-04-24 13:24     ` Steven Whitehouse
  2006-04-24 13:32   ` Steven Whitehouse
  2 siblings, 1 reply; 12+ messages in thread
From: Greg KH @ 2006-04-21 23:00 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Steven Whitehouse, Andrew Morton, linux-fsdevel, linux-kernel

On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > --- /dev/null
> > +++ b/fs/gfs2/Kconfig
> > @@ -0,0 +1,46 @@
> > +config GFS2_FS
> > +        tristate "GFS2 file system support"
> > +	default m
> > +	depends on EXPERIMENTAL
> > +        select FS_POSIX_ACL
> > +        select SYSFS
> >...
> 
> - tabs <-> spaces (tabs are correct)
> - please remove the "default m"
> - "depends on SYSFS" instead of the select

Why do you depend on sysfs at all?  If it's not enabled, your code
should still build just fine, right?  If not, please let us know and we
will fix the build error in the sysfs.h header file.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:22 Steven Whitehouse
  2006-04-21 16:43 ` Adrian Bunk
@ 2006-04-21 21:01 ` Sam Ravnborg
  2006-04-24 13:27   ` Steven Whitehouse
  1 sibling, 1 reply; 12+ messages in thread
From: Sam Ravnborg @ 2006-04-21 21:01 UTC (permalink / raw)
  To: Steven Whitehouse; +Cc: Andrew Morton, linux-fsdevel, linux-kernel

> --- /dev/null
> +++ b/fs/gfs2/Makefile
> @@ -0,0 +1,42 @@
> +obj-$(CONFIG_GFS2_FS) += gfs2.o
> +gfs2-y := \
> +	acl.o \
> +	bits.o \
> +	bmap.o \
> +	daemon.o \
...
 +	trans.o \
> +	unlinked.o \
> +	util.o
A fewer number of lines please.
gfs2-y := acl.o bits.o bmap.o
...
gfs2-y += trans.o unlinked.o util.o


> +
> +obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += locking/nolock/
> +obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
Can we get rid f the locking sub-directory - maybe like this:
+obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += no-lock/
+obj-$(CONFIG_GFS2_FS_LOCKING_DLM     += dlm-lock/

	Sam

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 17:07       ` Matthew Wilcox
@ 2006-04-21 20:56         ` Sam Ravnborg
  0 siblings, 0 replies; 12+ messages in thread
From: Sam Ravnborg @ 2006-04-21 20:56 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Adrian Bunk, Steven Whitehouse, Andrew Morton, linux-fsdevel,
	linux-kernel

On Fri, Apr 21, 2006 at 11:07:53AM -0600, Matthew Wilcox wrote:
> On Fri, Apr 21, 2006 at 06:53:51PM +0200, Adrian Bunk wrote:
> > On Fri, Apr 21, 2006 at 10:49:10AM -0600, Matthew Wilcox wrote:
> > > On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > > > - "depends on SYSFS" instead of the select
> > > 
> > > Why?  It's more natural to select it rather than depend on it.
> > 
> > The rule of thumb is that an option is either user visible and should be 
> > depended on or not user visible and should be select'ed.
> 
> What rubbish!  Who came up with this rule of thumb?
Currently menuconfig makes it a very difficult job to undo a select.
Homework: try to do "make allmodconfig" and then set CONFIG_HOTPLUG=n

You will be hit by CONFIG_FW_LOADER that is 'selected' by many
instances - and then it becomes very difficult.
So until menuconfig has better support for undoing select the rule of
thumb outlined by Adrian is true.

	Sam

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:53     ` Adrian Bunk
@ 2006-04-21 17:07       ` Matthew Wilcox
  2006-04-21 20:56         ` Sam Ravnborg
  0 siblings, 1 reply; 12+ messages in thread
From: Matthew Wilcox @ 2006-04-21 17:07 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Steven Whitehouse, Andrew Morton, linux-fsdevel, linux-kernel

On Fri, Apr 21, 2006 at 06:53:51PM +0200, Adrian Bunk wrote:
> On Fri, Apr 21, 2006 at 10:49:10AM -0600, Matthew Wilcox wrote:
> > On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > > - "depends on SYSFS" instead of the select
> > 
> > Why?  It's more natural to select it rather than depend on it.
> 
> The rule of thumb is that an option is either user visible and should be 
> depended on or not user visible and should be select'ed.

What rubbish!  Who came up with this rule of thumb?

My rule of thumb is that if an option is infrastructure, then it should
be selected.  If it's an addition, then it should be depended.

For example, in SCSI, the transport attributes are individually
selectable, but any driver that wants to use a transport selects it.
It would be foolish to have to answer questions from users who want to
know why they can't select SCSI_AHA152X any more and are told they have
to enable the obscure piece of infrastructure.

An exmaple in the other direction is BRIDGE_NETFILTER.  It would be
silly to *not* depend on NETFILTER.  The user has said they don't want
to do any kind of network filtering, so would only get annoyed at being
asked about different kinds of network filtering.

This case is clearly infrastructure.  The user knows whether or not
they want GFS.  If they have to enable sysfs to get GFS, this will only
perplex them.

Obviously, it's not always easy to figure out whether the relationship
between two pieces of code is infrastructure or addition.  Sometimes
it's a judgement call.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:49   ` Matthew Wilcox
@ 2006-04-21 16:53     ` Adrian Bunk
  2006-04-21 17:07       ` Matthew Wilcox
  0 siblings, 1 reply; 12+ messages in thread
From: Adrian Bunk @ 2006-04-21 16:53 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Steven Whitehouse, Andrew Morton, linux-fsdevel, linux-kernel

On Fri, Apr 21, 2006 at 10:49:10AM -0600, Matthew Wilcox wrote:
> On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > > --- /dev/null
> > > +++ b/fs/gfs2/Kconfig
> > > @@ -0,0 +1,46 @@
> > > +config GFS2_FS
> > > +        tristate "GFS2 file system support"
> > > +	default m
> > > +	depends on EXPERIMENTAL
> > > +        select FS_POSIX_ACL
> > > +        select SYSFS
> > >...
> > 
> > - "depends on SYSFS" instead of the select
> 
> Why?  It's more natural to select it rather than depend on it.

The rule of thumb is that an option is either user visible and should be 
depended on or not user visible and should be select'ed.

Exceptions are possible, but there should be a good reason for them.

It doesn't matter much in this case unless you are really expecting 
people to use EMBEDDED=y (IOW: _very_ space limited system) and 
GFS2_FS=y/m.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:43 ` Adrian Bunk
@ 2006-04-21 16:49   ` Matthew Wilcox
  2006-04-21 16:53     ` Adrian Bunk
  2006-04-21 23:00   ` Greg KH
  2006-04-24 13:32   ` Steven Whitehouse
  2 siblings, 1 reply; 12+ messages in thread
From: Matthew Wilcox @ 2006-04-21 16:49 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Steven Whitehouse, Andrew Morton, linux-fsdevel, linux-kernel

On Fri, Apr 21, 2006 at 06:43:09PM +0200, Adrian Bunk wrote:
> > --- /dev/null
> > +++ b/fs/gfs2/Kconfig
> > @@ -0,0 +1,46 @@
> > +config GFS2_FS
> > +        tristate "GFS2 file system support"
> > +	default m
> > +	depends on EXPERIMENTAL
> > +        select FS_POSIX_ACL
> > +        select SYSFS
> >...
> 
> - "depends on SYSFS" instead of the select

Why?  It's more natural to select it rather than depend on it.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 13/16] GFS2: Makefiles and Kconfig
  2006-04-21 16:22 Steven Whitehouse
@ 2006-04-21 16:43 ` Adrian Bunk
  2006-04-21 16:49   ` Matthew Wilcox
                     ` (2 more replies)
  2006-04-21 21:01 ` Sam Ravnborg
  1 sibling, 3 replies; 12+ messages in thread
From: Adrian Bunk @ 2006-04-21 16:43 UTC (permalink / raw)
  To: Steven Whitehouse; +Cc: Andrew Morton, linux-fsdevel, linux-kernel

On Fri, Apr 21, 2006 at 05:22:38PM +0100, Steven Whitehouse wrote:

>...
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
>...
>
>  source "fs/nls/Kconfig"
> +source "fs/dlm/Kconfig"
>...

File doesn't exist

> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -48,6 +48,7 @@ obj-$(CONFIG_SYSFS)         += sysfs/
>  obj-y                                += devpts/
>
>  obj-$(CONFIG_PROFILING)              += dcookies.o
> +obj-$(CONFIG_DLM)            += dlm/
>...

Directory doesn't exist.

> --- /dev/null
> +++ b/fs/gfs2/Kconfig
> @@ -0,0 +1,46 @@
> +config GFS2_FS
> +        tristate "GFS2 file system support"
> +	default m
> +	depends on EXPERIMENTAL
> +        select FS_POSIX_ACL
> +        select SYSFS
>...

- tabs <-> spaces (tabs are correct)
- please remove the "default m"
- "depends on SYSFS" instead of the select

> +config GFS2_FS_LOCKING_DLM
> +	tristate "GFS2 DLM locking module"
> +	depends on GFS2_FS
> +	select DLM
>...

DLM in -mm depends on IPV6 || IPV6=n, so if you are select'ing it you 
have to add this dependency to GFS2_FS_LOCKING_DLM.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 13/16] GFS2: Makefiles and Kconfig
@ 2006-04-21 16:22 Steven Whitehouse
  2006-04-21 16:43 ` Adrian Bunk
  2006-04-21 21:01 ` Sam Ravnborg
  0 siblings, 2 replies; 12+ messages in thread
From: Steven Whitehouse @ 2006-04-21 16:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-fsdevel, linux-kernel

[PATCH 13/16] GFS2: Makefiles and Kconfig

This hooks GFS2 into the kernel's build system. It also adds some
documentation. Note that the dlm has been moved to be under
fs/dlm as per Ingo Molnar's suggestion. This patch series doesn't
include the dlm however as its already in both -mm and the git
tree containing GFS2 at kernel.org.


Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>


 Documentation/filesystems/gfs2.txt |   44 +++++++++++++++++++++++++++++++++++
 fs/Kconfig                         |    2 +
 fs/Makefile                        |    2 +
 fs/gfs2/Kconfig                    |   46 +++++++++++++++++++++++++++++++++++++
 fs/gfs2/Makefile                   |   42 +++++++++++++++++++++++++++++++++
 5 files changed, 136 insertions(+)

--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -323,6 +323,7 @@ config FS_POSIX_ACL
 	default n
 
 source "fs/xfs/Kconfig"
+source "fs/gfs2/Kconfig"
 
 config OCFS2_FS
 	tristate "OCFS2 file system support (EXPERIMENTAL)"
@@ -1824,6 +1825,7 @@ source "fs/partitions/Kconfig"
 endmenu
 
 source "fs/nls/Kconfig"
+source "fs/dlm/Kconfig"
 
 endmenu
 
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -48,6 +48,7 @@ obj-$(CONFIG_SYSFS)		+= sysfs/
 obj-y				+= devpts/
 
 obj-$(CONFIG_PROFILING)		+= dcookies.o
+obj-$(CONFIG_DLM)		+= dlm/
  
 # Do not add any filesystems before this line
 obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
@@ -102,3 +103,4 @@ obj-$(CONFIG_HPPFS)		+= hppfs/
 obj-$(CONFIG_DEBUG_FS)		+= debugfs/
 obj-$(CONFIG_CONFIGFS_FS)	+= configfs/
 obj-$(CONFIG_OCFS2_FS)		+= ocfs2/
+obj-$(CONFIG_GFS2_FS)           += gfs2/
--- /dev/null
+++ b/fs/gfs2/Makefile
@@ -0,0 +1,42 @@
+obj-$(CONFIG_GFS2_FS) += gfs2.o
+gfs2-y := \
+	acl.o \
+	bits.o \
+	bmap.o \
+	daemon.o \
+	dir.o \
+	eaops.o \
+	eattr.o \
+	glock.o \
+	glops.o \
+	inode.o \
+	lm.o \
+	log.o \
+	lops.o \
+	locking.o \
+	lvb.o \
+	main.o \
+	meta_io.o \
+	mount.o \
+	ondisk.o \
+	ops_address.o \
+	ops_dentry.o \
+	ops_export.o \
+	ops_file.o \
+	ops_fstype.o \
+	ops_inode.o \
+	ops_super.o \
+	ops_vm.o \
+	page.o \
+	quota.o \
+	recovery.o \
+	rgrp.o \
+	super.o \
+	sys.o \
+	trans.o \
+	unlinked.o \
+	util.o
+
+obj-$(CONFIG_GFS2_FS_LOCKING_NOLOCK) += locking/nolock/
+obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
+
--- /dev/null
+++ b/fs/gfs2/Kconfig
@@ -0,0 +1,46 @@
+config GFS2_FS
+        tristate "GFS2 file system support"
+	default m
+	depends on EXPERIMENTAL
+        select FS_POSIX_ACL
+        select SYSFS
+        help
+        A cluster filesystem.
+
+        Allows a cluster of computers to simultaneously use a block device
+        that is shared between them (with FC, iSCSI, NBD, etc...).  GFS reads
+        and writes to the block device like a local filesystem, but also uses
+        a lock module to allow the computers coordinate their I/O so
+        filesystem consistency is maintained.  One of the nifty features of
+        GFS is perfect consistency -- changes made to the filesystem on one
+        machine show up immediately on all other machines in the cluster.
+
+	To use the GFS2 filesystem, you will need to enable one or more of
+	the below locking modules. Documentation and utilities for GFS2 can
+	be found here: http://sources.redhat.com/cluster/gfs/
+
+config GFS2_FS_LOCKING_NOLOCK
+	tristate "GFS2 \"nolock\" locking module"
+	depends on GFS2_FS
+	help
+	Single node locking module for GFS2.
+
+	Use this module if you want to use GFS2 on a single node without
+	its clustering features. You can still take advantage of the
+	large file support, and upgrade to running a full cluster later on
+	if required.
+
+	If you will only be using GFS2 in cluster mode, you do not need this
+	module.
+
+config GFS2_FS_LOCKING_DLM
+	tristate "GFS2 DLM locking module"
+	depends on GFS2_FS
+	select DLM
+	help
+	Multiple node locking module for GFS2
+
+	Most users of GFS2 will require this module. It provides the locking
+	interface between GFS2 and the DLM, which is required to use GFS2
+	in a cluster environment.
+
--- /dev/null
+++ b/Documentation/filesystems/gfs2.txt
@@ -0,0 +1,44 @@
+Global File System
+------------------
+
+http://sources.redhat.com/cluster/
+
+GFS is a cluster file system. It allows a cluster of computers to
+simultaneously use a block device that is shared between them (with FC,
+iSCSI, NBD, etc).  GFS reads and writes to the block device like a local
+file system, but also uses a lock module to allow the computers coordinate
+their I/O so file system consistency is maintained.  One of the nifty
+features of GFS is perfect consistency -- changes made to the file system
+on one machine show up immediately on all other machines in the cluster.
+
+GFS uses interchangable inter-node locking mechanisms.  Different lock
+modules can plug into GFS and each file system selects the appropriate
+lock module at mount time.  Lock modules include:
+
+  lock_nolock -- allows gfs to be used as a local file system
+
+  lock_dlm -- uses a distributed lock manager (dlm) for inter-node locking
+  The dlm is found at linux/fs/dlm/
+
+In addition to interfacing with an external locking manager, a gfs lock
+module is responsible for interacting with external cluster management
+systems.  Lock_dlm depends on user space cluster management systems found
+at the URL above.
+
+To use gfs as a local file system, no external clustering systems are
+needed, simply:
+
+  $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
+  $ mount -t gfs2 /dev/block_device /dir
+
+GFS2 is not on-disk compatible with previous versions of GFS.
+
+The following man pages can be found at the URL above:
+  gfs2_mkfs	to make a filesystem
+  gfs2_fsck	to repair a filesystem
+  gfs2_grow	to expand a filesystem online
+  gfs2_jadd	to add journals to a filesystem online
+  gfs2_tool	to manipulate, examine and tune a filesystem
+  gfs2_quota	to examine and change quota values in a filesystem
+  mount.gfs2	to find mount options
+



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2006-08-31 13:36 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-31 13:40 [PATCH 13/16] GFS2: Makefiles and Kconfig Steven Whitehouse
  -- strict thread matches above, loose matches on Subject: below --
2006-04-21 16:22 Steven Whitehouse
2006-04-21 16:43 ` Adrian Bunk
2006-04-21 16:49   ` Matthew Wilcox
2006-04-21 16:53     ` Adrian Bunk
2006-04-21 17:07       ` Matthew Wilcox
2006-04-21 20:56         ` Sam Ravnborg
2006-04-21 23:00   ` Greg KH
2006-04-24 13:24     ` Steven Whitehouse
2006-04-24 13:32   ` Steven Whitehouse
2006-04-21 21:01 ` Sam Ravnborg
2006-04-24 13:27   ` Steven Whitehouse

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).