[dm-devel] [PATCH v2 3/3] block: implement (some of) fallocate for block devices
Bart Van Assche
bart.vanassche at sandisk.com
Thu Sep 29 20:08:57 UTC 2016
On 09/28/2016 07:19 PM, Darrick J. Wong wrote:
> After much discussion, it seems that the fallocate feature flag
> FALLOC_FL_ZERO_RANGE maps nicely to SCSI WRITE SAME; and the feature
> FALLOC_FL_PUNCH_HOLE maps nicely to the devices that have been
> whitelisted for zeroing SCSI UNMAP. Punch still requires that
> FALLOC_FL_KEEP_SIZE is set. A length that goes past the end of the
> device will be clamped to the device size if KEEP_SIZE is set; or will
> return -EINVAL if not. Both start and length must be aligned to the
> device's logical block size.
>
> Since the semantics of fallocate are fairly well established already,
> wire up the two pieces. The other fallocate variants (collapse range,
> insert range, and allocate blocks) are not supported.
For the FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE |
FALLOC_FL_NO_HIDE_STALE case, it's probably safer not to try to send a
discard to block devices that do not support discard in order not to hit
block driver bugs. But that's something we can still discuss later. Hence:
Reviewed-by: Bart Van Assche <bart.vanassche at sandisk.com>
More information about the dm-devel
mailing list