@@ -886,9 +886,11 @@ static int setup_root_or_create_block(struct btrfs_fs_info *fs_info,
ret = find_and_setup_root(root, fs_info, objectid, info_root);
if (ret) {
- printk("Couldn't setup %s tree\n", str);
- if (!(flags & OPEN_CTREE_PARTIAL))
+ if (!(flags & OPEN_CTREE_PARTIAL)) {
+ error("could not setup %s tree", str);
return -EIO;
+ }
+ warning("could not setup %s tree, skipping it", str);
/*
* Need a blank node here just so we don't screw up in the
* million of places that assume a root has a valid ->node
Even if we're using OPEN_CTREE_PARTIAL, like "rescue zero log", the error message still looks too serious even we skipped that tree: bad tree block 2172747776, bytenr mismatch, want=2172747776, have=0 Couldn't setup extent tree ^^^^^^^^^^^^^^^^^^^^^^^^^^ This patch will change the error message to: - Use error() if we're not using OPEN_CTREE_PARTIAL - Use warning() and explicitly show we're skipping that tree So the result would be something like: For non-OPEN_CTREE_PARTIAL case: bad tree block 2172747776, bytenr mismatch, want=2172747776, have=0 ERROR: could not setup extent tree For OPEN_CTREE_PARTIAL case bad tree block 2172747776, bytenr mismatch, want=2172747776, have=0 WARNING: could not setup extent tree, skipping it Signed-off-by: Qu Wenruo <wqu@suse.com> --- disk-io.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)