1BLK_STACK_LIMITS(9) Block Devices BLK_STACK_LIMITS(9)
2
3
4
6 blk_stack_limits - adjust queue_limits for stacked devices
7
9 int blk_stack_limits(struct queue_limits * t, struct queue_limits * b,
10 sector_t start);
11
13 t
14 the stacking driver limits (top device)
15
16 b
17 the underlying queue limits (bottom, component device)
18
19 start
20 first data sector within component device
21
23 This function is used by stacking drivers like MD and DM to ensure that
24 all component devices have compatible block sizes and alignments. The
25 stacking driver must provide a queue_limits struct (top) and then
26 iteratively call the stacking function for all component (bottom)
27 devices. The stacking function will attempt to combine the values and
28 ensure proper alignment.
29
30 Returns 0 if the top and bottom queue_limits are compatible. The top
31 device's block sizes and alignment offsets may be adjusted to ensure
32 alignment with the bottom device. If no compatible sizes and alignments
33 exist, -1 is returned and the resulting top queue_limits will have the
34 misaligned flag set to indicate that the alignment_offset is undefined.
35
37Kernel Hackers Manual 3.10 June 2019 BLK_STACK_LIMITS(9)