linux-stable/fs/gfs2
Steven Whitehouse f55073ff1e GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one)
We have a long term plan to use the "-o meta" flag to GFS2 mounts to
access the alternate root which is used to store metadata for a GFS2
filesystem. This will allow us to eventually remove support for the
gfs2meta filesystem type (which is in any case just a "front end" to
the gfs2 filesystem type with the meta/master root).

Currently the "-o meta" option is only taken into account on the
initial mount of the filesystem. Subsequent mounts of the same
filesystem (i.e. on the same device) result in basically the same
as bind mounting the root of the original mount.

This patch changes that by using what is more or less a copy
of get_sb_bdev() and extending it so that it will take into
account the alternate root in all cases. The main difference
is that we have to parse the mount options a bit earlier. We can
then use them to select the appropriate root towards the end of
the function.

In addition this also fixes a bug where it was possible (but certainly
not desirable) to set different ro/rw options for the meta root
when mounted via the gfs2meta fs compared with the original mount.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Alexander Viro <aviro@redhat.com>
2009-12-03 11:42:47 +00:00
..
acl.c GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
acl.h [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
aops.c HWPOISON: Enable .remove_error_page for migration aware file systems 2009-09-16 11:50:16 +02:00
bmap.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dentry.c GFS2: free disk inode which is deleted by remote node -V2 2009-08-18 10:29:39 +01:00
dir.c GFS2: Improve resource group error handling 2009-05-20 10:48:47 +01:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
export.c GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
file.c const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
gfs2.h
glock.c GFS2: Fix potential race in glock code 2009-12-03 11:42:25 +00:00
glock.h GFS2: remove dcache entries for remote deleted inodes 2009-07-30 11:01:03 +01:00
glops.c GFS2: remove dcache entries for remote deleted inodes 2009-07-30 11:01:03 +01:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Remove unused sysfs file 2009-09-09 15:59:35 +01:00
inode.c GFS2: Remove no_formal_ino generating code 2009-08-27 15:51:07 +01:00
inode.h GFS2: Move gfs2_unlink_ok into ops_inode.c 2009-05-22 10:54:50 +01:00
Kconfig block: rename CONFIG_LBD to CONFIG_LBDAF 2009-06-19 08:08:50 +02:00
lock_dlm.c GFS2: Fix locking bug in failed shared to exclusive conversion 2009-03-24 11:21:26 +00:00
log.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
log.h
lops.c GFS2: Add tracepoints 2009-06-12 08:49:20 +01:00
lops.h
main.c SLOW_WORK: Wait for outstanding work items belonging to a module to clear 2009-11-19 18:10:23 +00:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
meta_io.c GFS2: Clean up some file names 2009-05-22 10:01:55 +01:00
meta_io.h GFS2: Clean up of glops.c 2009-03-24 11:21:27 +00:00
ops_fstype.c GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) 2009-12-03 11:42:47 +00:00
ops_inode.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
quota.c GFS2: Clean up some file names 2009-05-22 10:01:55 +01:00
quota.h GFS2: change gfs2_quota_scan into a shrinker 2009-03-24 11:21:12 +00:00
recovery.c SLOW_WORK: Fix GFS2 to #include <linux/module.h> before using THIS_MODULE 2009-11-20 21:50:40 +00:00
recovery.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
rgrp.c trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
rgrp.h GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
super.c GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) 2009-12-03 11:42:47 +00:00
super.h GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) 2009-12-03 11:42:47 +00:00
sys.c GFS2: Remove unused sysfs file 2009-09-09 15:59: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: Move journal live test at transaction start 2009-05-13 10:56:52 +01:00
trans.h
util.c GFS2: Add "-o errors=panic|withdraw" mount options 2009-08-24 10:44:18 +01:00
util.h GFS2: Clean up & move gfs2_quotad 2009-01-05 07:39:05 +00:00
xattr.c GFS2: Whitespace fixes 2009-09-14 09:50:57 +01:00
xattr.h GFS2: Whitespace fixes 2009-09-14 09:50:57 +01:00