summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-08-26 23:04:56 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-08-31 22:05:47 +0200
commit88360b0c512d96dfe05c11362ff389ef6bfec6b4 (patch)
tree322a8d948f88d8a00628ff23052c9970f1baef1f
parent62c599f78151e65105c92c87ac406e3f3f360b1a (diff)
downloadlvm2-88360b0c512d96dfe05c11362ff389ef6bfec6b4.tar.gz
vdo: skip zeroing for VDO LV
Since VDO is always returns 'zero' on unprovisioned read and every provisioned block is always 'zeroed' on partial writes, we can avoid 'zeroing' of such LVs.
-rw-r--r--lib/metadata/lv_manip.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index a26d3d533..730e3f0df 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -8073,6 +8073,10 @@ static int _should_wipe_lv(struct lvcreate_params *lp,
first_seg(first_seg(lv)->pool_lv)->zero_new_blocks))
return 0;
+ /* VDO LV do not need to be zeroed */
+ if (lv_is_vdo(lv))
+ return 0;
+
if (warn && (lv_passes_readonly_filter(lv))) {
log_warn("WARNING: Read-only activated logical volume %s not zeroed.",
display_lvname(lv));