* [PATCH] btrfs-progs: convert: Print different error message if convert partly failed.
@ 2015-06-09 7:57 Qu Wenruo
2015-09-25 17:57 ` David Sterba
0 siblings, 1 reply; 3+ messages in thread
From: Qu Wenruo @ 2015-06-09 7:57 UTC (permalink / raw)
To: linux-btrfs
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 <quwenruo@cn.fujitsu.com>
---
btrfs-convert.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/btrfs-convert.c b/btrfs-convert.c
index 9a9d619..5606156 100644
--- a/btrfs-convert.c
+++ b/btrfs-convert.c
@@ -2286,6 +2286,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;
@@ -2435,6 +2436,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) {
@@ -2455,7 +2457,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,
+ "some error happened, but still converted to btrfs\n");
+ else
+ fprintf(stderr, "conversion aborted\n");
return -1;
}
--
2.4.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] btrfs-progs: convert: Print different error message if convert partly failed.
2015-06-09 7:57 [PATCH] btrfs-progs: convert: Print different error message if convert partly failed Qu Wenruo
@ 2015-09-25 17:57 ` David Sterba
2015-09-26 8:03 ` Qu Wenruo
0 siblings, 1 reply; 3+ messages in thread
From: David Sterba @ 2015-09-25 17:57 UTC (permalink / raw)
To: Qu Wenruo; +Cc: linux-btrfs
On Tue, Jun 09, 2015 at 03:57:40PM +0800, Qu Wenruo wrote:
> 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 <quwenruo@cn.fujitsu.com>
I've adjusted wording of the error message and applied, thanks. What are
the consequences of the unfinished conversion process when such
filesystem is mounted?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] btrfs-progs: convert: Print different error message if convert partly failed.
2015-09-25 17:57 ` David Sterba
@ 2015-09-26 8:03 ` Qu Wenruo
0 siblings, 0 replies; 3+ messages in thread
From: Qu Wenruo @ 2015-09-26 8:03 UTC (permalink / raw)
To: dsterba, Qu Wenruo, linux-btrfs
在 2015年09月26日 01:57, David Sterba 写道:
> On Tue, Jun 09, 2015 at 03:57:40PM +0800, Qu Wenruo wrote:
>> 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 <quwenruo@cn.fujitsu.com>
>
> I've adjusted wording of the error message and applied, thanks. What are
> the consequences of the unfinished conversion process when such
> filesystem is mounted?
The whole chunk tree will not be in system chunk but metadata chunk,
until COW happens.
But the funny thing is, even the system chunk is empty after the
convert, with empty bg auto remove in recent kernels, it will try to
remove empty system chunk, and cause COW...
And magically, things will become normal again(If chunk tree only has leaf).
Quite tricky to debug why open_ctree() will fail, as libguestfs is such
a strange environment, not good method to debug and even no way to use
gdb...
Thanks,
Qu
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-09-26 8:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-09 7:57 [PATCH] btrfs-progs: convert: Print different error message if convert partly failed Qu Wenruo
2015-09-25 17:57 ` David Sterba
2015-09-26 8:03 ` Qu Wenruo
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).