* [Cluster-devel] [PATCH] GFS2: bz 243131: Can't mount GFS2 file system on AoE device
@ 2007-06-07 14:10 Robert Peterson
0 siblings, 0 replies; only message in thread
From: Robert Peterson @ 2007-06-07 14:10 UTC (permalink / raw)
To: cluster-devel.redhat.com
This patch fixes bug 243131: Can't mount GFS2 file system on AoE device.
When using AoE devices with lock_nolock, there is no locking table, so
gfs2 (and gfs1) uses the superblock s_id. This turns out to be the device
name in some cases. In the case of AoE, the device contains a slash,
(e.g. "etherd/e1.1p2") which is an invalid character when we try to
register the table in sysfs. This patch replaces the "/" with underscore.
Rather than add a new variable to the stack, I'm just reusing a (char *)
variable that's no longer used: table.
This code has been tested on the failing system using a RHEL5 patch.
The upstream code was tested by using gfs2_tool sb to interject a "/"
into the table name of a clustered gfs2 file system.
This version of the patch is against today's gfs2 git tree.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
--
fs/gfs2/ops_fstype.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index b467272..dae1d71 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -145,6 +145,9 @@ static int init_names(struct gfs2_sbd *sdp, int silent)
snprintf(sdp->sd_proto_name, GFS2_FSNAME_LEN, "%s", proto);
snprintf(sdp->sd_table_name, GFS2_FSNAME_LEN, "%s", table);
+ while ((table = strchr(sdp->sd_table_name, '/')))
+ *table = '_';
+
out:
return error;
}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2007-06-07 14:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-07 14:10 [Cluster-devel] [PATCH] GFS2: bz 243131: Can't mount GFS2 file system on AoE device Robert Peterson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.