From: Chris Mason Date: Thu, 14 May 2009 17:24:30 +0000 (-0400) Subject: Btrfs: Don't loop forever on metadata IO failures X-Git-Tag: linux-omap-v2.6.30-rc6~14^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76a05b35a320e8c968d0fec8f512a1acae227309;p=pandora-kernel.git Btrfs: Don't loop forever on metadata IO failures When a btrfs metadata read fails, the first thing we try to do is find a good copy on another mirror of the block. If this fails, read_tree_block() ends up returning a buffer that isn't up to date. The btrfs btree reading code was reworked to drop locks and repeat the search when IO was done, but the changes didn't add a check for failed reads. The end result was looping forever on buffers that were never going to become up to date. Signed-off-by: Chris Mason --- Reading git-diff-tree failed