fs: Add helper to clean bdev aliases under a bh and use it
[sfrench/cifs-2.6.git] / fs / mpage.c
index d2413af0823a24202560eb73ee363dcb980c939c..28af984a3d96f11f8848d0c5e04911773a3cc0f8 100644 (file)
@@ -489,7 +489,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
        struct buffer_head map_bh;
        loff_t i_size = i_size_read(inode);
        int ret = 0;
-       int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?  WRITE_SYNC : 0);
+       int op_flags = wbc_to_write_flags(wbc);
 
        if (page_has_buffers(page)) {
                struct buffer_head *head = page_buffers(page);
@@ -555,8 +555,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
                if (mpd->get_block(inode, block_in_file, &map_bh, 1))
                        goto confused;
                if (buffer_new(&map_bh))
-                       unmap_underlying_metadata(map_bh.b_bdev,
-                                               map_bh.b_blocknr);
+                       clean_bdev_bh_alias(&map_bh);
                if (buffer_boundary(&map_bh)) {
                        boundary_block = map_bh.b_blocknr;
                        boundary_bdev = map_bh.b_bdev;
@@ -705,7 +704,7 @@ mpage_writepages(struct address_space *mapping,
                ret = write_cache_pages(mapping, wbc, __mpage_writepage, &mpd);
                if (mpd.bio) {
                        int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?
-                                 WRITE_SYNC : 0);
+                                 REQ_SYNC : 0);
                        mpage_bio_submit(REQ_OP_WRITE, op_flags, mpd.bio);
                }
        }
@@ -726,7 +725,7 @@ int mpage_writepage(struct page *page, get_block_t get_block,
        int ret = __mpage_writepage(page, wbc, &mpd);
        if (mpd.bio) {
                int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?
-                         WRITE_SYNC : 0);
+                         REQ_SYNC : 0);
                mpage_bio_submit(REQ_OP_WRITE, op_flags, mpd.bio);
        }
        return ret;