xfs
[Top] [All Lists]

[PATCH 20/45] nilfs: use bio op accessors

To: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, konrad.wilk@xxxxxxxxxx, drbd-dev@xxxxxxxxxxxxxxxx, philipp.reisner@xxxxxxxxxx, lars.ellenberg@xxxxxxxxxx, linux-raid@xxxxxxxxxxxxxxx, dm-devel@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-bcache@xxxxxxxxxxxxxxx, linux-block@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, target-devel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, osd-dev@xxxxxxxxxxxx, xfs@xxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx
Subject: [PATCH 20/45] nilfs: use bio op accessors
From: mchristi@xxxxxxxxxx
Date: Sun, 5 Jun 2016 14:32:00 -0500
Cc: Mike Christie <mchristi@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1465155145-10812-1-git-send-email-mchristi@xxxxxxxxxx>
References: <1465155145-10812-1-git-send-email-mchristi@xxxxxxxxxx>
From: Mike Christie <mchristi@xxxxxxxxxx>

Separate the op from the rq_flag_bits and have nilfs
set/get the bio using bio_set_op_attrs/bio_op.

Signed-off-by: Mike Christie <mchristi@xxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>
Acked-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
---
 fs/nilfs2/segbuf.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 0f62909..a962d7d 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -346,7 +346,8 @@ static void nilfs_end_bio_write(struct bio *bio)
 }
 
 static int nilfs_segbuf_submit_bio(struct nilfs_segment_buffer *segbuf,
-                                  struct nilfs_write_info *wi, int mode)
+                                  struct nilfs_write_info *wi, int mode,
+                                  int mode_flags)
 {
        struct bio *bio = wi->bio;
        int err;
@@ -364,7 +365,7 @@ static int nilfs_segbuf_submit_bio(struct 
nilfs_segment_buffer *segbuf,
 
        bio->bi_end_io = nilfs_end_bio_write;
        bio->bi_private = segbuf;
-       bio->bi_rw = mode;
+       bio_set_op_attrs(bio, mode, mode_flags);
        submit_bio(bio);
        segbuf->sb_nbio++;
 
@@ -438,7 +439,7 @@ static int nilfs_segbuf_submit_bh(struct 
nilfs_segment_buffer *segbuf,
                return 0;
        }
        /* bio is FULL */
-       err = nilfs_segbuf_submit_bio(segbuf, wi, mode);
+       err = nilfs_segbuf_submit_bio(segbuf, wi, mode, 0);
        /* never submit current bh */
        if (likely(!err))
                goto repeat;
@@ -462,19 +463,19 @@ static int nilfs_segbuf_write(struct nilfs_segment_buffer 
*segbuf,
 {
        struct nilfs_write_info wi;
        struct buffer_head *bh;
-       int res = 0, rw = WRITE;
+       int res = 0;
 
        wi.nilfs = nilfs;
        nilfs_segbuf_prepare_write(segbuf, &wi);
 
        list_for_each_entry(bh, &segbuf->sb_segsum_buffers, b_assoc_buffers) {
-               res = nilfs_segbuf_submit_bh(segbuf, &wi, bh, rw);
+               res = nilfs_segbuf_submit_bh(segbuf, &wi, bh, REQ_OP_WRITE);
                if (unlikely(res))
                        goto failed_bio;
        }
 
        list_for_each_entry(bh, &segbuf->sb_payload_buffers, b_assoc_buffers) {
-               res = nilfs_segbuf_submit_bh(segbuf, &wi, bh, rw);
+               res = nilfs_segbuf_submit_bh(segbuf, &wi, bh, REQ_OP_WRITE);
                if (unlikely(res))
                        goto failed_bio;
        }
@@ -484,8 +485,8 @@ static int nilfs_segbuf_write(struct nilfs_segment_buffer 
*segbuf,
                 * Last BIO is always sent through the following
                 * submission.
                 */
-               rw |= REQ_SYNC;
-               res = nilfs_segbuf_submit_bio(segbuf, &wi, rw);
+               res = nilfs_segbuf_submit_bio(segbuf, &wi, REQ_OP_WRITE,
+                                             REQ_SYNC);
        }
 
  failed_bio:
-- 
2.7.2

<Prev in Thread] Current Thread [Next in Thread>