summaryrefslogtreecommitdiffstats
path: root/fs/jbd2
diff options
context:
space:
mode:
authorStefan Behrens2012-11-02 13:26:57 +0100
committerJosef Bacik2012-12-12 23:15:30 +0100
commita36cf8b8933e4a7a7f2f2cbc3c70b097e97f7fd1 (patch)
treed4948095c8c777d669503048213e3fe3bfdf62b5 /fs/jbd2
parentBtrfs: rename the scrub context structure (diff)
downloadkernel-qcow2-linux-a36cf8b8933e4a7a7f2f2cbc3c70b097e97f7fd1.tar.gz
kernel-qcow2-linux-a36cf8b8933e4a7a7f2f2cbc3c70b097e97f7fd1.tar.xz
kernel-qcow2-linux-a36cf8b8933e4a7a7f2f2cbc3c70b097e97f7fd1.zip
Btrfs: remove the block device pointer from the scrub context struct
The block device is removed from the scrub context state structure. The scrub code as it is used for the device replace procedure reads the source data from whereever it is optimal. The source device might even be gone (disconnected, for instance due to a hardware failure). Or the drive can be so faulty so that the device replace procedure tries to avoid access to the faulty source drive as much as possible, and only if all other mirrors are damaged, as a last resort, the source disk is accessed. The modified scrub code operates as if it would handle the source drive and thereby generates an exact copy of the source disk on the target disk, even if the source disk is not present at all. Therefore the block device pointer to the source disk is removed in the scrub context struct and moved into the lower level scope of scrub_bio, fixup and page structures where the block device context is known. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/jbd2')
0 files changed, 0 insertions, 0 deletions