On 08/12/2015 12:09 PM, Marc MERLIN wrote:
On Wed, Aug 12, 2015 at 11:15:39AM -0400, Josef Bacik wrote:
On 08/12/2015 10:47 AM, Marc MERLIN wrote:
On Tue, Aug 11, 2015 at 11:40:45AM -0400, Josef Bacik wrote:
From a48cf7a9ae44a17d927df5542c8b0be287aee9ed Mon Sep 17 00:00:00 2001
From: Josef Bacik <jba...@fb.com>
Date: Tue, 11 Aug 2015 11:39:37 -0400
Subject: [PATCH] Btrfs: kill BUG_ON() in btrfs_lookup_extent_info()
Replace it with an ASSERT(0) for the developers and an error for not the
developers.
Thanks. We knocked one down and now another BUG has been triggered :)
if (unlikely(wc->refs[level - 1] == 0)) {
btrfs_err(root->fs_info, "Missing references.");
BUG();
}
This is why you got your own branch, it's never just one. Here's
the next bit
Yes, I figured there might be a few more :)
Thanks for this patch, it definitely made things better:
[ 165.656408] BTRFS info (device dm-0): disk space caching is enabled
[ 205.528199] BTRFS error (device dm-0): Missing references.
[ 205.528216] BTRFS: error (device dm-0) in btrfs_drop_snapshot:8652: errno=-5
IO failure
[ 205.528225] BTRFS info (device dm-0): forced readonly
That's perfect, thanks much for that.
Now, back to check --repair, does it make sense to fix it too so that it
doesn't crash either?
myth:~# btrfs check --repair /dev/mapper/crypt_sdd1
enabling repair mode
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
cmds-check.c:4486: add_data_backref: Assertion `back->bytes != max_size` failed.
btrfs[0x8066a73]
btrfs[0x8066aa4]
btrfs[0x8067991]
btrfs[0x806b4ab]
btrfs[0x806b9a3]
btrfs[0x806c5b2]
btrfs(cmd_check+0x1088)[0x806eddf]
btrfs(main+0x153)[0x80557c6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75784d3]
btrfs[0x80557ec]
Going to need more info to figure this one out
From d77cd13f94fae6d995f753f3de3728c4ef4f8e75 Mon Sep 17 00:00:00 2001
From: Josef Bacik <jba...@fb.com>
Date: Wed, 12 Aug 2015 12:18:01 -0400
Subject: [PATCH] some debugging
---
cmds-check.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cmds-check.c b/cmds-check.c
index dd2fce3..8f668d7 100644
--- a/cmds-check.c
+++ b/cmds-check.c
@@ -4524,6 +4524,8 @@ static int add_data_backref(struct cache_tree
*extent_cache, u64 bytenr,
if (found_ref) {
BUG_ON(num_refs != 1);
if (back->node.found_ref)
+ if (back->bytes != max_size)
+ fprintf(stderr, "wtf, parent %llu\n", (unsigned
long long)parent);
BUG_ON(back->bytes != max_size);
back->node.found_ref = 1;
back->found_ref += 1;
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html