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)
commitc6712ff37f9963e7049c8aa00dc41a612b38c6ba
treea532ba1238cbe0aed7922d5e281988eacf19a515
parent59e1a3349546c1981ed39152ad5f41486c6fe812
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