mkfs.gfs2: Allow longer cluster names
PATCH 1/1 mkfs.gfs2: Allow longer cluster names
Increase the enforced limit for cluster name to 32 bytes and file system name to 30 bytes for mkfs.gfs2 (was previously 16 + 16 bytes).
Also increased this limit in tunegfs2 when labelling gfs2 file systems.
Updated the formation in the man pages along with adding a new test case for mkfs.gfs2 to validate the increased cluster/file system name support.
--- gfs2/man/mkfs.gfs2.8 | 4 ++-- gfs2/mkfs/main_mkfs.c | 4 ++-- gfs2/tune/super.c | 2 +- tests/mkfs.at | 8 ++++++++ 4 files changed, 13 insertions(+), 5 deletions(-)
gfs2/man/mkfs.gfs2.8 +2 -2
@@ -101,9 +101,9 @@ bigger file systems will have bigger RGs for better performance. The lock table field appropriate to the lock module you're using. It is \fIclustername:fsname\fR. Clustername must match that in cluster.conf; only members of this -cluster are permitted to use this file system. +cluster are permitted to use this file system (1 to 32 characters). Fsname is a unique file system name used to distinguish this GFS2 file -system from others created (1 to 16 characters). Lock_nolock doesn't +system from others created (1 to 30 characters). Lock_nolock doesn't use this field. Valid \fIclustername\fRs and \fIfsname\fRs may only contain alphanumeric characters, hyphens (-) and underscores (_). .TP
gfs2/mkfs/main_mkfs.c +2 -2
@@ -398,7 +398,7 @@ static void test_locking(const char *lockproto, const char *locktable)if (c == locktable)die ("%s %s\n" , errprefix,_ ("cluster name is missing" )); -if (c - locktable >16 ) +if (c - locktable >32 )die ("%s %s\n" , errprefix,_ ("cluster name is too long" )); c++;
@@ -406,7 +406,7 @@ static void test_locking(const char *lockproto, const char *locktable)die ("%s %s\n" , errprefix,_ ("contains more than one colon" ));if (!strlen (c))die ("%s %s\n" , errprefix,_ ("file system name is missing" )); -if (strlen (c) >16 ) +if (strlen (c) >30 )die ("%s %s\n" , errprefix,_ ("file system name is too long" )); }else {die (_ ("Invalid lock protocol: %s\n" ), lockproto);
gfs2/tune/super.c +1 -1
@@ -194,7 +194,7 @@ int change_locktable(struct tunegfs2 *tfs, const char *locktable)fprintf (stderr,"%s %s\n" , errpre,_ ("missing colon" ));return EX_DATAERR ; } -if (strlen (++fsname) >16 ) { +if (strlen (++fsname) >30 ) {fprintf (stderr,"%s %s\n" , errpre,_ ("file system name is too long" ));return EX_DATAERR ; }
tests/mkfs.at +8 -0
@@ -89,3 +89,11 @@ AT_SETUP([Min. quota change file size]) AT_KEYWORDS(mkfs.gfs2 mkfs) GFS_FSCK_CHECK([$GFS_MKFS -p lock_nolock -c 1 $GFS_TGT]) AT_CLEANUP + +AT_SETUP([Incr. cluster/file system name validation]) +AT_KEYWORDS(mkfs.gfs2 mkfs) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "" $GFS_TGT], 255, [ignore], [ignore]) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "quite_long_cluster_name_test_here:intec34p" $GFS_TGT], 255, [ignore], [ignore]) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "financial_cluster:this_time_we_test_fs_naming_len" $GFS_TGT], 255, [ignore], [ignore]) +GFS_FSCK_CHECK([$GFS_MKFS -p lock_dlm -t "a_really_long_named_cluster_here:concurrently_lets_check_fs_len" $GFS_TGT]) +AT_CLEANUP
Signature · 1 line
1.9.3
PATCH 1/1 mkfs.gfs2: Allow longer cluster names
Quoted 4 lines · Paul Evans
Increase the enforced limit for cluster name to 32 bytes and file system name to 30 bytes for mkfs.gfs2 (was previously 16 + 16 bytes).
Quoted 8 lines
Also increased this limit in tunegfs2 when labelling gfs2 file systems.
Updated the formation in the man pages along with adding a new test case for mkfs.gfs2 to validate the increased cluster/file system name support.
Signed-off-by Paul Evans <[email protected]>
Looks good to me.
Thanks,
Andy
Quoted 75 lines
--- gfs2/man/mkfs.gfs2.8 | 4 ++-- gfs2/mkfs/main_mkfs.c | 4 ++-- gfs2/tune/super.c | 2 +- tests/mkfs.at | 8 ++++++++ 4 files changed, 13 insertions(+), 5 deletions(-)gfs2/man/mkfs.gfs2.8 +2
-2@@ -101,9 +101,9 @@ bigger file systems will have bigger RGs for better performance. The lock table field appropriate to the lock module you're using. It is \fIclustername:fsname\fR. Clustername must match that in cluster.conf; only members of this -cluster are permitted to use this file system. +cluster are permitted to use this file system (1 to 32 characters). Fsname is a unique file system name used to distinguish this GFS2 file -system from others created (1 to 16 characters). Lock_nolock doesn't +system from others created (1 to 30 characters). Lock_nolock doesn't use this field. Valid \fIclustername\fRs and \fIfsname\fRs may only contain alphanumeric characters, hyphens (-) and underscores (_). .TPgfs2/mkfs/main_mkfs.c +2
-2@@ -398,7 +398,7 @@ static void test_locking(const char *lockproto, const char *locktable)if (c == locktable)die ("%s %s\n" , errprefix,_ ("cluster name is missing" )); -if (c - locktable >16 ) +if (c - locktable >32 )die ("%s %s\n" , errprefix,_ ("cluster name is too long" )); c++;@@ -406,7 +406,7 @@ static void test_locking(const char *lockproto, const char *locktable)die ("%s %s\n" , errprefix,_ ("contains more than one colon" ));if (!strlen (c))die ("%s %s\n" , errprefix,_ ("file system name is missing" )); -if (strlen (c) >16 ) +if (strlen (c) >30 )die ("%s %s\n" , errprefix,_ ("file system name is too long" )); }else {die (_ ("Invalid lock protocol: %s\n" ), lockproto);gfs2/tune/super.c +1
-1@@ -194,7 +194,7 @@ int change_locktable(struct tunegfs2 *tfs, const char *locktable)fprintf (stderr,"%s %s\n" , errpre,_ ("missing colon" ));return EX_DATAERR ; } -if (strlen (++fsname) >16 ) { +if (strlen (++fsname) >30 ) {fprintf (stderr,"%s %s\n" , errpre,_ ("file system name is too long" ));return EX_DATAERR ; }tests/mkfs.at +8
-0@@ -89,3 +89,11 @@ AT_SETUP([Min. quota change file size]) AT_KEYWORDS(mkfs.gfs2 mkfs) GFS_FSCK_CHECK([$GFS_MKFS -p lock_nolock -c 1 $GFS_TGT]) AT_CLEANUP + +AT_SETUP([Incr. cluster/file system name validation]) +AT_KEYWORDS(mkfs.gfs2 mkfs) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "" $GFS_TGT], 255, [ignore], [ignore]) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "quite_long_cluster_name_test_here:intec34p" $GFS_TGT], 255, [ignore], [ignore]) +AT_CHECK([$GFS_MKFS -p lock_dlm -t "financial_cluster:this_time_we_test_fs_naming_len" $GFS_TGT], 255, [ignore], [ignore]) +GFS_FSCK_CHECK([$GFS_MKFS -p lock_dlm -t "a_really_long_named_cluster_here:concurrently_lets_check_fs_len" $GFS_TGT]) +AT_CLEANUP
PATCH 1/1 mkfs.gfs2: Allow longer cluster names
In reply to Paul Evans----- Original Message -----
Quoted 11 lines
Increase the enforced limit for cluster name to 32 bytes and file system name to 30 bytes for mkfs.gfs2 (was previously 16 + 16 bytes).
Also increased this limit in tunegfs2 when labelling gfs2 file systems.
Updated the formation in the man pages along with adding a new test case for mkfs.gfs2 to validate the increased cluster/file system name support.
Quoted 7 lines
Signed-off-by Paul Evans <[email protected]>--- gfs2/man/mkfs.gfs2.8 | 4 ++-- gfs2/mkfs/main_mkfs.c | 4 ++-- gfs2/tune/super.c | 2 +- tests/mkfs.at | 8 ++++++++ 4 files changed, 13 insertions(+), 5 deletions(-)
Hi,
ACK
Bob Peterson
Red Hat File Systems