Lines Matching +full:io +full:- +full:backends
1 /* SPDX-License-Identifier: GPL-2.0-only */
33 P_SUPERSEDED = 0x18, /* Used in proto C, two-primaries conflict detection */
74 P_ZEROES = 0x36, /* data sock: zero-out, WRITE_ZEROES */
154 u32 size; /* == bio->bi_size */
159 u32 size; /* == bio->bi_size */
166 * P_SUPERSEDED (proto C, two-primaries conflict detection)
196 /* Detect all-zeros during resync, and rather TRIM/UNMAP/DISCARD those blocks
203 * - indicates support for 128 MiB "batch bios",
206 * - indicates that we exchange additional settings in p_sizes
215 * back to zero-out.
220 * UNMAP if possible, zero-out the rest.
224 * While an un-allocated block on dm-thin reads as zeroes, on a dm-thin
227 * the backends on LBAs that have not yet been written to.
229 * If we cannot distinguish between zero-out and discard on the receiving
231 * on supposedly zero-initialized blocks, we'd need to map all discards to
232 * zero-out on the receiving side. But that would potentially do a full
233 * alloc on thinly provisioned backends, even when the expectation was to
234 * unmap/trim/discard/de-allocate.
237 * zeroes (and thus use zero-out, potentially doing the mentioned full-alloc),
239 * zeroing" (by "discarding" blocks aligned to discard-granularity, and zeroing
241 * avoid "false positives" in an online-verify later, hoping that someone
337 /* various IO hints may be useful with "diskless client" setups */