ext4: check EA value offset when loading
[firefly-linux-kernel-4.4.55.git] / fs / btrfs / scrub.c
index 79bd479317cb53cbea30a7021d81a891ed9ae20c..e4f69e3b78b94eb7c29ccf58d6fd315e95eacdb6 100644 (file)
@@ -545,8 +545,9 @@ static void scrub_print_warning(const char *errstr, struct scrub_block *sblock)
 
        if (flags & BTRFS_EXTENT_FLAG_TREE_BLOCK) {
                do {
-                       ret = tree_backref_for_extent(&ptr, eb, ei, item_size,
-                                                       &ref_root, &ref_level);
+                       ret = tree_backref_for_extent(&ptr, eb, &found_key, ei,
+                                                     item_size, &ref_root,
+                                                     &ref_level);
                        printk_in_rcu(KERN_WARNING
                                "btrfs: %s at logical %llu on dev %s, "
                                "sector %llu: metadata %s (level %d) in tree "
@@ -2501,7 +2502,7 @@ again:
                        ret = scrub_extent(sctx, extent_logical, extent_len,
                                           extent_physical, extent_dev, flags,
                                           generation, extent_mirror_num,
-                                          extent_physical);
+                                          extent_logical - logical + physical);
                        if (ret)
                                goto out;