1. NAME▲

blk_stack_limits - adjust queue_limits for stacked devices

2. SYNOPSIS ▲

int blk_stack_limits(struct queue_limits *  t , struct queue_limits *  b , sector_t  start );

3. ARGUMENTS ▲

t
    the stacking driver limits (top device)

b
    the underlying queue limits (bottom, component device)

start
    first data sector within component device

4. DESCRIPTION ▲

This function is used by stacking drivers like MD and DM to ensure that all component devices have compatible block sizes and alignments. The stacking driver must provide a queue_limits struct (top) and then iteratively call the stacking function for all component (bottom) devices. The stacking function will attempt to combine the values and ensure proper alignment.

Returns 0 if the top and bottom queue_limits are compatible. The top deviceAqs block sizes and alignment offsets may be adjusted to ensure alignment with the bottom device. If no compatible sizes and alignments exist, -1 is returned and the resulting top queue_limits will have the misaligned flag set to indicate that the alignment_offset is undefined.

5. COPYRIGHT ▲