Spdk/test/unit/lib
Mike Gerdts 57b47f209f lvol: esnap clones must end on cluster boundary
When regular lvols are created, their size is rounded up to the next
cluster boundary. This is not acceptable for esnap clones as this means
that the clone may be silently grown larger than external snapshot. This
can cause a variety of problems for the consumer of an esnap clone lvol.

While the better long-term solution is to allow lvol sizes to fall on
any block boundary, the implementation of that needs to be suprisingly
complex to support creation and deletion of snapshots and clones of
esnap clones, inflation, and backward compatibility.

For now, it is best to put in a restriction on the esnap clone size
during creation so as to not hit problems long after creation. Since
lvols are generally expected to be large relative to the cluster size,
it is somewhat unlikely that this restriction will be a significant
limitation.

Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Change-Id: Id7a628f852a40c8ec2b7146504183943d723deba
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17607
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2023-05-09 17:58:11 +08:00
..
accel accel: append support for crc32c 2023-05-09 17:58:11 +08:00
bdev vbdev_lvol: esnap memdomain support 2023-05-09 17:58:11 +08:00
blob blob: esnap clones are not clones 2023-05-09 17:58:11 +08:00
blobfs update Intel copyright notices 2022-11-10 08:28:53 +00:00
dma Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env_dpdk update Intel copyright notices 2022-11-10 08:28:53 +00:00
event thread: use spdk_thread_get_app_thread instead of _spdk_get_app_thread 2023-02-24 12:46:27 +00:00
ftl update Intel copyright notices 2022-11-10 08:28:53 +00:00
idxd update Intel copyright notices 2022-11-10 08:28:53 +00:00
init subsystem: assert all subsystems initialized on app thread 2022-11-23 08:22:04 +00:00
ioat update Intel copyright notices 2022-11-10 08:28:53 +00:00
iscsi iscsi: fix segfault when r2t 2022-11-29 17:21:18 +00:00
json json: add spdk_json_write_named_double 2022-11-22 10:01:43 +00:00
jsonrpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
log log: add deprecated tracking API 2022-12-07 17:45:53 +00:00
lvol lvol: esnap clones must end on cluster boundary 2023-05-09 17:58:11 +08:00
notify update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme nvmf/tcp: Wait for PDUs to release when closing a qpair 2023-05-09 17:58:11 +08:00
nvmf ut/fc: Cleanup transport cleanup tests 2023-05-09 17:58:11 +08:00
rdma rdma: Maintain per device PD which is persistent across reconnect 2022-08-12 08:59:43 +00:00
reduce bdev/compress: Port to use accel_fw instead of compressdev 2023-01-20 10:26:21 +00:00
rpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
scsi update Intel copyright notices 2022-11-10 08:28:53 +00:00
sock sock: change min recv/send buf sizes to 4 KiB 2023-04-04 07:36:23 +00:00
thread thread: Move iobuf code to a separate compilation unit. 2023-05-09 17:58:11 +08:00
util util/pipe: Track full condition with a separate bool 2023-04-05 19:19:21 +00:00
vhost UT/vhost/vhost.c:add the test of spdk_blk_construct 2023-05-09 17:58:11 +08:00
json_mock.c virtio_blk: add dump opts 2023-01-20 18:57:38 +00:00
Makefile build: rely on configure to select which unit tests to build 2023-03-28 06:57:40 +00:00