xfs
[Top] [All Lists]

Re: [PATCH 0/8] Set bi_rw when alloc bio before call bio_add_page.

To: majianpeng <majianpeng@xxxxxxxxx>
Subject: Re: [PATCH 0/8] Set bi_rw when alloc bio before call bio_add_page.
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Mon, 30 Jul 2012 11:39:35 -0400
Cc: axboe <axboe@xxxxxxxxx>, "chris.mason" <chris.mason@xxxxxxxxxxxx>, viro <viro@xxxxxxxxxxxxxxxxxx>, tytso <tytso@xxxxxxx>, "adilger.kernel" <adilger.kernel@xxxxxxxxx>, shaggy <shaggy@xxxxxxxxxx>, mfasheh <mfasheh@xxxxxxxx>, jlbec <jlbec@xxxxxxxxxxxx>, bpm <bpm@xxxxxxx>, elder <elder@xxxxxxxxxx>, linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>, linux-btrfs <linux-btrfs@xxxxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, linux-ext4 <linux-ext4@xxxxxxxxxxxxxxx>, jfs-discussion <jfs-discussion@xxxxxxxxxxxxxxxxxxxxx>, ocfs2-devel <ocfs2-devel@xxxxxxxxxxxxxx>, xfs <xfs@xxxxxxxxxxx>
In-reply-to: <201207301514247032532@xxxxxxxxx>
References: <201207301514247032532@xxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Jul 30, 2012 at 03:14:28PM +0800, majianpeng wrote:
> When exec bio_alloc, the bi_rw is zero.But after calling bio_add_page,

What about submit_bio? That sets the bi_rw as well?
> it will use bi_rw.
> Fox example, in functiion __bio_add_page,it will call merge_bvec_fn().

function.
> The merge_bvec_fn of raid456 will use the bi_rw to judge the merge.
> >> if ((bvm->bi_rw & 1) == WRITE)
> >> return biovec->bv_len; /* always allow writes to be mergeable */

So what does that mean? Without this patch what happens?

> 
> 
> Jianpeng Ma (8):

Can you collapse all of this in just one patch?

>   Evalue bio->bi_rw after calling bio_alloc() and before calling

It is 'evaluate'
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
>   Evalue bio->bi_rw after calling bio_alloc() and before calling    
>     bio_add_page().
> 
>  block/blk-lib.c                     |    1 +
>  drivers/block/xen-blkback/blkback.c |    1 +

I am not really sure if that is correct. Does 'submit_bio' not do the
job properly?

>  fs/btrfs/check-integrity.c          |    1 +
>  fs/direct-io.c                      |    1 +
>  fs/ext4/page-io.c                   |    1 +
>  fs/jfs/jfs_metapage.c               |    1 +
>  fs/ocfs2/cluster/heartbeat.c        |    8 +++++---
>  fs/xfs/xfs_aops.c                   |    2 ++
>  fs/xfs/xfs_buf.c                    |    1 +
>  9 files changed, 14 insertions(+), 3 deletions(-)
> 
> -- 
> 1.7.9.5

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