Re: [Bcache v13 14/16] bcache: Request, io and allocation code

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

 



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;
> +}

Hmmm... where is @sectors_done updated?

Thanks.

-- 
tejun

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel


[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux