Looking at another drivers like loop and nbd, they both are request based. Necessity to split a request to fit a filesystem extent is not a reason to stop merging loop requests, isn't it?! Also, nbd merges bios despite they are splitted by qemu-nbd in userspace level to fit 1 cluster boundary just like my driver does. Because, this is the only way. I've already tried another way, when I started writing this driver as bio-based. But then found that this is not a good solution, and converted it in request-based. Kirill