Description of problem: man lvmvdo states: Disable or enable compression and deduplication for VDO pool LV (the volume that maintains all VDO LV(s) associated with it). lvchange --compression [y|n] --deduplication [y|n] VG/VDOPoolLV However, you can do the lvchange by specifying the vdo pool lv or the vdo lv created from the vdo pool lv. Version-Release number of selected component (if applicable): NA How reproducible: 100 % Steps to Reproduce: [root@localhost ~]# lvchange --compression y VG_NAME/vdo_pool ; echo $? Logical volume VG_NAME/vdo_pool changed. 0 [root@localhost ~]# lvchange --compression n VG_NAME/vdo_lv ; echo $? Logical volume VG_NAME/vdo_lv changed. 0 [root@localhost ~]# lvchange --compression n VG_NAME/vdo_pool ; echo $? Logical volume VG_NAME/vdo_pool already uses --compression n. 5 Expected results: Either an error that this is not supported on the vdo lv or that we update the man page to stipulate that it's OK to do the lvchange on either. Additional info:
will update man page
For this moment - the behavior is lvchange --compression & --deduplication follows i.e. setting of --permission rw|r. If there is wanted some other logic - we need to open new bug about making options consistent in some way. The original logic was to return error when setting already has the value set. Over the time many setting slipped in with returning 0 when the option already had the value set and introduced large level of inconsistency. Basic inspiration I think come from aligning it with i.e.: 'lvremove vg/lv' - if such LV is already gone - user gets error. 'lvcreate --name some_existing_name' - LV with existing name returns errors since already exists. For current release of 8.4 - the feature is considered finished.
So if there is global request for a global consistency refresh - we need to open new RFE bug.