linux/fs/gfs2
Steven Whitehouse ba6e93645f GFS2: Wait for journal id on mount if not specified on mount command line
This patch implements a wait for the journal id in the case that it has
not been specified on the command line. This is to allow the future
removal of the mount.gfs2 helper. The journal id would instead be
directly communicated by gfs_controld to the file system. Here is a
comparison of the two systems:

Current:
1. mount calls mount.gfs2
2. mount.gfs2 connects to gfs_controld to retrieve the journal id
3. mount.gfs2 adds the journal id to the mount command line and calls
the mount system call
4. gfs_controld receives the status of the mount request via a uevent

Proposed:
1. mount calls the mount system call (no mount.gfs2 helper)
2. gfs_controld receives a uevent for a gfs2 fs which it doesn't know
about already
3. gfs_controld assigns a journal id to it via sysfs
4. the mount system call then completes as normal (sending a uevent
according to status)

The advantage of the proposed system is that it is completely backward
compatible with the current system both at the kernel and at the
userland levels. The "first" parameter can also be set the same way,
with the restriction that it must be set before the journal id is
assigned.

In addition, if mount becomes stuck waiting for a reply from
gfs_controld which never arrives, then it is killable and will abort the
mount gracefully.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2010-07-29 09:36:35 +01:00
..
Kconfig GFS2: do not select QUOTA 2010-03-09 10:08:36 +00:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
acl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes 2010-05-25 08:17:51 -07:00
acl.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
aops.c GFS2: Use nobh_writepage 2010-07-29 09:36:14 +01:00
bmap.c GFS2: O_TRUNC not working on stuffed files across cluster 2010-07-15 09:05:17 +01:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dentry.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dir.c GFS2: Use kmalloc when possible for ->readdir() 2010-07-28 11:10:03 -07:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
export.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw 2010-05-21 07:29:15 -07:00
file.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c mm: add context argument to shrinker callback 2010-07-19 14:56:17 +10:00
glock.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
glops.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Wait for journal id on mount if not specified on mount command line 2010-07-29 09:36:35 +01:00
inode.c GFS2: Fix kernel NULL pointer dereference by dlm_astd 2010-07-15 09:06:25 +01:00
inode.h GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
lock_dlm.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
log.c GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
log.h GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
lops.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Remove space from slab cache name 2010-03-29 14:26:49 +01:00
meta_io.c GFS2: Eliminate useless err variable 2010-05-12 09:52:50 +01:00
meta_io.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
ops_fstype.c GFS2: Wait for journal id on mount if not specified on mount command line 2010-07-29 09:36:35 +01:00
ops_inode.c kill spurious reference to vmtruncate 2010-05-27 22:15:42 -04:00
quota.c mm: add context argument to shrinker callback 2010-07-19 14:56:17 +10:00
quota.h mm: add context argument to shrinker callback 2010-07-19 14:56:17 +10:00
recovery.c GFS2: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
recovery.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
rgrp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes 2010-05-25 08:17:51 -07:00
rgrp.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
super.c GFS2: Add some useful messages 2010-05-06 11:03:29 +01:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c GFS2: Wait for journal id on mount if not specified on mount command line 2010-07-29 09:36:35 +01:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trace_gfs2.h tracing/events: Move TRACE_SYSTEM outside of include guard 2009-07-13 10:59:55 +02:00
trans.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
util.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
xattr.c gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00