diff options
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r-- | fs/btrfs/extent_io.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index b40ba75f4483..cc3c58970d4e 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -2334,6 +2334,9 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc, | |||
2334 | trace___extent_writepage(page, inode, wbc); | 2334 | trace___extent_writepage(page, inode, wbc); |
2335 | 2335 | ||
2336 | WARN_ON(!PageLocked(page)); | 2336 | WARN_ON(!PageLocked(page)); |
2337 | |||
2338 | ClearPageError(page); | ||
2339 | |||
2337 | pg_offset = i_size & (PAGE_CACHE_SIZE - 1); | 2340 | pg_offset = i_size & (PAGE_CACHE_SIZE - 1); |
2338 | if (page->index > end_index || | 2341 | if (page->index > end_index || |
2339 | (page->index == end_index && !pg_offset)) { | 2342 | (page->index == end_index && !pg_offset)) { |
@@ -3402,6 +3405,7 @@ int clear_extent_buffer_dirty(struct extent_io_tree *tree, | |||
3402 | PAGECACHE_TAG_DIRTY); | 3405 | PAGECACHE_TAG_DIRTY); |
3403 | } | 3406 | } |
3404 | spin_unlock_irq(&page->mapping->tree_lock); | 3407 | spin_unlock_irq(&page->mapping->tree_lock); |
3408 | ClearPageError(page); | ||
3405 | unlock_page(page); | 3409 | unlock_page(page); |
3406 | } | 3410 | } |
3407 | return 0; | 3411 | return 0; |