From 4bdc7105428b9a372b15b03082c20909bc8ce6f0 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Tue, 9 Jun 2015 15:57:40 +0800 Subject: [PATCH] btrfs-progs: convert: Print different error message if convert partly failed. When testing under libguestfs, btrfs-convert will never succeed to fix chunk map, and always fails. But in that case, it's already a mountable btrfs. So better to info user with different error message for that case. The root cause of it is still under investigation. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- btrfs-convert.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/btrfs-convert.c b/btrfs-convert.c index 802930c9..39eaa37a 100644 --- a/btrfs-convert.c +++ b/btrfs-convert.c @@ -2292,6 +2292,7 @@ static int do_convert(const char *devname, int datacsum, int packing, int noxatt { int i, ret, blocks_per_node; int fd = -1; + int is_btrfs = 0; u32 blocksize; u64 blocks[7]; u64 total_bytes; @@ -2459,6 +2460,7 @@ static int do_convert(const char *devname, int datacsum, int packing, int noxatt fprintf(stderr, "unable to migrate super block\n"); goto fail; } + is_btrfs = 1; root = open_ctree_fd(fd, devname, 0, OPEN_CTREE_WRITES); if (!root) { @@ -2479,7 +2481,11 @@ static int do_convert(const char *devname, int datacsum, int packing, int noxatt fail: if (fd != -1) close(fd); - fprintf(stderr, "conversion aborted.\n"); + if (is_btrfs) + fprintf(stderr, + "WARNING: an error occured during chunk mapping fixup, filesystem mountable but not finalized\n"); + else + fprintf(stderr, "conversion aborted\n"); return -1; }