From: Eric Blake <ebl...@redhat.com> Improve the documentation of the write zeroes limits, to mention additional constraints that drivers should observe. Worth squashing into commit cf081fca, if that hadn't been pushed already :)
Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Fam Zheng <f...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- include/block/block_int.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/block/block_int.h b/include/block/block_int.h index 7d2b152..7a4a00f 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -331,11 +331,14 @@ typedef struct BlockLimits { int64_t discard_alignment; /* maximum number of bytes that can zeroized at once (since it is - * signed, it must be < 2G, if set) */ + * signed, it must be < 2G, if set), should be multiple of + * pwrite_zeroes_alignment. May be 0 if no inherent 32-bit limit */ int32_t max_pwrite_zeroes; /* optimal alignment for write zeroes requests in bytes, must be - * power of 2, and less than max_pwrite_zeroes if that is set */ + * power of 2, less than max_pwrite_zeroes if that is set, and + * multiple of bs->request_alignment. May be 0 if + * bs->request_alignment is good enough */ uint32_t pwrite_zeroes_alignment; /* optimal transfer length in bytes (must be power of 2, and -- 1.8.3.1