]> www.infradead.org Git - users/jedix/linux-maple.git/commit
Btrfs: fix meta data raid-repair merge problem
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Thu, 1 Dec 2011 14:30:36 +0000 (09:30 -0500)
committerChris Mason <chris.mason@oracle.com>
Fri, 16 Dec 2011 19:41:55 +0000 (14:41 -0500)
commit28ad42d6166326a4fa12c816aca57eb67ba9122c
treee13aa17306157cbab5fef3063d1f56da4f786bcc
parent6c452cf3025feb48b4ccd7587448da9277730a90
Btrfs: fix meta data raid-repair merge problem

Commit 4a54c8c16 introduced raid-repair, killing the individual
readpage_io_failed_hook entries from inode.c and disk-io.c. Commit
4bb31e92 introduced new readahead code, adding a readpage_io_failed_hook to
disk-io.c.

The raid-repair commit had logic to disable raid-repair, if
readpage_io_failed_hook is set. Thus, the readahead commit effectively
disabled raid-repair for meta data.

This commit changes the logic to always attempt raid-repair when needed and
call the readpage_io_failed_hook in case raid-repair fails. This is much
more straight forward and should have been like that from the beginning.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Reported-by: Stefan Behrens <sbehrens@giantdisaster.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
(cherry picked from commit f4a8e6563ea5366f563cb741a27fe90c5fa7f0fc)
fs/btrfs/extent_io.c