aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/extent_io.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index ad75a9cc3604..69ea09659d47 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1205,7 +1205,8 @@ static noinline int lock_delalloc_pages(struct inode *inode,
1205 */ 1205 */
1206 if (pages[i] != locked_page) { 1206 if (pages[i] != locked_page) {
1207 lock_page(pages[i]); 1207 lock_page(pages[i]);
1208 if (pages[i]->mapping != inode->i_mapping) { 1208 if (!PageDirty(pages[i]) ||
1209 pages[i]->mapping != inode->i_mapping) {
1209 ret = -EAGAIN; 1210 ret = -EAGAIN;
1210 unlock_page(pages[i]); 1211 unlock_page(pages[i]);
1211 page_cache_release(pages[i]); 1212 page_cache_release(pages[i]);