[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [Bcache v13 14/16] bcache: Request, io and allocation code
- From: Tejun Heo <tj kernel org>
- To: Kent Overstreet <koverstreet google com>
- Cc: linux-bcache vger kernel org, agk redhat com, linux-kernel vger kernel org, dm-devel redhat com
- Subject: Re: [dm-devel] [Bcache v13 14/16] bcache: Request, io and allocation code
- Date: Tue, 22 May 2012 15:44:02 -0700
On Wed, May 09, 2012 at 11:11:25PM -0400, Kent Overstreet wrote:
> +int submit_bbio_split(struct bio *bio, struct cache_set *c,
> + struct bkey *k, unsigned ptr)
> +{
> + struct closure *cl = bio->bi_private;
> + struct bbio *b;
> + struct bio *n;
> + unsigned sectors_done = 0;
> +
> + closure_get(cl);
> +
> + bio->bi_sector = PTR_OFFSET(k, ptr);
> + bio->bi_bdev = PTR_CACHE(c, k, ptr)->bdev;
> +
> + do {
> + n = bio_split_get(bio, bio_max_sectors(bio), c);
> + if (!n) {
> + closure_put(cl);
> + return -ENOMEM;
> + }
> +
> + b = container_of(n, struct bbio, bio);
> +
> + bkey_copy_single_ptr(&b->key, k, ptr);
> + SET_KEY_SIZE(&b->key, KEY_SIZE(k) - sectors_done);
> + SET_PTR_OFFSET(&b->key, 0, PTR_OFFSET(k, ptr) + sectors_done);
> +
> + b->submit_time_us = local_clock_us();
> + generic_make_request(n);
> + } while (n != bio);
> +
> + return 0;
> +}
Where is @sectors_done updated?
Thanks.
--
tejun
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]