From: Mike Christie <[email protected]>

This patch has mpage.c use bio->bi_op for REQ_OPs and rq_flag_bits
to bio->bi_rw.

Signed-off-by: Mike Christie <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
 fs/mpage.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/fs/mpage.c b/fs/mpage.c
index 2c251ec..89f58f1 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -56,11 +56,12 @@ static void mpage_end_io(struct bio *bio)
        bio_put(bio);
 }
 
-static struct bio *mpage_bio_submit(int rw, struct bio *bio)
+static struct bio *mpage_bio_submit(int op, int op_flags, struct bio *bio)
 {
        bio->bi_end_io = mpage_end_io;
-       bio->bi_rw = rw;
-       guard_bio_eod(rw, bio);
+       bio->bi_op = op;
+       bio->bi_rw = op_flags;
+       guard_bio_eod(op, bio);
        submit_bio(bio);
        return NULL;
 }
@@ -270,7 +271,7 @@ do_mpage_readpage(struct bio *bio, struct page *page, 
unsigned nr_pages,
         * This page will go to BIO.  Do we need to send this BIO off first?
         */
        if (bio && (*last_block_in_bio != blocks[0] - 1))
-               bio = mpage_bio_submit(READ, bio);
+               bio = mpage_bio_submit(REQ_OP_READ, 0, bio);
 
 alloc_new:
        if (bio == NULL) {
@@ -287,7 +288,7 @@ alloc_new:
 
        length = first_hole << blkbits;
        if (bio_add_page(bio, page, length, 0) < length) {
-               bio = mpage_bio_submit(READ, bio);
+               bio = mpage_bio_submit(REQ_OP_READ, 0, bio);
                goto alloc_new;
        }
 
@@ -295,7 +296,7 @@ alloc_new:
        nblocks = map_bh->b_size >> blkbits;
        if ((buffer_boundary(map_bh) && relative_block == nblocks) ||
            (first_hole != blocks_per_page))
-               bio = mpage_bio_submit(READ, bio);
+               bio = mpage_bio_submit(REQ_OP_READ, 0, bio);
        else
                *last_block_in_bio = blocks[blocks_per_page - 1];
 out:
@@ -303,7 +304,7 @@ out:
 
 confused:
        if (bio)
-               bio = mpage_bio_submit(READ, bio);
+               bio = mpage_bio_submit(REQ_OP_READ, 0, bio);
        if (!PageUptodate(page))
                block_read_full_page(page, get_block);
        else
@@ -385,7 +386,7 @@ mpage_readpages(struct address_space *mapping, struct 
list_head *pages,
        }
        BUG_ON(!list_empty(pages));
        if (bio)
-               mpage_bio_submit(READ, bio);
+               mpage_bio_submit(REQ_OP_READ, 0, bio);
        return 0;
 }
 EXPORT_SYMBOL(mpage_readpages);
@@ -406,7 +407,7 @@ int mpage_readpage(struct page *page, get_block_t get_block)
        bio = do_mpage_readpage(bio, page, 1, &last_block_in_bio,
                        &map_bh, &first_logical_block, get_block, gfp);
        if (bio)
-               mpage_bio_submit(READ, bio);
+               mpage_bio_submit(REQ_OP_READ, 0, bio);
        return 0;
 }
 EXPORT_SYMBOL(mpage_readpage);
@@ -487,7 +488,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 wr = (wbc->sync_mode == WB_SYNC_ALL ?  WRITE_SYNC : WRITE);
+       int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?  WRITE_SYNC : 0);
 
        if (page_has_buffers(page)) {
                struct buffer_head *head = page_buffers(page);
@@ -596,7 +597,7 @@ page_is_mapped:
         * This page will go to BIO.  Do we need to send this BIO off first?
         */
        if (bio && mpd->last_block_in_bio != blocks[0] - 1)
-               bio = mpage_bio_submit(wr, bio);
+               bio = mpage_bio_submit(REQ_OP_WRITE, op_flags, bio);
 
 alloc_new:
        if (bio == NULL) {
@@ -623,7 +624,7 @@ alloc_new:
        wbc_account_io(wbc, page, PAGE_SIZE);
        length = first_unmapped << blkbits;
        if (bio_add_page(bio, page, length, 0) < length) {
-               bio = mpage_bio_submit(wr, bio);
+               bio = mpage_bio_submit(REQ_OP_WRITE, op_flags, bio);
                goto alloc_new;
        }
 
@@ -633,7 +634,7 @@ alloc_new:
        set_page_writeback(page);
        unlock_page(page);
        if (boundary || (first_unmapped != blocks_per_page)) {
-               bio = mpage_bio_submit(wr, bio);
+               bio = mpage_bio_submit(REQ_OP_WRITE, op_flags, bio);
                if (boundary_block) {
                        write_boundary_block(boundary_bdev,
                                        boundary_block, 1 << blkbits);
@@ -645,7 +646,7 @@ alloc_new:
 
 confused:
        if (bio)
-               bio = mpage_bio_submit(wr, bio);
+               bio = mpage_bio_submit(REQ_OP_WRITE, op_flags, bio);
 
        if (mpd->use_writepage) {
                ret = mapping->a_ops->writepage(page, wbc);
@@ -702,9 +703,9 @@ mpage_writepages(struct address_space *mapping,
 
                ret = write_cache_pages(mapping, wbc, __mpage_writepage, &mpd);
                if (mpd.bio) {
-                       int wr = (wbc->sync_mode == WB_SYNC_ALL ?
-                                 WRITE_SYNC : WRITE);
-                       mpage_bio_submit(wr, mpd.bio);
+                       int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?
+                                 WRITE_SYNC : 0);
+                       mpage_bio_submit(REQ_OP_WRITE, op_flags, mpd.bio);
                }
        }
        blk_finish_plug(&plug);
@@ -723,9 +724,9 @@ int mpage_writepage(struct page *page, get_block_t 
get_block,
        };
        int ret = __mpage_writepage(page, wbc, &mpd);
        if (mpd.bio) {
-               int wr = (wbc->sync_mode == WB_SYNC_ALL ?
-                         WRITE_SYNC : WRITE);
-               mpage_bio_submit(wr, mpd.bio);
+               int op_flags = (wbc->sync_mode == WB_SYNC_ALL ?
+                         WRITE_SYNC : 0);
+               mpage_bio_submit(REQ_OP_WRITE, op_flags, mpd.bio);
        }
        return ret;
 }
-- 
2.7.2


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to