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
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to