blk_queue_chunk_sectors — set size of the chunk for this queue


void blk_queue_chunk_sectors (struct request_queue * q,
 unsigned int chunk_sectors);


struct request_queue * q

the request queue for the device

unsigned int chunk_sectors

chunk sectors in the usual 512b unit


If a driver doesn't want IOs to cross a given chunk size, it can set this limit and prevent merging across chunks. Note that the chunk size must currently be a power-of-2 in sectors. Also note that the block layer must accept a page worth of data at any offset. So if the crossing of chunks is a hard limitation in the driver, it must still be prepared to split single page bios.