cluster: RHEL510 - cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network outage
by Christine Caulfield
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=75c20f80a14...
Commit: 75c20f80a14595f912814bb78e66fc5702c82296
Parent: b0c42d287f7f749794a61796f016c2e56148d64b
Author: Christine Caulfield <ccaulfie(a)redhat.com>
AuthorDate: Fri Jan 11 13:45:50 2013 +0000
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Fri Jan 11 13:45:50 2013 +0000
cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network outage
This patch fixes a rare but nasty condition in cman and fenced. In a 2node cluster
if the network splits for a period of time longer than the token timeout but
shorter than the time needed to fence a node then both nodes can send 'kill'
packets to the other with the effect that both nodes' cmans will quit
leaving no operational cluster.
This patch adds a check for a 2node cluster and only sends a 'kill' packet
to the node with the higher nodeid thus ensuring a predictable response
to such events and ensuring that services can continue to run.
rhbz#876731
Signed-off-by: Christine Caulfield <ccaulfie(a)redhat.com>
Acked-By: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/daemon/commands.c | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index 1fafdac..6f3ec4e 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -1829,10 +1829,31 @@ static void do_process_transition(int nodeid, char *data, int len)
/* Don't duplicate messages */
if (node->state != NODESTATE_AISONLY) {
if (cluster_is_quorate) {
- P_MEMB("Killing node %s because it has rejoined the cluster with existing state", node->name);
- log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
node->state = NODESTATE_AISONLY;
- send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ /* Oh, this gets even more complicated. Don't send a KILL message if we are in a two_node
+ * cluster and that node has a lower node ID than us.
+ * This allows fencing time to startup and caters for the situation where
+ * a node rejoins REALLY quickly, before fencing has had time to work.
+ * I've split this up a bit partly for clarity, but mainly so allow us to
+ * print out helpful messages as to what we are up to here.
+ */
+ if (two_node) {
+ if (node->node_id > us->node_id) {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state and has higher node ID", node->name);
+ P_MEMB("Killing node %s because it has rejoined the cluster with existing state and has higher node ID", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
+ else {
+ log_printf(LOG_CRIT, "Not killing node %s despite it rejoining the cluster with existing state, it has a lower node ID", node->name);
+ P_MEMB("Not killing node %s despite it rejoining the cluster with existing state, it has a lower node ID", node->name);
+ }
+ }
+ else {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
+ P_MEMB("Killing node %s because it has rejoined the cluster with existing state", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
+
}
else {
P_MEMB("Node %s not joined to cman because it has existing state", node->name);
11 years, 3 months
cluster: RHEL6 - cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network out
by Christine Caulfield
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=05bc9dc0345...
Commit: 05bc9dc0345966bfbc6ade0ea9520206379d0068
Parent: f5f29115b364e590a6f6fb1f560a4a268ab23fff
Author: Christine Caulfield <ccaulfie(a)redhat.com>
AuthorDate: Fri Jan 11 13:41:15 2013 +0000
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Fri Jan 11 13:41:15 2013 +0000
cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network out
This patch fixes a rare but nasty condition in cman and fenced. In a 2node cluster
if the network splits for a period of time longer than the token timeout but
shorter than the time needed to fence a node then both nodes can send 'kill'
packets to the other with the effect that both nodes' cmans will quit
leaving no operational cluster.
This patch adds a check for a 2node cluster and only sends a 'kill' packet
to the node with the higher nodeid thus ensuring a predictable response
to such events and ensuring that services can continue to run.
The cman part of this patch is only active if Disallowed is enabled,
which is rare; the fenced part is more likely to be invoked
rhbz#893925
Signed-off-by: David Teigland <teigland(a)redhat.com>
Signed-off-by: Christine Caulfield <ccaulfie(a)redhat.com>
Acked-By: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/daemon/commands.c | 23 +++++++++++++++++++++--
fence/fenced/config.c | 3 +++
fence/fenced/fd.h | 1 +
fence/fenced/main.c | 1 +
fence/fenced/member_cman.c | 11 +++++++++++
5 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index 83a2f4a..f8f8114 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -2059,9 +2059,28 @@ static void do_process_transition(int nodeid, char *data)
/* Don't duplicate messages */
if (node->state != NODESTATE_AISONLY) {
if (cluster_is_quorate) {
- log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
node->state = NODESTATE_AISONLY;
- send_kill(nodeid, CLUSTER_KILL_REJOIN);
+
+ /* Oh, this gets even more complicated. Don't send a KILL message if we are in a two_node
+ * cluster and that node has a lower node ID than us.
+ * This allows fencing time to startup and caters for the situation where
+ * a node rejoins REALLY quickly, before fencing has had time to work.
+ * I've split this up a bit partly for clarity, but mainly so allow us to
+ * print out helpful messages as to what we are up to here.
+ */
+ if (two_node) {
+ if (node->node_id > us->node_id) {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state and has higher node ID", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
+ else {
+ log_printf(LOG_CRIT, "Not killing node %s despite it rejoining the cluster with existing state, it has a lower node ID", node->name);
+ }
+ }
+ else {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
}
else {
log_printf(LOG_CRIT, "Node %s not joined to cman because it has existing state", node->name);
diff --git a/fence/fenced/config.c b/fence/fenced/config.c
index 66610ef..651ea8b 100644
--- a/fence/fenced/config.c
+++ b/fence/fenced/config.c
@@ -95,6 +95,7 @@ void read_ccs_int(const char *path, int *config_val)
#define OVERRIDE_PATH_PATH "/cluster/fence_daemon/@override_path"
#define OVERRIDE_TIME_PATH "/cluster/fence_daemon/@override_time"
#define METHOD_NAME_PATH "/cluster/clusternodes/clusternode[@name=\"%s\"]/fence/method[%d]/@name"
+#define TWO_NODE_PATH "/cluster/cman/two_node"
static int count_methods(char *victim)
{
@@ -139,6 +140,8 @@ int read_ccs(struct fd *fd)
if (!optd_clean_start)
read_ccs_int(CLEAN_START_PATH, &cfgd_clean_start);
+ read_ccs_int(TWO_NODE_PATH, &two_node_mode);
+
reread_ccs();
if (!optd_override_path) {
diff --git a/fence/fenced/fd.h b/fence/fenced/fd.h
index 205836c..34a6c7f 100644
--- a/fence/fenced/fd.h
+++ b/fence/fenced/fd.h
@@ -75,6 +75,7 @@ extern char dump_buf[FENCED_DUMP_SIZE];
extern int dump_point;
extern int dump_wrap;
extern int group_mode;
+extern int two_node_mode;
extern void daemon_dump_save(void);
diff --git a/fence/fenced/main.c b/fence/fenced/main.c
index 8e4f10b..924b8c9 100644
--- a/fence/fenced/main.c
+++ b/fence/fenced/main.c
@@ -1101,4 +1101,5 @@ char dump_buf[FENCED_DUMP_SIZE];
int dump_point;
int dump_wrap;
int group_mode;
+int two_node_mode;
diff --git a/fence/fenced/member_cman.c b/fence/fenced/member_cman.c
index a7f4341..ced4272 100644
--- a/fence/fenced/member_cman.c
+++ b/fence/fenced/member_cman.c
@@ -32,6 +32,17 @@ void kick_node_from_cluster(int nodeid)
log_error("telling cman to shut down cluster locally");
cman_shutdown(ch_admin, CMAN_SHUTDOWN_ANYWAY);
} else {
+
+ /* in a two_node cluster where both nodes maintain quorum
+ * by themselves during a partition+merge, both will kick
+ * the other, which can leave both dead and unfenced.
+ * this delay should help */
+
+ if (two_node_mode && our_nodeid > nodeid) {
+ log_debug("kick_node_from_cluster %d delay", nodeid);
+ sleep(5);
+ }
+
log_error("telling cman to remove nodeid %d from cluster",
nodeid);
cman_kill_node(ch_admin, nodeid);
11 years, 3 months
cluster: STABLE32 - cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network outage
by Christine Caulfield
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=7cdf5a89712...
Commit: 7cdf5a89712994a06e1bf95879e580e81e6a9b9a
Parent: 87135d56ee90e7bb1a87b6d12fdd69a63aee747f
Author: Christine Caulfield <ccaulfie(a)redhat.com>
AuthorDate: Fri Jan 11 13:32:17 2013 +0000
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Fri Jan 11 13:32:17 2013 +0000
cman|fenced: Fix node killing in case of a 2node cluster that suffers brief network outage
This patch fixes a rare but nasty condition in cman and fenced. In a 2node cluster
if the network splits for a period of time longer than the token timeout but
shorter than the time needed to fence a node then both nodes can send 'kill'
packets to the other with the effect that both nodes' cmans will quit
leaving no operational cluster.
This patch adds a check for a 2node cluster and only sends a 'kill' packet
to the node with the higher nodeid thus ensuring a predictable response
to such events and ensuring that services can continue to run.
The cman part of this patch is only active if Disallowed is enabled,
which is rare; the fenced part is more likely to be invoked
Signed-off-by: David Teigland <teigland(a)redhat.com>
Signed-off-by: Christine Caulfield <ccaulfie(a)redhat.com>
Acked-By: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/daemon/commands.c | 23 +++++++++++++++++++++--
fence/fenced/config.c | 3 +++
fence/fenced/fd.h | 1 +
fence/fenced/main.c | 1 +
fence/fenced/member_cman.c | 11 +++++++++++
5 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index e7df2f3..bbbc460 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -2054,9 +2054,28 @@ static void do_process_transition(int nodeid, char *data)
/* Don't duplicate messages */
if (node->state != NODESTATE_AISONLY) {
if (cluster_is_quorate) {
- log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
node->state = NODESTATE_AISONLY;
- send_kill(nodeid, CLUSTER_KILL_REJOIN);
+
+ /* Oh, this gets even more complicated. Don't send a KILL message if we are in a two_node
+ * cluster and that node has a lower node ID than us.
+ * This allows fencing time to startup and caters for the situation where
+ * a node rejoins REALLY quickly, before fencing has had time to work.
+ * I've split this up a bit partly for clarity, but mainly so allow us to
+ * print out helpful messages as to what we are up to here.
+ */
+ if (two_node) {
+ if (node->node_id > us->node_id) {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state and has higher node ID", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
+ else {
+ log_printf(LOG_CRIT, "Not killing node %s despite it rejoining the cluster with existing state, it has a lower node ID", node->name);
+ }
+ }
+ else {
+ log_printf(LOG_CRIT, "Killing node %s because it has rejoined the cluster with existing state", node->name);
+ send_kill(nodeid, CLUSTER_KILL_REJOIN);
+ }
}
else {
log_printf(LOG_CRIT, "Node %s not joined to cman because it has existing state", node->name);
diff --git a/fence/fenced/config.c b/fence/fenced/config.c
index 66610ef..651ea8b 100644
--- a/fence/fenced/config.c
+++ b/fence/fenced/config.c
@@ -95,6 +95,7 @@ void read_ccs_int(const char *path, int *config_val)
#define OVERRIDE_PATH_PATH "/cluster/fence_daemon/@override_path"
#define OVERRIDE_TIME_PATH "/cluster/fence_daemon/@override_time"
#define METHOD_NAME_PATH "/cluster/clusternodes/clusternode[@name=\"%s\"]/fence/method[%d]/@name"
+#define TWO_NODE_PATH "/cluster/cman/two_node"
static int count_methods(char *victim)
{
@@ -139,6 +140,8 @@ int read_ccs(struct fd *fd)
if (!optd_clean_start)
read_ccs_int(CLEAN_START_PATH, &cfgd_clean_start);
+ read_ccs_int(TWO_NODE_PATH, &two_node_mode);
+
reread_ccs();
if (!optd_override_path) {
diff --git a/fence/fenced/fd.h b/fence/fenced/fd.h
index 8423d9d..3032369 100644
--- a/fence/fenced/fd.h
+++ b/fence/fenced/fd.h
@@ -75,6 +75,7 @@ extern char dump_buf[FENCED_DUMP_SIZE];
extern int dump_point;
extern int dump_wrap;
extern int group_mode;
+extern int two_node_mode;
extern void daemon_dump_save(void);
diff --git a/fence/fenced/main.c b/fence/fenced/main.c
index c7f6269..360e73e 100644
--- a/fence/fenced/main.c
+++ b/fence/fenced/main.c
@@ -1088,4 +1088,5 @@ char dump_buf[FENCED_DUMP_SIZE];
int dump_point;
int dump_wrap;
int group_mode;
+int two_node_mode;
diff --git a/fence/fenced/member_cman.c b/fence/fenced/member_cman.c
index 061136e..859bbf0 100644
--- a/fence/fenced/member_cman.c
+++ b/fence/fenced/member_cman.c
@@ -27,6 +27,17 @@ void kick_node_from_cluster(int nodeid)
log_error("telling cman to shut down cluster locally");
cman_shutdown(ch_admin, CMAN_SHUTDOWN_ANYWAY);
} else {
+
+ /* in a two_node cluster where both nodes maintain quorum
+ * by themselves during a partition+merge, both will kick
+ * the other, which can leave both dead and unfenced.
+ * this delay should help */
+
+ if (two_node_mode && our_nodeid > nodeid) {
+ log_debug("kick_node_from_cluster %d delay", nodeid);
+ sleep(5);
+ }
+
log_error("telling cman to remove nodeid %d from cluster",
nodeid);
cman_kill_node(ch_admin, nodeid);
11 years, 3 months
gfs2-utils: master - gfs2-utils: Update translations and .gitignore
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=4bbf3baa...
Commit: 4bbf3baa94249ce80449c451460938ca33a1dff4
Parent: 583efac3c351511ef91f5c2c659f3ec217337802
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Jan 10 09:42:07 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Thu Jan 10 09:42:07 2013 +0000
gfs2-utils: Update translations and .gitignore
Update gfs2-utils.pot and add a generated file to .gitignore
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
.gitignore | 1 +
po/gfs2-utils.pot | 655 +++++++++++++++++++++++++++--------------------------
2 files changed, 331 insertions(+), 325 deletions(-)
diff --git a/.gitignore b/.gitignore
index 24344c2..bd47927 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,4 @@ ABOUT-NLS
po/Makevars.template
po/POTFILES
po/stamp-po
+po/remove-potcdate.sed
diff --git a/po/gfs2-utils.pot b/po/gfs2-utils.pot
index 1b082a2..1ec9101 100644
--- a/po/gfs2-utils.pot
+++ b/po/gfs2-utils.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gfs2-utils master\n"
"Report-Msgid-Bugs-To: linux-cluster(a)redhat.com\n"
-"POT-Creation-Date: 2012-11-15 18:50+0000\n"
+"POT-Creation-Date: 2013-01-10 09:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -17,367 +17,369 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gfs2/mkfs/main_mkfs.c:55 gfs2/mkfs/main_mkfs.c:56 gfs2/mkfs/main_mkfs.c:59
-#: gfs2/mkfs/main_mkfs.c:65
+#. Translators: This is a usage string printed with --help.
+#. <size> and <number> here are to commandline parameters,
+#. e.g. mkfs.gfs2 -b <size> -j <number> /dev/sda
+#: gfs2/mkfs/main_mkfs.c:58 gfs2/mkfs/main_mkfs.c:59 gfs2/mkfs/main_mkfs.c:62
+#: gfs2/mkfs/main_mkfs.c:68
msgid "<size>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:55
+#: gfs2/mkfs/main_mkfs.c:58
msgid "File system block size, in bytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:56 gfs2/mkfs/main_jadd.c:82
+#. Translators: This is a usage string printed with --help.
+#. <size> and <number> here are to commandline parameters,
+#. e.g. gfs2_jadd -j <number> /dev/sda
+#: gfs2/mkfs/main_mkfs.c:59 gfs2/mkfs/main_jadd.c:85
msgid "Size of quota change file, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:57 gfs2/mkfs/main_jadd.c:83
+#: gfs2/mkfs/main_mkfs.c:60 gfs2/mkfs/main_jadd.c:86
msgid "Enable debugging code"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:58 gfs2/mkfs/main_jadd.c:84
+#: gfs2/mkfs/main_mkfs.c:61 gfs2/mkfs/main_jadd.c:87
msgid "Display this help, then exit"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:59 gfs2/mkfs/main_jadd.c:85
+#: gfs2/mkfs/main_mkfs.c:62 gfs2/mkfs/main_jadd.c:88
msgid "Size of journals, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:60
+#: gfs2/mkfs/main_mkfs.c:63
msgid "<number>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:60 gfs2/mkfs/main_jadd.c:86
+#: gfs2/mkfs/main_mkfs.c:63 gfs2/mkfs/main_jadd.c:89
msgid "Number of journals"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:61
+#: gfs2/mkfs/main_mkfs.c:64
msgid "Don't try to discard unused blocks"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:62
+#: gfs2/mkfs/main_mkfs.c:65
msgid "Don't ask for confirmation"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:63 gfs2/mkfs/main_mkfs.c:66
+#: gfs2/mkfs/main_mkfs.c:66 gfs2/mkfs/main_mkfs.c:69
msgid "<name>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:63
+#: gfs2/mkfs/main_mkfs.c:66
msgid "Name of the locking protocol"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:64 gfs2/mkfs/main_jadd.c:87
+#: gfs2/mkfs/main_mkfs.c:67 gfs2/mkfs/main_jadd.c:90
msgid "Don't print anything"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:65
+#: gfs2/mkfs/main_mkfs.c:68
msgid "Size of resource groups, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:66
+#: gfs2/mkfs/main_mkfs.c:69
msgid "Name of the lock table"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:67
+#: gfs2/mkfs/main_mkfs.c:70
msgid "Display program version information, then exit"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:71 gfs2/mkfs/main_grow.c:75 gfs2/mkfs/main_jadd.c:92
+#: gfs2/mkfs/main_mkfs.c:74 gfs2/mkfs/main_grow.c:75 gfs2/mkfs/main_jadd.c:95
+#: gfs2/tune/main.c:56 gfs2/fsck/main.c:53
msgid "Usage:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:72 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:93
+#: gfs2/mkfs/main_mkfs.c:75 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:96
msgid "options"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:72 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:93
+#: gfs2/mkfs/main_mkfs.c:75 gfs2/mkfs/main_grow.c:76 gfs2/mkfs/main_jadd.c:96
+#: gfs2/tune/main.c:57 gfs2/fsck/main.c:53
msgid "device"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:72
+#: gfs2/mkfs/main_mkfs.c:75
msgid "size"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:73
+#: gfs2/mkfs/main_mkfs.c:76
#, c-format
msgid ""
"Create a gfs2 file system on a device. If a size, in blocks, is not "
"specified, the whole device will be used."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:75 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:95
+#: gfs2/mkfs/main_mkfs.c:78 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:98
msgid "Options:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:96
+#. Translators: "discard" is a request sent to a storage device to
+#. * discard a range of blocks.
+#: gfs2/mkfs/main_mkfs.c:101
#, c-format
-msgid "Issuing discard ioctl: range: %llu - %llu..."
+msgid "Issuing discard request: range: %llu - %llu..."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:101
+#: gfs2/mkfs/main_mkfs.c:106
msgid "error"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:105
+#: gfs2/mkfs/main_mkfs.c:110
#, c-format
msgid "Successful.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:165
+#: gfs2/mkfs/main_mkfs.c:170
#, c-format
-msgid "lock protocol name %s is too long\n"
+msgid "lock protocol name '%s' is too long\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:180
+#: gfs2/mkfs/main_mkfs.c:185
#, c-format
-msgid "lock table name %s is too long\n"
+msgid "lock table name '%s' is too long\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:197 gfs2/mkfs/main_grow.c:120
-#: gfs2/mkfs/main_jadd.c:152 gfs2/fsck/main.c:103 gfs2/fsck/main.c:114
+#: gfs2/mkfs/main_mkfs.c:202 gfs2/mkfs/main_grow.c:120
+#: gfs2/mkfs/main_jadd.c:155 gfs2/fsck/main.c:103 gfs2/fsck/main.c:114
#, c-format
msgid "Please use '-h' for help.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:214
+#: gfs2/mkfs/main_mkfs.c:219
msgid "More than one device specified (try -h for help)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:218 gfs2/mkfs/main_jadd.c:159 gfs2/tune/main.c:92
+#: gfs2/mkfs/main_mkfs.c:223 gfs2/mkfs/main_jadd.c:162 gfs2/tune/main.c:93
#, c-format
msgid "Invalid option: %c\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:227 gfs2/convert/gfs2_convert.c:1722
-#: gfs2/convert/gfs2_convert.c:1726
-#, c-format
-msgid "No device specified. Please use '-h' for help\n"
+#: gfs2/mkfs/main_mkfs.c:232
+msgid "No device specified. Please use '-h' for help.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:233 gfs2/mkfs/main_jadd.c:171
+#: gfs2/mkfs/main_mkfs.c:238 gfs2/mkfs/main_jadd.c:174
#, c-format
msgid "Unrecognized argument: %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:236 gfs2/mkfs/main_jadd.c:174
+#: gfs2/mkfs/main_mkfs.c:241 gfs2/mkfs/main_jadd.c:177
#, c-format
msgid "Command Line Arguments:\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:246
+#: gfs2/mkfs/main_mkfs.c:251
msgid "Optimize for best performance"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:267
+#. Translators: A lock table is a string identifying a gfs2 file system
+#. * in a cluster, e.g. cluster_name:fs_name
+#: gfs2/mkfs/main_mkfs.c:274 gfs2/tune/super.c:183
msgid "Invalid lock table:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:274
+#: gfs2/mkfs/main_mkfs.c:281
#, c-format
msgid "No lock table specified.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:279
+#: gfs2/mkfs/main_mkfs.c:286
msgid "invalid character"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:284
+#: gfs2/mkfs/main_mkfs.c:291 gfs2/tune/super.c:193
msgid "missing colon"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:287
+#: gfs2/mkfs/main_mkfs.c:294
msgid "cluster name is missing"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:289
+#: gfs2/mkfs/main_mkfs.c:296
msgid "cluster name is too long"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:293
+#: gfs2/mkfs/main_mkfs.c:300 gfs2/tune/super.c:201
msgid "contains more than one colon"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:295
+#: gfs2/mkfs/main_mkfs.c:302
msgid "file system name is missing"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:297
-msgid "file system name too long"
+#: gfs2/mkfs/main_mkfs.c:304 gfs2/tune/super.c:197
+msgid "file system name is too long"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:299
+#: gfs2/mkfs/main_mkfs.c:306 gfs2/tune/super.c:167 gfs2/tune/super.c:173
#, c-format
msgid "Invalid lock protocol: %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:317
+#. Translators: We use rpmatch(3) to match the answers to y/n
+#. questions in the user's own language, so the [y/n] here must also be
+#. translated to match one of the letters in the pattern printed by
+#. `locale -k yesexpr` and one of the letters in the pattern printed by
+#. `locale -k noexpr`
+#: gfs2/mkfs/main_mkfs.c:329
#, c-format
msgid "Are you sure you want to proceed? [y/n]"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:327
-msgid "aborted\n"
+#: gfs2/mkfs/main_mkfs.c:339
+msgid "Aborted.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:347
+#: gfs2/mkfs/main_mkfs.c:359
#, c-format
-msgid "block size must be a power of two between 512 and %d\n"
+msgid "Block size must be a power of two between 512 and %d\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:351
+#: gfs2/mkfs/main_mkfs.c:363
#, c-format
msgid "Error: Block size %d is less than minimum logical block size (%d).\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:357
+#: gfs2/mkfs/main_mkfs.c:369
#, c-format
msgid ""
"WARNING: Block size %d is inefficient because it is less than the physical "
"block size (%d).\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:373 gfs2/mkfs/main_mkfs.c:376
+#. Translators: gfs2 file systems are split into equal sized chunks called
+#. resource groups. We're checking that the user gave a valid size for them.
+#: gfs2/mkfs/main_mkfs.c:387 gfs2/mkfs/main_mkfs.c:390
msgid "bad resource group size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:380 gfs2/mkfs/main_jadd.c:187
+#: gfs2/mkfs/main_mkfs.c:394 gfs2/mkfs/main_jadd.c:190
msgid "no journals specified\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:383 gfs2/mkfs/main_jadd.c:189
+#: gfs2/mkfs/main_mkfs.c:397 gfs2/mkfs/main_jadd.c:192
msgid "bad journal size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:386 gfs2/mkfs/main_jadd.c:191
+#: gfs2/mkfs/main_mkfs.c:400 gfs2/mkfs/main_jadd.c:194
msgid "bad quota change size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:471
+#: gfs2/mkfs/main_mkfs.c:485
#, c-format
msgid ""
"Content of file or device unknown (do you have GNU fileutils installed?)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:475
+#: gfs2/mkfs/main_mkfs.c:489
#, c-format
msgid "It appears to contain: %s"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:505
+#: gfs2/mkfs/main_mkfs.c:519
msgid "Expert mode:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:505
+#: gfs2/mkfs/main_mkfs.c:519
msgid "on"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:507 gfs2/mkfs/main_grow.c:285
+#: gfs2/mkfs/main_mkfs.c:521 gfs2/mkfs/main_grow.c:285
msgid "Device:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:509
+#: gfs2/mkfs/main_mkfs.c:523
msgid "Block size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:510 gfs2/mkfs/main_mkfs.c:645
+#: gfs2/mkfs/main_mkfs.c:524 gfs2/mkfs/main_mkfs.c:661
msgid "Device size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:511 gfs2/mkfs/main_mkfs.c:514
-#: gfs2/mkfs/main_mkfs.c:646
+#. Translators: "GB" here means "gigabytes"
+#: gfs2/mkfs/main_mkfs.c:526 gfs2/mkfs/main_mkfs.c:529
+#: gfs2/mkfs/main_mkfs.c:662
msgid "GB"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:512 gfs2/mkfs/main_mkfs.c:515
-#: gfs2/mkfs/main_mkfs.c:647
+#: gfs2/mkfs/main_mkfs.c:527 gfs2/mkfs/main_mkfs.c:530
+#: gfs2/mkfs/main_mkfs.c:663
msgid "blocks"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:513
+#: gfs2/mkfs/main_mkfs.c:528
msgid "Filesystem size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:516
+#: gfs2/mkfs/main_mkfs.c:531
msgid "Journals:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:517
+#: gfs2/mkfs/main_mkfs.c:532
msgid "Resource groups:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:518
+#: gfs2/mkfs/main_mkfs.c:533
msgid "Locking protocol:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:519
+#: gfs2/mkfs/main_mkfs.c:534
msgid "Lock table:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:522
+#: gfs2/mkfs/main_mkfs.c:537
msgid "Writes:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:525
+#. Translators: "UUID" = universally unique identifier.
+#: gfs2/mkfs/main_mkfs.c:540
msgid "UUID:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:539
+#: gfs2/mkfs/main_mkfs.c:554
msgid "Failed to lstat the device"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:547
+#: gfs2/mkfs/main_mkfs.c:562
msgid "Could not find the absolute path of the device"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:550
+#. Translators: Example: "/dev/vg/lv is a symbolic link to /dev/dm-2"
+#: gfs2/mkfs/main_mkfs.c:566
#, c-format
-msgid "%s is a symlink to %s\n"
+msgid "%s is a symbolic link to %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:599
+#: gfs2/mkfs/main_mkfs.c:615
msgid "Failed to build string"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:605
+#: gfs2/mkfs/main_mkfs.c:621
#, c-format
msgid "This will destroy any data on %s.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:629
+#: gfs2/mkfs/main_mkfs.c:645
msgid "Using block size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:634 gfs2/mkfs/main_grow.c:367
-#: gfs2/mkfs/main_jadd.c:519
-msgid "Bad constants (1)"
+#: gfs2/mkfs/main_mkfs.c:650
+msgid "Failed to compute file system constants"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:644
+#: gfs2/mkfs/main_mkfs.c:660
msgid "Specified size is bigger than the device."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:671
-msgid "Error building jindex"
-msgstr ""
-
-#: gfs2/mkfs/main_mkfs.c:676
-msgid "Error building per-node directory"
-msgstr ""
-
-#: gfs2/mkfs/main_mkfs.c:681
-msgid "Error building inum inode"
-msgstr ""
-
-#: gfs2/mkfs/main_mkfs.c:687
-msgid "Error building statfs inode"
-msgstr ""
-
-#: gfs2/mkfs/main_mkfs.c:693
-msgid "Error building rindex inode"
-msgstr ""
-
-#: gfs2/mkfs/main_mkfs.c:698
-msgid "Error building quota inode"
+#: gfs2/mkfs/main_mkfs.c:687 gfs2/mkfs/main_mkfs.c:692
+#: gfs2/mkfs/main_mkfs.c:697 gfs2/mkfs/main_mkfs.c:703
+#: gfs2/mkfs/main_mkfs.c:709 gfs2/mkfs/main_mkfs.c:714
+#, c-format
+msgid "Error building '%s': %s\n"
msgstr ""
#: gfs2/mkfs/main.c:51
@@ -393,7 +395,7 @@ msgid "Quiet, reduce verbosity"
msgstr ""
#: gfs2/mkfs/main_grow.c:69
-msgid "Do everything except update FS"
+msgid "Do everything except update file system"
msgstr ""
#: gfs2/mkfs/main_grow.c:70
@@ -407,8 +409,8 @@ msgstr ""
#: gfs2/mkfs/main_grow.c:77
#, c-format
msgid ""
-"Expands a GFS2 file system after the device upon which the file system "
-"resides has been expanded"
+"Expands a GFS2 file system after the device containing the file system has "
+"been expanded"
msgstr ""
#: gfs2/mkfs/main_grow.c:99
@@ -433,7 +435,7 @@ msgstr ""
#: gfs2/mkfs/main_grow.c:238
#, c-format
-msgid "Incorrect rindex size. want %ld(%d RGs), have %ld\n"
+msgid "Incorrect rindex size. want %ld(%d resource groups), have %ld\n"
msgstr ""
#: gfs2/mkfs/main_grow.c:248
@@ -474,6 +476,10 @@ msgstr ""
msgid "Initializing lists...\n"
msgstr ""
+#: gfs2/mkfs/main_grow.c:367 gfs2/mkfs/main_jadd.c:522
+msgid "Bad constants (1)"
+msgstr ""
+
#: gfs2/mkfs/main_grow.c:371
msgid "Error reading superblock.\n"
msgstr ""
@@ -483,7 +489,7 @@ msgid "cannot grow gfs1 filesystem\n"
msgstr ""
#: gfs2/mkfs/main_grow.c:377
-msgid "GFS2 metafs mount failed"
+msgid "Failed to mount GFS2 meta file system"
msgstr ""
#: gfs2/mkfs/main_grow.c:385
@@ -499,7 +505,7 @@ msgid "Error: No resource groups found.\n"
msgstr ""
#: gfs2/mkfs/main_grow.c:410
-msgid "Error: The device has grown by less than one Resource Group (RG).\n"
+msgid "Error: The device has grown by less than one resource group.\n"
msgstr ""
#: gfs2/mkfs/main_grow.c:412
@@ -509,545 +515,521 @@ msgstr ""
#: gfs2/mkfs/main_grow.c:414
#, c-format
-msgid "One RG is %uMB for this file system.\n"
+msgid "One resource group is %uMB for this file system.\n"
msgstr ""
#: gfs2/mkfs/main_grow.c:435
msgid "gfs2_grow complete.\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:88
+#: gfs2/mkfs/main_jadd.c:91
msgid "Display version information, then exit"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:94
+#: gfs2/mkfs/main_jadd.c:97
#, c-format
msgid "Adds journals to a GFS2 file system."
msgstr ""
-#: gfs2/mkfs/main_jadd.c:168
+#: gfs2/mkfs/main_jadd.c:171
msgid "no path specified (try -h for help)\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:211
+#: gfs2/mkfs/main_jadd.c:214
#, c-format
-msgid "Filesystem: %s\n"
+msgid "Filesystem: %s\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:212
+#: gfs2/mkfs/main_jadd.c:215
#, c-format
-msgid "Old Journals %u\n"
+msgid "Old Journals: %u\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:213
+#: gfs2/mkfs/main_jadd.c:216
#, c-format
-msgid "New Journals %u\n"
+msgid "New Journals: %u\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:403
+#: gfs2/mkfs/main_jadd.c:406
msgid "No journals found. Did you run mkfs.gfs2 correctly?\n"
msgstr ""
-#: gfs2/tune/main.c:99
+#: gfs2/tune/main.c:56
+msgid "label"
+msgstr ""
+
+#: gfs2/tune/main.c:56
+msgid "UUID"
+msgstr ""
+
+#: gfs2/tune/main.c:57
+msgid "mount options"
+msgstr ""
+
+#: gfs2/tune/main.c:100
#, c-format
msgid "Incorrect number of arguments\n"
msgstr ""
-#: gfs2/tune/main.c:105
+#: gfs2/tune/main.c:106
#, c-format
-msgid "The -L and -o locktable= options are mutually exclusive\n"
+msgid "The -L argument cannot be used with the 'locktable' option\n"
msgstr ""
-#: gfs2/tune/main.c:114
+#: gfs2/tune/main.c:115
#, c-format
msgid "Unable to open device %s\n"
msgstr ""
-#: gfs2/tune/super.c:65
+#: gfs2/tune/super.c:65 gfs2/tune/super.c:75 gfs2/tune/super.c:79
#, c-format
-msgid "Invalid UUID specified.\n"
+msgid "Invalid UUID: %s\n"
msgstr ""
-#: gfs2/tune/super.c:75
+#: gfs2/tune/super.c:80
#, c-format
-msgid "uuid %s has an invalid format."
+msgid "Bad digit '%c' at position %d\n"
msgstr ""
-#: gfs2/tune/super.c:80
+#: gfs2/tune/super.c:108
#, c-format
-msgid "uuid %s has an invalid hex digit '%c' at offset %d.\n"
+msgid "Device does not contain a GFS or GFS2 file system\n"
msgstr ""
-#: gfs2/tune/super.c:109
+#: gfs2/tune/super.c:126
#, c-format
-msgid "Not a GFS/GFS2 device\n"
+msgid "File system volume name: %s\n"
msgstr ""
-#: gfs2/tune/super.c:127
+#: gfs2/tune/super.c:128
#, c-format
-msgid "Filesystem volume name: %s\n"
+msgid "File system UUID: %s\n"
msgstr ""
#: gfs2/tune/super.c:129
#, c-format
-msgid "Filesystem UUID: %s\n"
+msgid "File system magic number: 0x%X\n"
msgstr ""
#: gfs2/tune/super.c:130
#, c-format
-msgid "Filesystem magic number: 0x%X\n"
-msgstr ""
-
-#: gfs2/tune/super.c:131
-#, c-format
msgid "Block size: %d\n"
msgstr ""
-#: gfs2/tune/super.c:132
+#: gfs2/tune/super.c:131
#, c-format
msgid "Block shift: %d\n"
msgstr ""
-#: gfs2/tune/super.c:133
+#: gfs2/tune/super.c:132
#, c-format
msgid "Root inode: %llu\n"
msgstr ""
-#: gfs2/tune/super.c:135
+#: gfs2/tune/super.c:134
#, c-format
msgid "Master inode: %llu\n"
msgstr ""
-#: gfs2/tune/super.c:136
+#: gfs2/tune/super.c:135
#, c-format
-msgid "Lock Protocol: %s\n"
+msgid "Lock protocol: %s\n"
msgstr ""
-#: gfs2/tune/super.c:137
+#: gfs2/tune/super.c:136
#, c-format
msgid "Lock table: %s\n"
msgstr ""
-#: gfs2/tune/super.c:158
-#, c-format
-msgid "UUID can be changed for a GFS2"
-msgstr ""
-
-#: gfs2/tune/super.c:159
-#, c-format
-msgid " device only\n"
-msgstr ""
-
-#: gfs2/tune/super.c:173
-#, c-format
-msgid "Lock protocol name too long\n"
-msgstr ""
-
-#: gfs2/tune/super.c:179
-#, c-format
-msgid "Incorrect lock protocol specified\n"
-msgstr ""
-
-#: gfs2/tune/super.c:190
-#, c-format
-msgid "Lock table name too long\n"
+#: gfs2/tune/super.c:167 gfs2/tune/super.c:186
+msgid "too long"
msgstr ""
-#: gfs2/tune/super.c:197
-#, c-format
-msgid "locktable error: mising colon in the locktable\n"
-msgstr ""
-
-#: gfs2/tune/super.c:201
-#, c-format
-msgid "locktable error: fsname too long\n"
-msgstr ""
-
-#: gfs2/tune/super.c:205
-#, c-format
-msgid "locktable error: more than one colon present\n"
-msgstr ""
-
-#: gfs2/convert/gfs2_convert.c:554
+#: gfs2/convert/gfs2_convert.c:563
msgid "Error: Can't allocate memory for indirect block fix\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:561 gfs2/convert/gfs2_convert.c:596
-#: gfs2/convert/gfs2_convert.c:696
+#: gfs2/convert/gfs2_convert.c:570 gfs2/convert/gfs2_convert.c:605
+#: gfs2/convert/gfs2_convert.c:705
msgid "Error: Can't allocate memory for file conversion.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:589 gfs2/convert/gfs2_convert.c:690
+#: gfs2/convert/gfs2_convert.c:598 gfs2/convert/gfs2_convert.c:699
msgid "Error: Can't allocate memory for indirect block fix.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:836 gfs2/convert/gfs2_convert.c:871
-#: gfs2/convert/gfs2_convert.c:917
+#: gfs2/convert/gfs2_convert.c:844 gfs2/convert/gfs2_convert.c:879
+#: gfs2/convert/gfs2_convert.c:926
msgid "Error: out of memory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:900 gfs2/fsck/initialize.c:922
+#: gfs2/convert/gfs2_convert.c:908 gfs2/fsck/initialize.c:922
#: gfs2/fsck/initialize.c:1049
#, c-format
msgid "Error reading inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1011
+#: gfs2/convert/gfs2_convert.c:1020
msgid "Converting inodes.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1030 gfs2/convert/gfs2_convert.c:1085
+#: gfs2/convert/gfs2_convert.c:1039 gfs2/convert/gfs2_convert.c:1094
#, c-format
msgid "\r%llu inodes from %d rgs converted."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1128
+#: gfs2/convert/gfs2_convert.c:1137
msgid "Error retrieving directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1153 gfs2/convert/gfs2_convert.c:2186
+#: gfs2/convert/gfs2_convert.c:1162 gfs2/convert/gfs2_convert.c:2196
#, c-format
msgid "\r%llu directories, %llu dirents fixed."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1164
+#: gfs2/convert/gfs2_convert.c:1173
#, c-format
msgid "Error retrieving inode 0x%llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1258
+#: gfs2/convert/gfs2_convert.c:1267
msgid "fix_one_directory_exhash: error reading directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1274
+#: gfs2/convert/gfs2_convert.c:1283
#, c-format
msgid "Error reading leaf %llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1304
+#: gfs2/convert/gfs2_convert.c:1313
msgid "Error fixing exhash directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1311
+#: gfs2/convert/gfs2_convert.c:1320
msgid "Error fixing linear directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1338
+#: gfs2/convert/gfs2_convert.c:1347
msgid ""
"\n"
"Fixing file and directory information.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1353
+#: gfs2/convert/gfs2_convert.c:1362
msgid "Error processing directory\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1389 gfs2/convert/gfs2_convert.c:1395
+#: gfs2/convert/gfs2_convert.c:1398 gfs2/convert/gfs2_convert.c:1404
#, c-format
msgid "Error retrieving inode at block %llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1413
+#: gfs2/convert/gfs2_convert.c:1422
msgid "Error trying to fix cdpn dentry\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1447
+#: gfs2/convert/gfs2_convert.c:1456
msgid ""
"The size reported in the journal index inode is not a\n"
"\tmultiple of the size of a journal index.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1453
+#: gfs2/convert/gfs2_convert.c:1462
msgid "Unable to allocate journal index\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1457
+#: gfs2/convert/gfs2_convert.c:1466
msgid "Unable to zero journal index\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1476
+#: gfs2/convert/gfs2_convert.c:1485
msgid "An error occurred while reading the journal index file.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1486
+#: gfs2/convert/gfs2_convert.c:1495
msgid "journal inode size invalid\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1535 gfs2/convert/gfs2_convert.c:1557
-#: gfs2/convert/gfs2_convert.c:1563 gfs2/convert/gfs2_convert.c:1574
-#: gfs2/convert/gfs2_convert.c:1580 gfs2/convert/gfs2_convert.c:2222
+#: gfs2/convert/gfs2_convert.c:1544 gfs2/convert/gfs2_convert.c:1566
+#: gfs2/convert/gfs2_convert.c:1572 gfs2/convert/gfs2_convert.c:1583
+#: gfs2/convert/gfs2_convert.c:1589 gfs2/convert/gfs2_convert.c:2232
msgid "Error: Bad constants (1)\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1591
+#: gfs2/convert/gfs2_convert.c:1600
#, c-format
msgid "Error: %s does not look like a gfs1 filesystem.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1600
+#: gfs2/convert/gfs2_convert.c:1609
#, c-format
msgid "Could not read resource group index: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1607
+#: gfs2/convert/gfs2_convert.c:1616
#, c-format
msgid "Could not read journal index: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1621
+#: gfs2/convert/gfs2_convert.c:1630
#, c-format
msgid "Examining file system"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1623
+#: gfs2/convert/gfs2_convert.c:1632
msgid "Unable to fill in resource group information.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1630
+#: gfs2/convert/gfs2_convert.c:1639
#, c-format
msgid "%d rgs found.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1639
+#: gfs2/convert/gfs2_convert.c:1648
#, c-format
msgid "This program will convert a gfs1 filesystem to a gfs2 filesystem.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1641
+#: gfs2/convert/gfs2_convert.c:1650
#, c-format
msgid ""
"WARNING: This can't be undone. It is strongly advised that you:\n"
"\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1643
+#: gfs2/convert/gfs2_convert.c:1652
#, c-format
msgid " 1. Back up your entire filesystem first.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1644
+#: gfs2/convert/gfs2_convert.c:1653
#, c-format
msgid " 2. Run fsck.gfs2 first to ensure filesystem integrity.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1645
+#: gfs2/convert/gfs2_convert.c:1654
#, c-format
msgid " 3. Make sure the filesystem is NOT mounted from any node.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1646
+#: gfs2/convert/gfs2_convert.c:1655
#, c-format
msgid " 4. Make sure you have the latest software versions.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1654
+#: gfs2/convert/gfs2_convert.c:1663
#, c-format
msgid "gfs2_convert version %s (built %s %s)\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1665
+#: gfs2/convert/gfs2_convert.c:1674
#, c-format
msgid ""
"\n"
"Usage:\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1666
+#: gfs2/convert/gfs2_convert.c:1675
#, c-format
msgid ""
"%s [-hnqvVy] <device>\n"
"\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1668
+#: gfs2/convert/gfs2_convert.c:1677
#, c-format
msgid "\th - print this help message\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1669
+#: gfs2/convert/gfs2_convert.c:1678
#, c-format
msgid "\tn - assume 'no' to all questions\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1670
+#: gfs2/convert/gfs2_convert.c:1679
#, c-format
msgid "\tq - quieter output\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1671
+#: gfs2/convert/gfs2_convert.c:1680
#, c-format
msgid "\tv - more verbose output\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1672
+#: gfs2/convert/gfs2_convert.c:1681
#, c-format
msgid "\tV - print version information\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1673
+#: gfs2/convert/gfs2_convert.c:1682
#, c-format
msgid "\ty - assume 'yes' to all questions\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1713
+#: gfs2/convert/gfs2_convert.c:1722
#, c-format
msgid "Parameter not understood: %c\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1777
+#: gfs2/convert/gfs2_convert.c:1731 gfs2/convert/gfs2_convert.c:1735
+#, c-format
+msgid "No device specified. Please use '-h' for help\n"
+msgstr ""
+
+#: gfs2/convert/gfs2_convert.c:1786
msgid "Converting journal space to rg space.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1799
+#: gfs2/convert/gfs2_convert.c:1808
msgid "Error: No suitable rg found for journal.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1802
+#: gfs2/convert/gfs2_convert.c:1811
#, c-format
msgid "Addr 0x%llx comes after rg at addr 0x%llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1843
+#: gfs2/convert/gfs2_convert.c:1852
msgid "gfs2_convert: Error converting bitmaps.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1873
+#: gfs2/convert/gfs2_convert.c:1882
#, c-format
msgid ""
"\n"
"Next Inum: %llu\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1905
+#: gfs2/convert/gfs2_convert.c:1914
msgid "Removing obsolete GFS1 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1945
+#: gfs2/convert/gfs2_convert.c:1954
#, c-format
msgid "Writing journal #%d..."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1953
+#: gfs2/convert/gfs2_convert.c:1962
#, c-format
msgid "done.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2072
+#: gfs2/convert/gfs2_convert.c:2081
#, c-format
msgid "Couldn't lookup new quota file: %d\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2079
+#: gfs2/convert/gfs2_convert.c:2088
#, c-format
msgid "Couldn't lookup old quota file: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2111
+#: gfs2/convert/gfs2_convert.c:2121
#, c-format
msgid "Convert %s from GFS1 to GFS2? (y/n)"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2122
+#: gfs2/convert/gfs2_convert.c:2132
#, c-format
msgid "Bad response '%s', please type 'y' or 'n'.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2152
+#: gfs2/convert/gfs2_convert.c:2162
#, c-format
msgid "%s not converted.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2161
+#: gfs2/convert/gfs2_convert.c:2171
msgid "Converting resource groups."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2166
+#: gfs2/convert/gfs2_convert.c:2176
#, c-format
msgid "%s: Unable to convert resource groups.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2178
+#: gfs2/convert/gfs2_convert.c:2188
#, c-format
msgid ""
"\n"
"%s: Error renumbering inodes.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2191
+#: gfs2/convert/gfs2_convert.c:2201
#, c-format
msgid ""
"\n"
"%s: Error fixing directories.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2198
+#: gfs2/convert/gfs2_convert.c:2208
#, c-format
msgid "\r%llu cdpn symlinks moved to empty directories."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2202
+#: gfs2/convert/gfs2_convert.c:2212
#, c-format
msgid ""
"\n"
"%s: Error fixing cdpn symlinks.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2208
+#: gfs2/convert/gfs2_convert.c:2218
msgid ""
"\n"
"Converting journals.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2211
+#: gfs2/convert/gfs2_convert.c:2221
#, c-format
msgid "%s: Error converting journal space.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2233
+#: gfs2/convert/gfs2_convert.c:2243
#, c-format
msgid ""
"Reduced journal size to %u MB to accommodate GFS2 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2241
+#: gfs2/convert/gfs2_convert.c:2251
#, c-format
msgid "Error: could not build jindex: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2244
+#: gfs2/convert/gfs2_convert.c:2254
msgid "Building GFS2 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2248
+#: gfs2/convert/gfs2_convert.c:2258
#, c-format
msgid "Error building per-node directories: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2255
+#: gfs2/convert/gfs2_convert.c:2265
#, c-format
msgid "Error building inum inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2263
+#: gfs2/convert/gfs2_convert.c:2273
#, c-format
msgid "Error building statfs inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2273
+#: gfs2/convert/gfs2_convert.c:2283
#, c-format
msgid "Error building rindex inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2280
+#: gfs2/convert/gfs2_convert.c:2290
#, c-format
msgid "Error building quota inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2308
+#: gfs2/convert/gfs2_convert.c:2318
msgid "Committing changes to disk.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2324
+#: gfs2/convert/gfs2_convert.c:2334
#, c-format
msgid "%s: filesystem converted successfully to gfs2.\n"
msgstr ""
@@ -2987,7 +2969,11 @@ msgstr ""
#: gfs2/fsck/main.c:58
#, c-format
-msgid "GFS2 fsck %s (built %s %s)\n"
+msgid "GFS2 fsck %s (%s %s %s)\n"
+msgstr ""
+
+#: gfs2/fsck/main.c:58
+msgid "built:"
msgstr ""
#: gfs2/fsck/main.c:106
@@ -2996,107 +2982,110 @@ msgid "Invalid option %c\n"
msgstr ""
#: gfs2/fsck/main.c:118
-#, c-format
-msgid "No device specified (Please use '-h' for help)\n"
+msgid "No device specified."
+msgstr ""
+
+#: gfs2/fsck/main.c:119
+msgid "Please use '-h' for help."
msgstr ""
-#: gfs2/fsck/main.c:130
+#: gfs2/fsck/main.c:131
#, c-format
msgid "progress unknown.\n"
msgstr ""
-#: gfs2/fsck/main.c:132
+#: gfs2/fsck/main.c:133
#, c-format
msgid "processing block %llu out of %llu\n"
msgstr ""
-#: gfs2/fsck/main.c:137
+#: gfs2/fsck/main.c:138
msgid ""
"Do you want to abort gfs2_fsck, skip the rest of this pass or continue (a/s/"
"c)?"
msgstr ""
-#: gfs2/fsck/main.c:187
+#: gfs2/fsck/main.c:188
msgid "The statfs file is accurate.\n"
msgstr ""
-#: gfs2/fsck/main.c:190
+#: gfs2/fsck/main.c:191
msgid ""
"The statfs file is wrong:\n"
"\n"
msgstr ""
-#: gfs2/fsck/main.c:191
+#: gfs2/fsck/main.c:192
msgid "Current statfs values:\n"
msgstr ""
-#: gfs2/fsck/main.c:192 gfs2/fsck/main.c:203
+#: gfs2/fsck/main.c:193 gfs2/fsck/main.c:204
#, c-format
msgid "blocks: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:195 gfs2/fsck/main.c:206
+#: gfs2/fsck/main.c:196 gfs2/fsck/main.c:207
#, c-format
msgid "free: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:198
+#: gfs2/fsck/main.c:199
#, c-format
msgid ""
"dinodes: %lld (0x%llx)\n"
"\n"
msgstr ""
-#: gfs2/fsck/main.c:202
+#: gfs2/fsck/main.c:203
msgid "Calculated statfs values:\n"
msgstr ""
-#: gfs2/fsck/main.c:209
+#: gfs2/fsck/main.c:210
#, c-format
msgid "dinodes: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:214
+#: gfs2/fsck/main.c:215
msgid "Okay to fix the master statfs file? (y/n)"
msgstr ""
-#: gfs2/fsck/main.c:215
+#: gfs2/fsck/main.c:216
msgid "The statfs file was not fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:220
+#: gfs2/fsck/main.c:221
msgid "The statfs file was fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:249
+#: gfs2/fsck/main.c:250
#, c-format
msgid "Starting %s\n"
msgstr ""
-#: gfs2/fsck/main.c:255
+#: gfs2/fsck/main.c:256
#, c-format
msgid "%s interrupted \n"
msgstr ""
-#: gfs2/fsck/main.c:258
+#: gfs2/fsck/main.c:259
#, c-format
msgid "%s complete \n"
msgstr ""
-#: gfs2/fsck/main.c:280
+#: gfs2/fsck/main.c:281
msgid "Initializing fsck\n"
msgstr ""
-#: gfs2/fsck/main.c:285
+#: gfs2/fsck/main.c:286
#, c-format
msgid "%s: clean.\n"
msgstr ""
-#: gfs2/fsck/main.c:315
+#: gfs2/fsck/main.c:316
msgid "Writing changes to disk\n"
msgstr ""
-#: gfs2/fsck/main.c:318
+#: gfs2/fsck/main.c:319
msgid "gfs2_fsck complete\n"
msgstr ""
@@ -4221,112 +4210,128 @@ msgstr ""
msgid "Address in inode at block #%llu (0x%llx) not fixed\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1333
+#: gfs2/fsck/pass1.c:1315
+#, c-format
+msgid ""
+"Inode #%llu (0x%llx): GFS1 formal inode number mismatch: was %llu (0x%llx)\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1320
+#, c-format
+msgid "Fix formal inode number in inode #%llu (0x%llx)? (y/n) "
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1326
+#, c-format
+msgid "Inode number in inode at block #%lld (0x%llx) not fixed\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1350
#, c-format
msgid "Checking system inode '%s'\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1338
+#: gfs2/fsck/pass1.c:1355
#, c-format
msgid "System inode for '%s' is located at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1343
+#: gfs2/fsck/pass1.c:1360
#, c-format
msgid "Found invalid system dinode at block #%llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1359
+#: gfs2/fsck/pass1.c:1376
msgid "The inode exists but the block is not marked 'in use'; fixing it.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1369
+#: gfs2/fsck/pass1.c:1386
#, c-format
msgid "System inode for '%s' is corrupt or missing.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1376
+#: gfs2/fsck/pass1.c:1393
#, c-format
msgid "Invalid or missing %s system inode (should be %d, is %d).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1378
+#: gfs2/fsck/pass1.c:1395
#, c-format
msgid "Create new %s system inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:1379
+#: gfs2/fsck/pass1.c:1396
#, c-format
msgid "Rebuilding system file \"%s\"\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1383
+#: gfs2/fsck/pass1.c:1400
#, c-format
msgid "Error trying to rebuild system file %s: Cannot continue\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1395
+#: gfs2/fsck/pass1.c:1412
#, c-format
msgid "Cannot continue without valid %s inode\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1413
+#: gfs2/fsck/pass1.c:1430
#, c-format
msgid "Error found in %s while checking directory entries.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1432
+#: gfs2/fsck/pass1.c:1449
#, c-format
msgid "Error %d building journal\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1508
+#: gfs2/fsck/pass1.c:1525
msgid "gfs1 statfs inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1510
+#: gfs2/fsck/pass1.c:1527
msgid "gfs1 jindex inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1512
+#: gfs2/fsck/pass1.c:1529
msgid "gfs1 rindex inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1514
+#: gfs2/fsck/pass1.c:1531
msgid "gfs1 quota inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1578
+#: gfs2/fsck/pass1.c:1595
#, c-format
msgid "Checking metadata in Resource Group #%llu\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1582
+#: gfs2/fsck/pass1.c:1599
#, c-format
msgid "rgrp block %lld (0x%llx) is now marked as 'rgrp data'\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1608
+#: gfs2/fsck/pass1.c:1625
#, c-format
msgid "Skipping rindex indir block %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1622
+#: gfs2/fsck/pass1.c:1639
#, c-format
msgid "Skipping pass 1 is not a good idea.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1627
+#: gfs2/fsck/pass1.c:1644
#, c-format
msgid "Already processed system inode %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1655
+#: gfs2/fsck/pass1.c:1672
#, c-format
msgid "Deferring GFS1 metadata block #%<PRIu64> (0x%<PRIx64>)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1665
+#: gfs2/fsck/pass1.c:1682
#, c-format
msgid "Found invalid inode at block #%llu (0x%llx)\n"
msgstr ""
11 years, 3 months
gfs2-utils: master - mkfs.gfs2: i18n improvements
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=583efac3...
Commit: 583efac3c351511ef91f5c2c659f3ec217337802
Parent: f7f8e1e9f01da323b163c0edd6008a622b1b3230
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Wed Jan 9 15:37:56 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Jan 9 15:37:56 2013 +0000
mkfs.gfs2: i18n improvements
Consolidate some "Error building foo" error messages so that they only
need translating once and tweak some other strings for easy of
translation.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/mkfs/main_grow.c | 2 +-
gfs2/mkfs/main_jadd.c | 6 +++---
gfs2/mkfs/main_mkfs.c | 20 +++++++-------------
3 files changed, 11 insertions(+), 17 deletions(-)
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index d1e1d02..c52f78d 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -74,7 +74,7 @@ static void usage(void)
printf("%s\n", _("Usage:"));
printf(" gfs2_grow [%s] <%s>\n\n", _("options"), _("device"));
- printf(_("Expands a GFS2 file system after the device upon which the file system resides has been expanded"));
+ printf(_("Expands a GFS2 file system after the device containing the file system has been expanded"));
printf("\n\n%s\n", _("Options:"));
for (i = 0; options[i] != NULL; i += 3) {
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index dfe5f5b..a4c6ca7 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -211,9 +211,9 @@ print_results(struct gfs2_sbd *sdp)
if (sdp->expert)
printf("Expert mode: on\n");
- printf( _("Filesystem: %s\n"), sdp->path_name);
- printf( _("Old Journals %u\n"), sdp->orig_journals);
- printf( _("New Journals %u\n"), sdp->md.journals);
+ printf( _("Filesystem: %s\n"), sdp->path_name);
+ printf( _("Old Journals: %u\n"), sdp->orig_journals);
+ printf( _("New Journals: %u\n"), sdp->md.journals);
}
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index 07844d6..2ed17d2 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -229,7 +229,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
strcpy(sdp->device_name, argv[optind++]);
if (sdp->device_name[0] == '\0')
- die( _("No device specified. Please use '-h' for help\n"));
+ die( _("No device specified. Please use '-h' for help.\n"));
if (optind < argc)
sdp->orig_fssize = atol(argv[optind++]);
@@ -684,40 +684,34 @@ void main_mkfs(int argc, char *argv[])
build_sb(sdp, uuid);
error = build_jindex(sdp);
if (error) {
- /* Translators: "jindex" is the name of a special file */
- perror(_("Error building 'jindex'"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "jindex", strerror(errno));
exit(EXIT_FAILURE);
}
error = build_per_node(sdp);
if (error) {
- /* Translators: "per-node" is the name of a special directory */
- perror(_("Error building per-node directory"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "per_node", strerror(errno));
exit(EXIT_FAILURE);
}
error = build_inum(sdp);
if (error) {
- /* Translators: "inum" here is the name of a special file */
- perror(_("Error building 'inum'"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "inum", strerror(errno));
exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "inum", 4, &sdp->md.inum);
error = build_statfs(sdp);
if (error) {
- /* Translators: "statfs" is the name of a special file */
- perror(_("Error building 'statfs'"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "statfs", strerror(errno));
exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "statfs", 6, &sdp->md.statfs);
error = build_rindex(sdp);
if (error) {
- /* Translators: "rindex" is the name of a special file */
- perror(_("Error building 'rindex'"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "rindex", strerror(errno));
exit(EXIT_FAILURE);
}
error = build_quota(sdp);
if (error) {
- /* Translators: "quota" is the name of a special file */
- perror(_("Error building 'quota'"));
+ fprintf(stderr, _("Error building '%s': %s\n"), "quota", strerror(errno));
exit(EXIT_FAILURE);
}
11 years, 3 months
gfs2-utils: master - tunegfs2: i18n improvements
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=f7f8e1e9...
Commit: f7f8e1e9f01da323b163c0edd6008a622b1b3230
Parent: 89fa329489b39ffb00270f1b6cb2724273f92d44
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Wed Jan 9 12:07:03 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Jan 9 12:07:03 2013 +0000
tunegfs2: i18n improvements
Tweak strings to make them easier to translate and to reduce the overall
number of strings which require translating. Also remove a duplicated
magic number check.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/mkfs/main_mkfs.c | 2 +-
gfs2/tune/main.c | 7 ++++---
gfs2/tune/super.c | 40 ++++++++++++++++++----------------------
3 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index 181f743..07844d6 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -301,7 +301,7 @@ static void test_locking(char *lockproto, char *locktable)
if (!strlen(c))
die("%s %s\n", errprefix, _("file system name is missing"));
if (strlen(c) > 16)
- die("%s %s\n", errprefix, _("file system name too long"));
+ die("%s %s\n", errprefix, _("file system name is too long"));
} else {
die( _("Invalid lock protocol: %s\n"), lockproto);
}
diff --git a/gfs2/tune/main.c b/gfs2/tune/main.c
index 553f6f2..c1be8bd 100644
--- a/gfs2/tune/main.c
+++ b/gfs2/tune/main.c
@@ -52,8 +52,9 @@ static void parse_mount_options(char *arg)
static void usage(char *name)
{
- printf("Usage: %s [-hlV] [-L <volume_label>] [-U <UUID>]\n\t"
- "[-o <mount_options>] <device> \n", basename(name));
+ printf("%s %s [-hlV] [-L <%s>] [-U <%s>] [-o <%s>] <%s>\n",
+ _("Usage:"), basename(name), _("label"), _("UUID"),
+ _("mount options"), _("device"));
}
static void version(void)
@@ -102,7 +103,7 @@ int main(int argc, char **argv)
}
if (tfs->opt_label && tfs->opt_table) {
- fprintf(stderr, _("The -L and -o locktable= options are mutually exclusive\n"));
+ fprintf(stderr, _("The -L argument cannot be used with the 'locktable' option\n"));
usage(argv[0]);
return EX_USAGE;
}
diff --git a/gfs2/tune/super.c b/gfs2/tune/super.c
index 49d87d6..cc34990 100644
--- a/gfs2/tune/super.c
+++ b/gfs2/tune/super.c
@@ -62,7 +62,7 @@ static int str2uuid(const char *newval, char *uuid)
int i;
if (strlen(newval) != 36) {
- fprintf(stderr, _("Invalid UUID specified.\n"));
+ fprintf(stderr, _("Invalid UUID: %s\n"), newval);
return EX_DATAERR;
}
@@ -72,14 +72,13 @@ static int str2uuid(const char *newval, char *uuid)
(i == 18) || (i == 23)) {
if (newval[i] == '-')
continue;
- fprintf(stderr, _("uuid %s has an invalid format."),
- newval);
+ fprintf(stderr, _("Invalid UUID: %s\n"), newval);
return EX_DATAERR;
}
if (!isxdigit(newval[i])) {
- fprintf(stderr, _("uuid %s has an invalid hex "
- "digit '%c' at offset %d.\n"),
- newval, newval[i], i + 1);
+ fprintf(stderr, _("Invalid UUID: %s\n"), newval);
+ fprintf(stderr, _("Bad digit '%c' at position %d\n"),
+ newval[i], i + 1);
return EX_DATAERR;
}
*cp = str_to_hexchar(&newval[i++]);
@@ -106,7 +105,7 @@ int read_super(struct tunegfs2 *tfs)
}
tfs->sb = block;
if (be32_to_cpu(tfs->sb->sb_header.mh_magic) != GFS2_MAGIC) {
- fprintf(stderr, _("Not a GFS/GFS2 device\n"));
+ fprintf(stderr, _("Device does not contain a GFS or GFS2 file system\n"));
tfs->sb = NULL;
free(block);
return EX_IOERR;
@@ -124,16 +123,16 @@ static int is_gfs2(const struct tunegfs2 *tfs)
int print_super(const struct tunegfs2 *tfs)
{
- printf(_("Filesystem volume name: %s\n"), tfs->sb->sb_locktable);
+ printf(_("File system volume name: %s\n"), tfs->sb->sb_locktable);
if (is_gfs2(tfs))
- printf(_("Filesystem UUID: %s\n"), uuid2str(tfs->sb->sb_uuid));
- printf( _("Filesystem magic number: 0x%X\n"), be32_to_cpu(tfs->sb->sb_header.mh_magic));
+ printf(_("File system UUID: %s\n"), uuid2str(tfs->sb->sb_uuid));
+ printf( _("File system magic number: 0x%X\n"), be32_to_cpu(tfs->sb->sb_header.mh_magic));
printf(_("Block size: %d\n"), be32_to_cpu(tfs->sb->sb_bsize));
printf(_("Block shift: %d\n"), be32_to_cpu(tfs->sb->sb_bsize_shift));
printf(_("Root inode: %llu\n"), (unsigned long long)be64_to_cpu(tfs->sb->sb_root_dir.no_addr));
if (is_gfs2(tfs))
printf(_("Master inode: %llu\n"), (unsigned long long)be64_to_cpu(tfs->sb->sb_master_dir.no_addr));
- printf(_("Lock Protocol: %s\n"), tfs->sb->sb_lockproto);
+ printf(_("Lock protocol: %s\n"), tfs->sb->sb_lockproto);
printf(_("Lock table: %s\n"), tfs->sb->sb_locktable);
return 0;
@@ -154,11 +153,6 @@ int change_uuid(struct tunegfs2 *tfs, const char *str)
{
char uuid[16];
int status = 0;
- if (be32_to_cpu(tfs->sb->sb_header.mh_magic) != GFS2_MAGIC) {
- fprintf(stderr, _("UUID can be changed for a GFS2"));
- fprintf(stderr, _(" device only\n"));
- return EX_IOERR;
- }
status = str2uuid(str, uuid);
if (!status)
memcpy(tfs->sb->sb_uuid, uuid, 16);
@@ -170,13 +164,13 @@ int change_lockproto(struct tunegfs2 *tfs, const char *lockproto)
int l = strlen(lockproto);
if (l >= GFS2_LOCKNAME_LEN) {
- fprintf(stderr, _("Lock protocol name too long\n"));
+ fprintf(stderr, _("Invalid lock protocol: %s\n"), _("too long"));
return EX_DATAERR;
}
if (strncmp(lockproto, "lock_dlm", 8) &&
strncmp(lockproto, "lock_nolock", 11)) {
- fprintf(stderr, _("Incorrect lock protocol specified\n"));
+ fprintf(stderr, _("Invalid lock protocol: %s\n"), lockproto);
return EX_DATAERR;
}
memset(tfs->sb->sb_lockproto, '\0', GFS2_LOCKNAME_LEN);
@@ -186,23 +180,25 @@ int change_lockproto(struct tunegfs2 *tfs, const char *lockproto)
int change_locktable(struct tunegfs2 *tfs, const char *locktable)
{
+ const char *errpre = _("Invalid lock table:");
+
if (strlen(locktable) >= GFS2_LOCKNAME_LEN) {
- fprintf(stderr, _("Lock table name too long\n"));
+ fprintf(stderr, "%s %s\n", errpre, _("too long"));
return EX_DATAERR;
}
if (strcmp(tfs->sb->sb_lockproto, "lock_dlm") == 0) {
char *fsname = strchr(locktable, ':');
if (fsname == NULL) {
- fprintf(stderr, _("locktable error: mising colon in the locktable\n"));
+ fprintf(stderr, "%s %s\n", errpre, _("missing colon"));
return EX_DATAERR;
}
if (strlen(++fsname) > 16) {
- fprintf(stderr, _("locktable error: fsname too long\n"));
+ fprintf(stderr, "%s %s\n", errpre, _("file system name is too long"));
return EX_DATAERR;
}
if (strchr(fsname, ':')) {
- fprintf(stderr, _("locktable error: more than one colon present\n"));
+ fprintf(stderr, "%s %s\n", errpre, _("contains more than one colon"));
return EX_DATAERR;
}
}
11 years, 3 months
gfs2-utils: master - tunegfs2: Update man page
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=89fa3294...
Commit: 89fa329489b39ffb00270f1b6cb2724273f92d44
Parent: 1ac13ea39ae0ac09f8ea062a889a852a115681a5
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Jan 8 09:18:12 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Jan 8 09:18:12 2013 +0000
tunegfs2: Update man page
Fix a typo and document the -l option which is used to list superblock
contents.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/man/tunegfs2.8 | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/gfs2/man/tunegfs2.8 b/gfs2/man/tunegfs2.8
index fcdc954..c4446f4 100644
--- a/gfs2/man/tunegfs2.8
+++ b/gfs2/man/tunegfs2.8
@@ -11,8 +11,7 @@ tunegfs2 - View and manipulate gfs2 superblocks
.SH DESCRIPTION
tunegfs2 allows viewing and manipulating the values contained in a
GFS or GFS2 superblock. It is able to modify the \fIUUID\fR (on GFS2 only),
-\fIlabel\fR, \fIlockproto\fR and \fIlocktable\fR. Run without any options,
-this command will print out information about the content of the superblock.
+\fIlabel\fR, \fIlockproto\fR and \fIlocktable\fR.
The values in the GFS2 superblock are read only on mount. Any
changes on a live filesystem will not take effect until the next
@@ -24,7 +23,13 @@ recommended for this reason.
.TP
\fB-h\fP
-Prints out usage infomration for this command.
+Prints out usage information for this command.
+
+.TP
+\fB-l\fP
+
+List contents of the filesystem superblock. Includes the current values of the
+parameters that can be set by this program.
.TP
\fB-L\fP \fI<label>\fR
11 years, 3 months
gfs2-utils: master - mkfs.gfs2: Add translator doc comments
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=1ac13ea3...
Commit: 1ac13ea39ae0ac09f8ea062a889a852a115681a5
Parent: dc8cfec21502d89e2c1283d1bb72c4d14f58f6c9
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Mon Jan 7 09:56:21 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Mon Jan 7 09:56:21 2013 +0000
mkfs.gfs2: Add translator doc comments
Adds documentation comments (beginning with 'Translators:') to
translateable strings in mkfs. Also updates some strings to ease
translation.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/mkfs/main_grow.c | 10 ++++----
gfs2/mkfs/main_jadd.c | 3 ++
gfs2/mkfs/main_mkfs.c | 50 +++++++++++++++++++++++++++++++++++-------------
po/Makevars | 2 +-
4 files changed, 45 insertions(+), 20 deletions(-)
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index 8c8f23b..d1e1d02 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -66,7 +66,7 @@ static void usage(void)
const char *options[] = {
"-h", NULL, _("Display this usage information"),
"-q", NULL, _("Quiet, reduce verbosity"),
- "-T", NULL, _("Do everything except update FS"),
+ "-T", NULL, _("Do everything except update file system"),
"-V", NULL, _("Display version information"),
"-v", NULL, _("Increase verbosity"),
NULL, NULL, NULL /* Must be kept at the end */
@@ -235,7 +235,7 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
}
if (statbuf.st_size !=
old_rg_count * sizeof(struct gfs2_rindex)) {
- log_crit(_("Incorrect rindex size. want %ld(%d RGs), "
+ log_crit(_("Incorrect rindex size. want %ld(%d resource groups), "
"have %ld\n"),
old_rg_count * sizeof(struct gfs2_rindex),
old_rg_count, statbuf.st_size);
@@ -374,7 +374,7 @@ main_grow(int argc, char *argv[])
}
fix_device_geometry(sdp);
if (mount_gfs2_meta(sdp)) {
- perror(_("GFS2 metafs mount failed"));
+ perror(_("Failed to mount GFS2 meta file system"));
exit(EXIT_FAILURE);
}
@@ -408,10 +408,10 @@ main_grow(int argc, char *argv[])
fsgrowth = ((sdp->device.length - fssize) * sdp->bsize);
if (fsgrowth < rgsize * sdp->bsize) {
log_err( _("Error: The device has grown by less than "
- "one Resource Group (RG).\n"));
+ "one resource group.\n"));
log_err( _("The device grew by %lluMB. "),
(unsigned long long)fsgrowth / MB);
- log_err( _("One RG is %uMB for this file system.\n"),
+ log_err( _("One resource group is %uMB for this file system.\n"),
(rgsize * sdp->bsize) / MB);
}
else {
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index da4a401..dfe5f5b 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -79,6 +79,9 @@ static void print_usage(const char *prog_name)
int i;
const char *option, *param, *desc;
const char *options[] = {
+ /* Translators: This is a usage string printed with --help.
+ <size> and <number> here are to commandline parameters,
+ e.g. gfs2_jadd -j <number> /dev/sda */
"-c", "<size>", _("Size of quota change file, in megabytes"),
"-D", NULL, _("Enable debugging code"),
"-h", NULL, _("Display this help, then exit"),
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index b83ffec..181f743 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -52,6 +52,9 @@ print_usage(const char *prog_name)
int i;
const char *option, *param, *desc;
const char *options[] = {
+ /* Translators: This is a usage string printed with --help.
+ <size> and <number> here are to commandline parameters,
+ e.g. mkfs.gfs2 -b <size> -j <number> /dev/sda */
"-b", _("<size>"), _("File system block size, in bytes"),
"-c", _("<size>"), _("Size of quota change file, in megabytes"),
"-D", NULL, _("Enable debugging code"),
@@ -93,7 +96,9 @@ static int discard_blocks(struct gfs2_sbd *sdp)
range[0] = 0;
range[1] = sdp->device.length * sdp->bsize;
if (sdp->debug)
- printf(_("Issuing discard ioctl: range: %llu - %llu..."),
+ /* Translators: "discard" is a request sent to a storage device to
+ * discard a range of blocks. */
+ printf(_("Issuing discard request: range: %llu - %llu..."),
(unsigned long long)range[0],
(unsigned long long)range[1]);
if (ioctl(sdp->device_fd, BLKDISCARD, &range) < 0) {
@@ -162,7 +167,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
case 'p':
if (strlen(optarg) >= GFS2_LOCKNAME_LEN)
- die( _("lock protocol name %s is too long\n"),
+ die( _("lock protocol name '%s' is too long\n"),
optarg);
strcpy(sdp->lockproto, optarg);
break;
@@ -177,7 +182,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
case 't':
if (strlen(optarg) >= GFS2_LOCKNAME_LEN)
- die( _("lock table name %s is too long\n"), optarg);
+ die( _("lock table name '%s' is too long\n"), optarg);
strcpy(sdp->locktable, optarg);
break;
@@ -264,6 +269,8 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp)
static void test_locking(char *lockproto, char *locktable)
{
char *c;
+ /* Translators: A lock table is a string identifying a gfs2 file system
+ * in a cluster, e.g. cluster_name:fs_name */
const char *errprefix = _("Invalid lock table:");
if (strcmp(lockproto, "lock_nolock") == 0) {
@@ -314,6 +321,11 @@ static void are_you_sure(void)
int res = 0;
do{
+ /* Translators: We use rpmatch(3) to match the answers to y/n
+ questions in the user's own language, so the [y/n] here must also be
+ translated to match one of the letters in the pattern printed by
+ `locale -k yesexpr` and one of the letters in the pattern printed by
+ `locale -k noexpr` */
printf( _("Are you sure you want to proceed? [y/n]"));
ret = getline(&line, &len, stdin);
res = rpmatch(line);
@@ -324,7 +336,7 @@ static void are_you_sure(void)
}
if (!res){
printf("\n");
- die( _("aborted\n"));
+ die( _("Aborted.\n"));
}
}while(ret >= 0);
@@ -344,8 +356,8 @@ static void verify_bsize(struct gfs2_sbd *sdp)
break;
if (!x || sdp->bsize > getpagesize())
- die( _("block size must be a power of two between 512 and "
- "%d\n"), getpagesize());
+ die( _("Block size must be a power of two between 512 and %d\n"),
+ getpagesize());
if (sdp->bsize < sdp->dinfo.logical_block_size) {
die( _("Error: Block size %d is less than minimum logical "
@@ -370,6 +382,8 @@ static void verify_arguments(struct gfs2_sbd *sdp)
test_locking(sdp->lockproto, sdp->locktable);
if (sdp->expert) {
if (GFS2_EXP_MIN_RGSIZE > sdp->rgsize || sdp->rgsize > GFS2_MAX_RGSIZE)
+ /* Translators: gfs2 file systems are split into equal sized chunks called
+ resource groups. We're checking that the user gave a valid size for them. */
die( _("bad resource group size\n"));
} else {
if (GFS2_MIN_RGSIZE > sdp->rgsize || sdp->rgsize > GFS2_MAX_RGSIZE)
@@ -508,6 +522,7 @@ print_results(struct gfs2_sbd *sdp, uint64_t real_device_size,
printf("%-27s%u\n", _("Block size:"), sdp->bsize);
printf("%-27s%.2f %s (%llu %s)\n", _("Device size:"),
+ /* Translators: "GB" here means "gigabytes" */
real_device_size / ((float)(1 << 30)), _("GB"),
(unsigned long long)real_device_size / sdp->bsize, _("blocks"));
printf("%-27s%.2f %s (%llu %s)\n", _("Filesystem size:"),
@@ -521,7 +536,7 @@ print_results(struct gfs2_sbd *sdp, uint64_t real_device_size,
if (sdp->debug) {
printf("\n%-27s%u\n", _("Writes:"), sdp->writes);
}
-
+ /* Translators: "UUID" = universally unique identifier. */
printf("%-27s%s\n\n", _("UUID:"), str_uuid(uuid));
}
@@ -547,7 +562,8 @@ static int is_symlink(char *path, char **abspath)
perror(_("Could not find the absolute path of the device"));
exit(EXIT_FAILURE);
}
- printf( _("%s is a symlink to %s\n"), path, *abspath);
+ /* Translators: Example: "/dev/vg/lv is a symbolic link to /dev/dm-2" */
+ printf( _("%s is a symbolic link to %s\n"), path, *abspath);
return 1;
}
@@ -631,7 +647,7 @@ void main_mkfs(int argc, char *argv[])
verify_bsize(sdp);
if (compute_constants(sdp)) {
- perror(_("Bad constants (1)"));
+ perror(_("Failed to compute file system constants"));
exit(EXIT_FAILURE);
}
@@ -668,34 +684,40 @@ void main_mkfs(int argc, char *argv[])
build_sb(sdp, uuid);
error = build_jindex(sdp);
if (error) {
- perror(_("Error building jindex"));
+ /* Translators: "jindex" is the name of a special file */
+ perror(_("Error building 'jindex'"));
exit(EXIT_FAILURE);
}
error = build_per_node(sdp);
if (error) {
+ /* Translators: "per-node" is the name of a special directory */
perror(_("Error building per-node directory"));
exit(EXIT_FAILURE);
}
error = build_inum(sdp);
if (error) {
- perror(_("Error building inum inode"));
+ /* Translators: "inum" here is the name of a special file */
+ perror(_("Error building 'inum'"));
exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "inum", 4, &sdp->md.inum);
error = build_statfs(sdp);
if (error) {
- perror(_("Error building statfs inode"));
+ /* Translators: "statfs" is the name of a special file */
+ perror(_("Error building 'statfs'"));
exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "statfs", 6, &sdp->md.statfs);
error = build_rindex(sdp);
if (error) {
- perror(_("Error building rindex inode"));
+ /* Translators: "rindex" is the name of a special file */
+ perror(_("Error building 'rindex'"));
exit(EXIT_FAILURE);
}
error = build_quota(sdp);
if (error) {
- perror(_("Error building quota inode"));
+ /* Translators: "quota" is the name of a special file */
+ perror(_("Error building 'quota'"));
exit(EXIT_FAILURE);
}
diff --git a/po/Makevars b/po/Makevars
index 5c753bf..e897a02 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -8,7 +8,7 @@ subdir = po
top_builddir = ..
# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --add-comments=Translators:
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
11 years, 3 months
cluster: STABLE32 - ccs_tool: fix ccs_edit example
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=87135d56ee9...
Commit: 87135d56ee90e7bb1a87b6d12fdd69a63aee747f
Parent: 9c10e5bbd912488fb694e8fd81f1e745d99f2acc
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Wed Jan 9 17:01:55 2013 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Wed Jan 9 17:01:55 2013 +0100
ccs_tool: fix ccs_edit example
Resolves: rhbz#871603
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
config/tools/ccs_tool/editconf.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/tools/ccs_tool/editconf.c b/config/tools/ccs_tool/editconf.c
index 9415506..c4dcb9c 100644
--- a/config/tools/ccs_tool/editconf.c
+++ b/config/tools/ccs_tool/editconf.c
@@ -100,7 +100,7 @@ static void create_usage(const char *name)
"\n"
"eg:\n"
" ccs_tool create MyCluster\n"
- " ccs_tool addfence apc fence_apc ipaddr=apc.domain.net user=apc password=apc\n"
+ " ccs_tool addfence apc fence_apc ipaddr=apc.domain.net login=apc password=apc\n"
" ccs_tool addnode node1 -n 1 -f apc port=1\n"
" ccs_tool addnode node2 -n 2 -f apc port=2\n"
" ccs_tool addnode node3 -n 3 -f apc port=3\n"
@@ -225,7 +225,7 @@ static void addnode_usage(const char *name)
fprintf(stderr, "Examples:\n");
fprintf(stderr, "\n");
fprintf(stderr, "Add a new node to default configuration file:\n");
- fprintf(stderr, " %s %s newnode1 -n 1 -f manual ipaddr=newnode\n", prog_name, name);
+ fprintf(stderr, " %s %s newnode1 -n 1 -f wti ipaddr=newnode\n", prog_name, name);
fprintf(stderr, "\n");
fprintf(stderr, "Add a new node and dump config file to stdout rather than save it\n");
fprintf(stderr, " %s %s newnode2 -n 2 -f apc -o- newnode.temp.net port=1\n", prog_name, name);
11 years, 3 months
cluster: RHEL6 - build: ship checkquorum.wdmd non executable
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=f5f29115b36...
Commit: f5f29115b364e590a6f6fb1f560a4a268ab23fff
Parent: 77be7299969e63c4874d11aeb692c0a03efa6d5d
Author: Radek Steiger <rsteiger(a)redhat.com>
AuthorDate: Mon Jan 7 18:44:30 2013 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Mon Jan 7 19:23:23 2013 +0100
build: ship checkquorum.wdmd non executable
this avoids some selinux/rgmanager integration issues
Resolves: rhbz#509056
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/scripts/Makefile | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/cman/scripts/Makefile b/cman/scripts/Makefile
index 7950311..f80f7e4 100644
--- a/cman/scripts/Makefile
+++ b/cman/scripts/Makefile
@@ -1,4 +1,5 @@
-SHAREDIRTEX=checkquorum checkquorum.wdmd
+SHAREDIRTEX=checkquorum
+SHAREDIRT=checkquorum.wdmd
include ../../make/defines.mk
include $(OBJDIR)/make/clean.mk
11 years, 3 months