From 88360b0c512d96dfe05c11362ff389ef6bfec6b4 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Thu, 26 Aug 2021 23:04:56 +0200 Subject: [PATCH] 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. --- lib/metadata/lv_manip.c | 4 ++++ 1 file changed, 4 insertions(+) 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));