Re: [f2fs-dev] [dm-devel] [PATCH 04/42] fs: have submit_bh users pass in op and flags separately

2016-04-20 Thread Ryusuke Konishi
On Fri, 15 Apr 2016 05:39:24 -0500, mchri...@redhat.com wrote:
> From: Mike Christie 
> 
> This has submit_bh users pass in the operation and flags separately,
> so submit_bh_wbc can setup bio->bi_op and bio-bi_rw on the bio that
> is submitted.
> 
> Signed-off-by: Mike Christie 
> Reviewed-by: Christoph Hellwig 
> Reviewed-by: Hannes Reinecke 
> ---

Looks good with regard to nilfs2.

Acked-by: Ryusuke Konishi 


>  drivers/md/bitmap.c |  4 ++--
>  fs/btrfs/check-integrity.c  | 24 ++--
>  fs/btrfs/check-integrity.h  |  2 +-
>  fs/btrfs/disk-io.c  |  4 ++--
>  fs/buffer.c | 54 
> +++--
>  fs/ext4/balloc.c|  2 +-
>  fs/ext4/ialloc.c|  2 +-
>  fs/ext4/inode.c |  2 +-
>  fs/ext4/mmp.c   |  4 ++--
>  fs/fat/misc.c   |  2 +-
>  fs/gfs2/bmap.c  |  2 +-
>  fs/gfs2/dir.c   |  2 +-
>  fs/gfs2/meta_io.c   |  6 ++---
>  fs/jbd2/commit.c|  6 ++---
>  fs/jbd2/journal.c   |  8 +++
>  fs/nilfs2/btnode.c  |  6 ++---
>  fs/nilfs2/btnode.h  |  2 +-
>  fs/nilfs2/btree.c   |  6 +++--
>  fs/nilfs2/gcinode.c |  5 +++--
>  fs/nilfs2/mdt.c | 11 -
>  fs/ntfs/aops.c  |  6 ++---
>  fs/ntfs/compress.c  |  2 +-
>  fs/ntfs/file.c  |  2 +-
>  fs/ntfs/logfile.c   |  2 +-
>  fs/ntfs/mft.c   |  4 ++--
>  fs/ocfs2/buffer_head_io.c   |  8 +++
>  fs/reiserfs/inode.c |  4 ++--
>  fs/reiserfs/journal.c   |  6 ++---
>  fs/ufs/util.c   |  2 +-
>  include/linux/buffer_head.h |  9 
>  30 files changed, 103 insertions(+), 96 deletions(-)
> 
> diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
> index 3fe86b5..8b2e16f 100644
> --- a/drivers/md/bitmap.c
> +++ b/drivers/md/bitmap.c
> @@ -294,7 +294,7 @@ static void write_page(struct bitmap *bitmap, struct page 
> *page, int wait)
>   atomic_inc(>pending_writes);
>   set_buffer_locked(bh);
>   set_buffer_mapped(bh);
> - submit_bh(WRITE | REQ_SYNC, bh);
> + submit_bh(REQ_OP_WRITE, REQ_SYNC, bh);
>   bh = bh->b_this_page;
>   }
>  
> @@ -389,7 +389,7 @@ static int read_page(struct file *file, unsigned long 
> index,
>   atomic_inc(>pending_writes);
>   set_buffer_locked(bh);
>   set_buffer_mapped(bh);
> - submit_bh(READ, bh);
> + submit_bh(REQ_OP_READ, 0, bh);
>   }
>   block++;
>   bh = bh->b_this_page;
> diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
> index 9400acd..f82190f 100644
> --- a/fs/btrfs/check-integrity.c
> +++ b/fs/btrfs/check-integrity.c
> @@ -2856,12 +2856,12 @@ static struct btrfsic_dev_state 
> *btrfsic_dev_state_lookup(
>   return ds;
>  }
>  
> -int btrfsic_submit_bh(int rw, struct buffer_head *bh)
> +int btrfsic_submit_bh(int op, int op_flags, struct buffer_head *bh)
>  {
>   struct btrfsic_dev_state *dev_state;
>  
>   if (!btrfsic_is_initialized)
> - return submit_bh(rw, bh);
> + return submit_bh(op, op_flags, bh);
>  
>   mutex_lock(_mutex);
>   /* since btrfsic_submit_bh() might also be called before
> @@ -2870,26 +2870,26 @@ int btrfsic_submit_bh(int rw, struct buffer_head *bh)
>  
>   /* Only called to write the superblock (incl. FLUSH/FUA) */
>   if (NULL != dev_state &&
> - (rw & WRITE) && bh->b_size > 0) {
> + (op == REQ_OP_WRITE) && bh->b_size > 0) {
>   u64 dev_bytenr;
>  
>   dev_bytenr = 4096 * bh->b_blocknr;
>   if (dev_state->state->print_mask &
>   BTRFSIC_PRINT_MASK_SUBMIT_BIO_BH)
>   printk(KERN_INFO
> -"submit_bh(rw=0x%x, blocknr=%llu (bytenr %llu),"
> -" size=%zu, data=%p, bdev=%p)\n",
> -rw, (unsigned long long)bh->b_blocknr,
> +"submit_bh(op=0x%x,0x%x, blocknr=%llu "
> +"(bytenr %llu), size=%zu, data=%p, bdev=%p)\n",
> +op, op_flags, (unsigned long long)bh->b_blocknr,
>  dev_bytenr, bh->b_size, bh->b_data, bh->b_bdev);
>   btrfsic_process_written_block(dev_state, dev_bytenr,
> >b_data, 1, NULL,
> -   NULL, bh, rw);
> - } else if (NULL != dev_state && (rw & REQ_FLUSH)) {
> +   NULL, bh, op_flags);
> + } else if (NULL != dev_state && (op_flags & REQ_FLUSH)) {
> 

Re: [f2fs-dev] [PATCH 16/42] nilfs: set bi_op to REQ_OP

2016-04-20 Thread Ryusuke Konishi
On Fri, 15 Apr 2016 14:15:51 -0500, mchri...@redhat.com wrote:
> From: Mike Christie 
> 
> This patch has nilfs use bio->bi_op for REQ_OPs and rq_flag_bits
> to bio->bi_rw.
> 
> Signed-off-by: Mike Christie 
> Reviewed-by: Christoph Hellwig 
> Reviewed-by: Hannes Reinecke 
> ---
>  fs/nilfs2/segbuf.c | 18 ++
>  1 file changed, 10 insertions(+), 8 deletions(-)

Looks good to me.

Acked-by: Ryusuke Konishi 

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, );
>  
>   list_for_each_entry(bh, >sb_segsum_buffers, b_assoc_buffers) {
> - res = nilfs_segbuf_submit_bh(segbuf, , bh, rw);
> + res = nilfs_segbuf_submit_bh(segbuf, , bh, REQ_OP_WRITE);
>   if (unlikely(res))
>   goto failed_bio;
>   }
>  
>   list_for_each_entry(bh, >sb_payload_buffers, b_assoc_buffers) {
> - res = nilfs_segbuf_submit_bh(segbuf, , bh, rw);
> + res = nilfs_segbuf_submit_bh(segbuf, , 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, , rw);
> + res = nilfs_segbuf_submit_bio(segbuf, , 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 majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel