• Chris Mason's avatar
    Btrfs: ClearPageError during writepage and clean_tree_block · bf0da8c1
    Chris Mason authored
    Failure testing was tripping up over stale PageError bits in
    metadata pages.  If we have an io error on a block, and later on
    end up reusing it, nobody ever clears PageError on those pages.
    
    During commit, we'll find PageError and think we had trouble writing
    the block, which will lead to aborts and other problems.
    
    This changes clean_tree_block and the btrfs writepage code to
    clear the PageError bit.  In both cases we're either completely
    done with the page or the page has good stuff and the error bit
    is no longer valid.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    bf0da8c1
transaction.c 36.1 KB