[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] [PATCH] gfs2_utils: Improve error messages



Currently gfs2_edit complains that it doesn't know what 'master' means
when it can't find the master directory. This patch catches the case
where the master directory hasn't been found and reports the error more
clearly to the user. It also updates a terse 'out of space' error
message in blk_alloc_i to be more clear.

rhbz#742293

Signed-off-by: Andrew Price <anprice redhat com>
---
 gfs2/edit/hexedit.c   |   10 +++++++---
 gfs2/libgfs2/fs_ops.c |    2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 4b992de..69d1940 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -1700,10 +1700,14 @@ uint64_t check_keywords(const char *kword)
 	else if (!strcmp(kword, "root") || !strcmp(kword, "rootdir"))
 		blk = sbd.sd_sb.sb_root_dir.no_addr;
 	else if (!strcmp(kword, "master")) {
-		if (!sbd.gfs1)
-			blk = sbd.sd_sb.sb_master_dir.no_addr;
-		else
+		if (sbd.gfs1)
 			fprintf(stderr, "This is GFS1; there's no master directory.\n");
+		else if (!sbd.sd_sb.sb_master_dir.no_addr) {
+			fprintf(stderr, "GFS2 master directory not found on %s\n",
+			                                          sbd.device_name);
+			exit(-1);
+		} else
+			blk = sbd.sd_sb.sb_master_dir.no_addr;
 	}
 	else if (!strcmp(kword, "jindex")) {
 		if (sbd.gfs1)
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index def6f80..a72394f 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -137,7 +137,7 @@ static uint64_t blk_alloc_i(struct gfs2_sbd *sdp, unsigned int type)
 	}
 
 	if (n == NULL) {
-		fprintf(stderr, "out of space\n");
+		fprintf(stderr, "Not enough space available on device\n");
 		exit(1);
 	}
 
-- 
1.7.7.6


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]