diff mbox

panic during rebalance, and now upon mount

Message ID 3d0408631001300409i13326d13vac10a3f639f6db92@mail.gmail.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Yan, Zheng Jan. 30, 2010, 12:09 p.m. UTC
None
diff mbox

Patch

diff -urp 1/fs/btrfs/extent-tree.c 2/fs/btrfs/extent-tree.c
--- 1/fs/btrfs/extent-tree.c	2010-01-22 12:16:34.203525744 +0800
+++ 2/fs/btrfs/extent-tree.c	2010-01-30 20:03:23.609292953 +0800
@@ -5373,8 +5373,18 @@  static noinline int walk_up_proc(struct
 		if (wc->flags[level] & BTRFS_BLOCK_FLAG_FULL_BACKREF)
 			parent = eb->start;
 		else
-			BUG_ON(root->root_key.objectid !=
-			       btrfs_header_owner(eb));
+			if (root->root_key.objectid !=
+			    btrfs_header_owner(eb)) {
+				printk("root %llu %llu\n",
+				       root->root_key.objectid,
+				       root->root_key.offset);
+				printk("node %llu refs %llu flags %llu owner %llu reloc %d\n",
+				       eb->start, wc->refs[level], wc->flags[level],
+				       btrfs_header_owner(eb),
+				       btrfs_header_flag(eb, BTRFS_HEADER_FLAG_RELOC));
+
+				BUG();
+			}
 	} else {
 		if (wc->flags[level + 1] & BTRFS_BLOCK_FLAG_FULL_BACKREF)
 			parent = path->nodes[level + 1]->start;
@@ -5496,6 +5506,8 @@  int btrfs_drop_snapshot(struct btrfs_roo
 		       sizeof(wc->update_progress));
 	} else {
 		btrfs_disk_key_to_cpu(&key, &root_item->drop_progress);
+		printk("drop progress %llu %d %llu\n", key.objectid,
+			key.type, key.offset);
 		memcpy(&wc->update_progress, &key,
 		       sizeof(wc->update_progress));
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in