summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Chen <me@linux.beauty>2025-12-10 06:17:56 +0300
committerMikulas Patocka <mpatocka@redhat.com>2026-01-04 22:35:32 +0300
commita2f0a98b13db005403d026274782ac668b59df32 (patch)
tree94bfa554bd69eced6408790cf4c9c2feab4455de
parentc1881c74f4dfdadc1bf827d971a605b21ba5a587 (diff)
downloadlinux-a2f0a98b13db005403d026274782ac668b59df32.tar.xz
dm cache: drop redundant origin size check
The cache target already exposes the origin device through cache_iterate_devices(), which allows dm-table to call device_area_is_invalid() and verify that the mapping fits inside the underlying block device. The explicit ti->len > origin_sectors test in parse_origin_dev() is therefore redundant. Drop this check and rely on the core device validation instead. This changes the user-visible error string when the origin is too small, but preserves the failure behaviour. Signed-off-by: Li Chen <me@linux.beauty> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
-rw-r--r--drivers/md/dm-cache-target.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index a10d75a562db..350a0aa53365 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -2099,7 +2099,6 @@ static int parse_cache_dev(struct cache_args *ca, struct dm_arg_set *as,
static int parse_origin_dev(struct cache_args *ca, struct dm_arg_set *as,
char **error)
{
- sector_t origin_sectors;
int r;
if (!at_least_one_arg(as, error))
@@ -2112,12 +2111,6 @@ static int parse_origin_dev(struct cache_args *ca, struct dm_arg_set *as,
return r;
}
- origin_sectors = get_dev_size(ca->origin_dev);
- if (ca->ti->len > origin_sectors) {
- *error = "Device size larger than cached device";
- return -EINVAL;
- }
-
return 0;
}