Re: [PATCH 1/2] bcache: clean up do_btree_node_write a bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019/4/25 3:02 下午, Christoph Hellwig wrote:
> Use a variable containing the buffer address instead of the to be
> removed integer iterator from bio_for_each_segment_all.
> 
> Suggested-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Acked-by: Coly Li <colyli@xxxxxxx>

Thanks.

Coly Li

> ---
>  drivers/md/bcache/btree.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
> index b139858b0802..3a9f8ed437de 100644
> --- a/drivers/md/bcache/btree.c
> +++ b/drivers/md/bcache/btree.c
> @@ -431,12 +431,13 @@ static void do_btree_node_write(struct btree *b)
>  	if (!bch_bio_alloc_pages(b->bio, __GFP_NOWARN|GFP_NOWAIT)) {
>  		int j;
>  		struct bio_vec *bv;
> -		void *base = (void *) ((unsigned long) i & ~(PAGE_SIZE - 1));
> +		void *addr = (void *) ((unsigned long) i & ~(PAGE_SIZE - 1));
>  		struct bvec_iter_all iter_all;
>  
> -		bio_for_each_segment_all(bv, b->bio, j, iter_all)
> -			memcpy(page_address(bv->bv_page),
> -			       base + j * PAGE_SIZE, PAGE_SIZE);
> +		bio_for_each_segment_all(bv, b->bio, j, iter_all) {
> +			memcpy(page_address(bv->bv_page), addr, PAGE_SIZE);
> +			addr += PAGE_SIZE;
> +		}
>  
>  		bch_submit_bbio(b->bio, b->c, &k.key, 0);
>  
> 


-- 

Coly Li



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux