* [Cluster-devel] [PATCH] gfs2_grow: fix error handling, i18n strings
@ 2011-10-04 14:49 Carlos Maiolino
2011-10-04 14:56 ` Steven Whitehouse
0 siblings, 1 reply; 2+ messages in thread
From: Carlos Maiolino @ 2011-10-04 14:49 UTC (permalink / raw)
To: cluster-devel.redhat.com
This patch fixes some error handling into gfs2_grow,
but also fix some strings to be complaing with i18n.
Also, it fixes 2 perror calls from mkfs, removing
new-line characters (\n) from the perror() call, since
perror() should be called without any format character
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
gfs2/mkfs/main_grow.c | 52 ++++++++++++++++++++----------------------------
gfs2/mkfs/main_mkfs.c | 4 +-
2 files changed, 24 insertions(+), 32 deletions(-)
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index 7a32d7e..c48497f 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -202,7 +202,7 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
buf = calloc(1, writelen);
if (buf == NULL) {
perror(__FUNCTION__);
- exit(-1);
+ exit(EXIT_FAILURE);
}
/* Now add the new rg entries to the rg index. Here we */
/* need to use the gfs2 kernel code rather than the libgfs2 */
@@ -219,13 +219,13 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
fsync(sdp->device_fd);
if (!test) {
if (fstat(rindex_fd, &statbuf) != 0) {
- log_crit("Can't stat rindex : %s\n", strerror(errno));
+ perror("rindex");
goto out;
}
if (statbuf.st_size !=
old_rg_count * sizeof(struct gfs2_rindex)) {
- log_crit("Incorrect rindex size. want %ld(%d RGs), "
- "have %ld\n",
+ log_crit(_("Incorrect rindex size. want %ld(%d RGs), "
+ "have %ld\n"),
old_rg_count * sizeof(struct gfs2_rindex),
old_rg_count, statbuf.st_size);
goto out;
@@ -234,8 +234,8 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
lseek(rindex_fd, 0, SEEK_END);
count = write(rindex_fd, buf, sizeof(struct gfs2_rindex));
if (count != sizeof(struct gfs2_rindex)) {
- log_crit("Error writing first new rindex entry;"
- "aborted.\n");
+ log_crit(_("Error writing first new rindex entry;"
+ "aborted.\n"));
if (count > 0)
goto trunc;
else
@@ -244,16 +244,15 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
count = write(rindex_fd, buf + sizeof(struct gfs2_rindex),
writelen - sizeof(struct gfs2_rindex));
if (count != writelen - sizeof(struct gfs2_rindex)) {
- log_crit("Error writing new rindex entries;"
- "aborted.\n");
+ log_crit(_("Error writing new rindex entries;"
+ "aborted.\n"));
if (count > 0)
goto trunc;
else
goto out;
}
if (fallocate(rindex_fd, FALLOC_FL_KEEP_SIZE, statbuf.st_size + writelen, sizeof(struct gfs2_rindex)) != 0)
- log_crit("Error fallocating extra space : %s\n",
- strerror(errno));
+ perror("fallocate");
fsync(rindex_fd);
}
out:
@@ -261,7 +260,7 @@ out:
return;
trunc:
count = (count / sizeof(struct gfs2_rindex)) + old_rg_count;
- log_crit("truncating rindex to %ld\n",
+ log_crit(_("truncating rindex to %ld\n"),
(off_t)count * sizeof(struct gfs2_rindex));
ftruncate(rindex_fd, (off_t)count * sizeof(struct gfs2_rindex));
free(buf);
@@ -312,26 +311,20 @@ main_grow(int argc, char *argv[])
sdp->path_name = argv[optind++];
sdp->path_fd = open(sdp->path_name, O_RDONLY | O_CLOEXEC);
if (sdp->path_fd < 0)
- die("can't open root directory %s: %s\n",
- sdp->path_name, strerror(errno));
+ perror(sdp->path_name);
if (check_for_gfs2(sdp)) {
- if (errno == EINVAL)
- fprintf(stderr,
- _("Not a valid GFS2 mount point: %s\n"),
- sdp->path_name);
- else
- fprintf(stderr, "%s\n", strerror(errno));
- exit(-1);
+ perror(sdp->path_name);
+ exit(EXIT_FAILURE);
}
sdp->device_fd = open(sdp->device_name,
(test ? O_RDONLY : O_RDWR) | O_CLOEXEC);
if (sdp->device_fd < 0)
- die( _("can't open device %s: %s\n"),
- sdp->device_name, strerror(errno));
+ perror(sdp->device_name);
+
if (device_geometry(sdp)) {
- fprintf(stderr, _("Geometry error\n"));
- exit(-1);
+ perror(_("Device geometry error"));
+ exit(EXIT_FAILURE);
}
log_info( _("Initializing lists...\n"));
sdp->rgtree.osi_node = NULL;
@@ -340,8 +333,8 @@ main_grow(int argc, char *argv[])
sdp->sd_sb.sb_bsize = GFS2_DEFAULT_BSIZE;
sdp->bsize = sdp->sd_sb.sb_bsize;
if (compute_constants(sdp)) {
- log_crit(_("Bad constants (1)\n"));
- exit(-1);
+ perror(_("Bad constants (1)"));
+ exit(EXIT_FAILURE);
}
if (read_sb(sdp, 0) < 0)
die( _("gfs: Error reading superblock.\n"));
@@ -349,13 +342,12 @@ main_grow(int argc, char *argv[])
if (fix_device_geometry(sdp)) {
fprintf(stderr, _("Device is too small (%llu bytes)\n"),
(unsigned long long)sdp->device.length << GFS2_BASIC_BLOCK_SHIFT);
- exit(-1);
+ exit(EXIT_FAILURE);
}
if (mount_gfs2_meta(sdp)) {
- fprintf(stderr, _("Error mounting GFS2 metafs: %s\n"),
- strerror(errno));
- exit(-1);
+ perror("GFS2 metafs");
+ exit(EXIT_FAILURE);
}
sprintf(rindex_name, "%s/rindex", sdp->metafs_path);
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index f35f5b0..771feba 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -591,7 +591,7 @@ void main_mkfs(int argc, char *argv[])
verify_bsize(sdp);
if (compute_constants(sdp)) {
- perror(_("Bad constants (1)\n"));
+ perror(_("Bad constants (1)"));
exit(EXIT_FAILURE);
}
@@ -599,7 +599,7 @@ void main_mkfs(int argc, char *argv[])
device_size(sdp->device_fd, &real_device_size);
if (device_geometry(sdp)) {
- perror(_("Device geometry error\n"));
+ perror(_("Device geometry error"));
exit(EXIT_FAILURE);
}
/* Convert optional block-count to basic blocks */
--
1.7.6.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Cluster-devel] [PATCH] gfs2_grow: fix error handling, i18n strings
2011-10-04 14:49 [Cluster-devel] [PATCH] gfs2_grow: fix error handling, i18n strings Carlos Maiolino
@ 2011-10-04 14:56 ` Steven Whitehouse
0 siblings, 0 replies; 2+ messages in thread
From: Steven Whitehouse @ 2011-10-04 14:56 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hi,
Looks good to me,
Steve.
On Tue, 2011-10-04 at 11:49 -0300, Carlos Maiolino wrote:
> This patch fixes some error handling into gfs2_grow,
> but also fix some strings to be complaing with i18n.
> Also, it fixes 2 perror calls from mkfs, removing
> new-line characters (\n) from the perror() call, since
> perror() should be called without any format character
>
> Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
> ---
> gfs2/mkfs/main_grow.c | 52 ++++++++++++++++++++----------------------------
> gfs2/mkfs/main_mkfs.c | 4 +-
> 2 files changed, 24 insertions(+), 32 deletions(-)
>
> diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
> index 7a32d7e..c48497f 100644
> --- a/gfs2/mkfs/main_grow.c
> +++ b/gfs2/mkfs/main_grow.c
> @@ -202,7 +202,7 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
> buf = calloc(1, writelen);
> if (buf == NULL) {
> perror(__FUNCTION__);
> - exit(-1);
> + exit(EXIT_FAILURE);
> }
> /* Now add the new rg entries to the rg index. Here we */
> /* need to use the gfs2 kernel code rather than the libgfs2 */
> @@ -219,13 +219,13 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
> fsync(sdp->device_fd);
> if (!test) {
> if (fstat(rindex_fd, &statbuf) != 0) {
> - log_crit("Can't stat rindex : %s\n", strerror(errno));
> + perror("rindex");
> goto out;
> }
> if (statbuf.st_size !=
> old_rg_count * sizeof(struct gfs2_rindex)) {
> - log_crit("Incorrect rindex size. want %ld(%d RGs), "
> - "have %ld\n",
> + log_crit(_("Incorrect rindex size. want %ld(%d RGs), "
> + "have %ld\n"),
> old_rg_count * sizeof(struct gfs2_rindex),
> old_rg_count, statbuf.st_size);
> goto out;
> @@ -234,8 +234,8 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
> lseek(rindex_fd, 0, SEEK_END);
> count = write(rindex_fd, buf, sizeof(struct gfs2_rindex));
> if (count != sizeof(struct gfs2_rindex)) {
> - log_crit("Error writing first new rindex entry;"
> - "aborted.\n");
> + log_crit(_("Error writing first new rindex entry;"
> + "aborted.\n"));
> if (count > 0)
> goto trunc;
> else
> @@ -244,16 +244,15 @@ static void fix_rindex(struct gfs2_sbd *sdp, int rindex_fd, int old_rg_count)
> count = write(rindex_fd, buf + sizeof(struct gfs2_rindex),
> writelen - sizeof(struct gfs2_rindex));
> if (count != writelen - sizeof(struct gfs2_rindex)) {
> - log_crit("Error writing new rindex entries;"
> - "aborted.\n");
> + log_crit(_("Error writing new rindex entries;"
> + "aborted.\n"));
> if (count > 0)
> goto trunc;
> else
> goto out;
> }
> if (fallocate(rindex_fd, FALLOC_FL_KEEP_SIZE, statbuf.st_size + writelen, sizeof(struct gfs2_rindex)) != 0)
> - log_crit("Error fallocating extra space : %s\n",
> - strerror(errno));
> + perror("fallocate");
> fsync(rindex_fd);
> }
> out:
> @@ -261,7 +260,7 @@ out:
> return;
> trunc:
> count = (count / sizeof(struct gfs2_rindex)) + old_rg_count;
> - log_crit("truncating rindex to %ld\n",
> + log_crit(_("truncating rindex to %ld\n"),
> (off_t)count * sizeof(struct gfs2_rindex));
> ftruncate(rindex_fd, (off_t)count * sizeof(struct gfs2_rindex));
> free(buf);
> @@ -312,26 +311,20 @@ main_grow(int argc, char *argv[])
> sdp->path_name = argv[optind++];
> sdp->path_fd = open(sdp->path_name, O_RDONLY | O_CLOEXEC);
> if (sdp->path_fd < 0)
> - die("can't open root directory %s: %s\n",
> - sdp->path_name, strerror(errno));
> + perror(sdp->path_name);
>
> if (check_for_gfs2(sdp)) {
> - if (errno == EINVAL)
> - fprintf(stderr,
> - _("Not a valid GFS2 mount point: %s\n"),
> - sdp->path_name);
> - else
> - fprintf(stderr, "%s\n", strerror(errno));
> - exit(-1);
> + perror(sdp->path_name);
> + exit(EXIT_FAILURE);
> }
> sdp->device_fd = open(sdp->device_name,
> (test ? O_RDONLY : O_RDWR) | O_CLOEXEC);
> if (sdp->device_fd < 0)
> - die( _("can't open device %s: %s\n"),
> - sdp->device_name, strerror(errno));
> + perror(sdp->device_name);
> +
> if (device_geometry(sdp)) {
> - fprintf(stderr, _("Geometry error\n"));
> - exit(-1);
> + perror(_("Device geometry error"));
> + exit(EXIT_FAILURE);
> }
> log_info( _("Initializing lists...\n"));
> sdp->rgtree.osi_node = NULL;
> @@ -340,8 +333,8 @@ main_grow(int argc, char *argv[])
> sdp->sd_sb.sb_bsize = GFS2_DEFAULT_BSIZE;
> sdp->bsize = sdp->sd_sb.sb_bsize;
> if (compute_constants(sdp)) {
> - log_crit(_("Bad constants (1)\n"));
> - exit(-1);
> + perror(_("Bad constants (1)"));
> + exit(EXIT_FAILURE);
> }
> if (read_sb(sdp, 0) < 0)
> die( _("gfs: Error reading superblock.\n"));
> @@ -349,13 +342,12 @@ main_grow(int argc, char *argv[])
> if (fix_device_geometry(sdp)) {
> fprintf(stderr, _("Device is too small (%llu bytes)\n"),
> (unsigned long long)sdp->device.length << GFS2_BASIC_BLOCK_SHIFT);
> - exit(-1);
> + exit(EXIT_FAILURE);
> }
>
> if (mount_gfs2_meta(sdp)) {
> - fprintf(stderr, _("Error mounting GFS2 metafs: %s\n"),
> - strerror(errno));
> - exit(-1);
> + perror("GFS2 metafs");
> + exit(EXIT_FAILURE);
> }
>
> sprintf(rindex_name, "%s/rindex", sdp->metafs_path);
> diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
> index f35f5b0..771feba 100644
> --- a/gfs2/mkfs/main_mkfs.c
> +++ b/gfs2/mkfs/main_mkfs.c
> @@ -591,7 +591,7 @@ void main_mkfs(int argc, char *argv[])
> verify_bsize(sdp);
>
> if (compute_constants(sdp)) {
> - perror(_("Bad constants (1)\n"));
> + perror(_("Bad constants (1)"));
> exit(EXIT_FAILURE);
> }
>
> @@ -599,7 +599,7 @@ void main_mkfs(int argc, char *argv[])
>
> device_size(sdp->device_fd, &real_device_size);
> if (device_geometry(sdp)) {
> - perror(_("Device geometry error\n"));
> + perror(_("Device geometry error"));
> exit(EXIT_FAILURE);
> }
> /* Convert optional block-count to basic blocks */
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-10-04 14:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-04 14:49 [Cluster-devel] [PATCH] gfs2_grow: fix error handling, i18n strings Carlos Maiolino
2011-10-04 14:56 ` Steven Whitehouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).