Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On Mon, May 25, 2015 at 6:08 PM, Christoph Hellwig <hch at lst.de> wrote: > On Mon, May 25, 2015 at 06:02:30PM +0300, Ilya Dryomov wrote: >> I'm not Alex, but yeah, we have all the clone/split machinery and so we >> can handle a spanning case just fine. I think rbd_merge_bvec() exists >> to make sure we don't have to do that unless it's really necessary - >> like when a single page gets submitted at an inconvenient offset. >> >> I have a patch that adds a blk_queue_chunk_sectors(object_size) call to >> rbd_init_disk() but I haven't had a chance to play with it yet. In any >> case, we should be fine with getting rid of rbd_merge_bvec(). If this >> ends up a per-driver patchset, I can make rbd_merge_bvec() -> >> blk_queue_chunk_sectors() a single patch and push it through >> ceph-client.git. > > Hmm, looks like the new blk_queue_split_bio ignore the chunk_sectors > value, another thing that needs updating. I forgot how many weird > merging hacks we had to add for nvme.. > > While I'd like to see per-driver patches we'd still need to merge > them together through the block tree. Note that with this series > there won't be any benefit of using blk_queue_chunk_sectors over just > doing the split in rbd. Maybe we can even remove it again and do > that work in the drivers in the future. OK, I'll drop it, especially if it's potentially on its way out. With the fancy striping support, which I'll hopefully get to sometime, the striping pattern will become much more complicated anyway, so relying on rbd doing bio splitting is right in the long run as well. Thanks, Ilya