Gitweb:
http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitd...
Commit: 114ca2dfa825a313561c9c82e52b4c052b1d2cd4
Parent: e2e273467a776ef257e1d7e284088ae9e7cbec43
Author: Carlos Maiolino <cmaiolino(a)redhat.com>
AuthorDate: Tue Oct 4 10:20:12 2011 -0300
Committer: Carlos Maiolino <cmaiolino(a)redhat.com>
CommitterDate: Tue Oct 4 10:20:12 2011 -0300
mkfs: fix error handling
this patch replaces some error handlers by
calls to perror. Also replace calls to die()
by exit() and fixes some exit() arguments to
be compliant with C standard
---
gfs2/mkfs/main_mkfs.c | 59 +++++++++++++++++++++++++------------------------
1 files changed, 30 insertions(+), 29 deletions(-)
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index 0bd1410..f35f5b0 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -551,22 +551,22 @@ void main_mkfs(int argc, char *argv[])
verify_arguments(sdp);
sdp->device_fd = open(sdp->device_name, O_RDWR | O_CLOEXEC);
- if (sdp->device_fd < 0)
- die( _("can't open device %s: %s\n"),
- sdp->device_name, strerror(errno));
+ if (sdp->device_fd < 0){
+ perror(sdp->device_name);
+ exit(EXIT_FAILURE);
+ }
if (fstat(sdp->device_fd, &st_buf) < 0) {
- fprintf(stderr, _("could not fstat fd %d: %s\n"),
- sdp->device_fd, strerror(errno));
- exit(-1);
+ perror(sdp->device_name);
+ exit(EXIT_FAILURE);
}
if (!sdp->override)
are_you_sure();
if (!S_ISREG(st_buf.st_mode) && device_topology(sdp)) {
- fprintf(stderr, _("Device topology error\n"));
- exit(-1);
+ perror(_("Device topology error\n"));
+ exit(EXIT_FAILURE);
}
if (sdp->bsize == -1) {
@@ -591,16 +591,16 @@ void main_mkfs(int argc, char *argv[])
verify_bsize(sdp);
if (compute_constants(sdp)) {
- fprintf(stderr, _("Bad constants (1)\n"));
- exit(-1);
+ perror(_("Bad constants (1)\n"));
+ exit(EXIT_FAILURE);
}
/* Get the device geometry */
device_size(sdp->device_fd, &real_device_size);
if (device_geometry(sdp)) {
- fprintf(stderr, _("Geometry error\n"));
- exit(-1);
+ perror(_("Device geometry error\n"));
+ exit(EXIT_FAILURE);
}
/* Convert optional block-count to basic blocks */
if (sdp->orig_fssize) {
@@ -618,7 +618,7 @@ void main_mkfs(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 (discard)
@@ -639,35 +639,35 @@ void main_mkfs(int argc, char *argv[])
build_sb(sdp, uuid);
error = build_jindex(sdp);
if (error) {
- fprintf(stderr, _("Error building jindex: %s\n"), strerror(error));
- exit(-1);
+ perror(_("Error building jindex"));
+ exit(EXIT_FAILURE);
}
error = build_per_node(sdp);
if (error) {
- fprintf(stderr, _("Error building per-node directory: %s\n"),
strerror(error));
- exit(-1);
+ perror(_("Error building per-node directory"));
+ exit(EXIT_FAILURE);
}
error = build_inum(sdp);
if (error) {
- fprintf(stderr, _("Error building inum inode: %s\n"), strerror(error));
- exit(-1);
+ perror(_("Error building inum inode"));
+ exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "inum", 4, &sdp->md.inum);
error = build_statfs(sdp);
if (error) {
- fprintf(stderr, _("Error building statfs inode: %s\n"), strerror(error));
- exit(-1);
+ perror(_("Error building statfs inode"));
+ exit(EXIT_FAILURE);
}
gfs2_lookupi(sdp->master_dir, "statfs", 6, &sdp->md.statfs);
error = build_rindex(sdp);
if (error) {
- fprintf(stderr, _("Error building rindex inode: %s\n"), strerror(error));
- exit(-1);
+ perror(_("Error building rindex inode"));
+ exit(EXIT_FAILURE);
}
error = build_quota(sdp);
if (error) {
- fprintf(stderr, _("Error building quota inode: %s\n"), strerror(error));
- exit(-1);
+ perror(_("Error building quota inode"));
+ exit(EXIT_FAILURE);
}
do_init_inum(sdp);
@@ -682,13 +682,14 @@ void main_mkfs(int argc, char *argv[])
gfs2_rgrp_free(&sdp->rgtree);
error = fsync(sdp->device_fd);
+
if (error)
- die( _("can't fsync device (%d): %s\n"),
- error, strerror(errno));
+ perror(sdp->device_name);
+
error = close(sdp->device_fd);
+
if (error)
- die( _("error closing device (%d): %s\n"),
- error, strerror(errno));
+ perror(sdp->device_name);
print_results(sdp, real_device_size, uuid);
}