]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: check_int: use the known block location
authorStefan Behrens <sbehrens@giantdisaster.de>
Thu, 16 Oct 2014 15:48:48 +0000 (17:48 +0200)
committerChris Mason <clm@fb.com>
Fri, 21 Nov 2014 01:14:29 +0000 (17:14 -0800)
commitac62faac96c7fd71e5cf37e2d651c128d5b623bf
treea532ba1238cbe0aed7922d5e281988eacf19a515
parent04bd3b8dc61b53934c695f36a852797db1bdaed6
Btrfs: check_int: use the known block location

The xfstest btrfs/014 which tests the balance operation caused issues with
the check_int module. The attempt was made to use btrfs_map_block() to
find the physical location for a written block. However, this was not
at all needed since the location of the written block was known since
a hook to submit_bio() was the reason for entering the check_int module.
Additionally, after a block relocation it happened that btrfs_map_block()
failed causing misleading error messages afterwards.

This patch changes the check_int module to use the known information of
the physical location from the bio.

Reported-by: Wang Shilong <wangshilong1991@gmail.com>
Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
Tested-by: Wang Shilong <wangshilong1991@gmail.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/check-integrity.c