summaryrefslogtreecommitdiff
path: root/fs/readdir.c
diff options
context:
space:
mode:
authorStefan Behrens <sbehrens@giantdisaster.de>2012-08-10 08:58:21 -0600
committerChris Mason <chris.mason@oracle.com>2012-08-28 16:53:43 -0400
commit256dd1bb3750ac5ad49b40887c1691788dc44b33 (patch)
treed260aa607397dd2e67681b4b264585be3032e9d9 /fs/readdir.c
parentd280e5be940931c84bb2e9831ead9d02bc785484 (diff)
downloadlinux-rpi-256dd1bb3750ac5ad49b40887c1691788dc44b33.tar.gz
linux-rpi-256dd1bb3750ac5ad49b40887c1691788dc44b33.tar.bz2
linux-rpi-256dd1bb3750ac5ad49b40887c1691788dc44b33.zip
Btrfs: fix that repair code is spuriously executed for transid failures
If verify_parent_transid() fails for all mirrors, the current code calls repair_io_failure() anyway which means: - that the disk block is rewritten without repairing anything and - that a kernel log message is printed which misleadingly claims that a read error was corrected. This is an example: parent transid verify failed on 615015833600 wanted 110423 found 110424 parent transid verify failed on 615015833600 wanted 110423 found 110424 btrfs read error corrected: ino 1 off 615015833600 (dev /dev/...) It is wrong to ignore the results from verify_parent_transid() and to call repair_eb_io_failure() when the verification of the transids failed. This commit fixes the issue. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/readdir.c')
0 files changed, 0 insertions, 0 deletions