blk_stack_limits
Prev | Chapter 14. Block Devices | Next

## Name

blk_stack_limits — adjust queue_limits for stacked devices

## Synopsis

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

## Arguments

`t`

  the stacking driver limits (top device)

`b`

  the underlying queue limits (bottom, component device)

`start`

  first data sector within component device

## 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 device's 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.

Prev | Up | Next
blk_queue_stack_limits | Home | bdev_stack_limits