Re: [PATCH 16/42] nilfs: set bi_op to REQ_OP
From: Ryusuke Konishi
Date: Mon Apr 18 2016 - 12:04:31 EST
On Fri, 15 Apr 2016 14:15:51 -0500, mchristi@xxxxxxxxxx wrote:
> From: Mike Christie <mchristi@xxxxxxxxxx>
>
> This patch has nilfs use bio->bi_op for REQ_OPs and rq_flag_bits
> to bio->bi_rw.
>
> Signed-off-by: Mike Christie <mchristi@xxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
> fs/nilfs2/segbuf.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
Looks good to me.
Acked-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Thanks,
Ryuske Konishi
>
> diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
> index 7666f1d..7b13e14 100644
> --- a/fs/nilfs2/segbuf.c
> +++ b/fs/nilfs2/segbuf.c
> @@ -350,7 +350,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;
> @@ -368,7 +369,8 @@ 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->bi_op = mode;
> + bio->bi_rw = mode_flags;
> submit_bio(bio);
> segbuf->sb_nbio++;
>
> @@ -442,7 +444,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;
> @@ -466,19 +468,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;
> }
> @@ -488,8 +490,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
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html