diff options
Diffstat (limited to 'fs/block_dev.c')
-rw-r--r-- | fs/block_dev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c index 93d088ffc05c..789f55e851ae 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c | |||
@@ -716,10 +716,12 @@ int bdev_write_page(struct block_device *bdev, sector_t sector, | |||
716 | 716 | ||
717 | set_page_writeback(page); | 717 | set_page_writeback(page); |
718 | result = ops->rw_page(bdev, sector + get_start_sect(bdev), page, true); | 718 | result = ops->rw_page(bdev, sector + get_start_sect(bdev), page, true); |
719 | if (result) | 719 | if (result) { |
720 | end_page_writeback(page); | 720 | end_page_writeback(page); |
721 | else | 721 | } else { |
722 | clean_page_buffers(page); | ||
722 | unlock_page(page); | 723 | unlock_page(page); |
724 | } | ||
723 | blk_queue_exit(bdev->bd_queue); | 725 | blk_queue_exit(bdev->bd_queue); |
724 | return result; | 726 | return result; |
725 | } | 727 | } |