Now that thin to cache conversion is allowed, the following warning error isn't technically true. This command does accept LV type thin, but just not for writecache.
"WARNING: Command on LV VG/thin_lv does not accept LV type thin."
lvm2-2.03.23-2.el9 BUILT: Sat Feb 3 01:10:34 AM CET 2024
lvm2-libs-2.03.23-2.el9 BUILT: Sat Feb 3 01:10:34 AM CET 2024
[root@grant-01 ~]# lvcreate --yes --type thin-pool -n thin_pool -L 34G thinpool_sanity
Thin pool volume with chunk size 64.00 KiB can address at most <15.88 TiB of data.
Logical volume "thin_pool" created.
[root@grant-01 ~]# lvcreate --yes -n thin_lv -V 200G thinpool_sanity/thin_pool
WARNING: Sum of all thin volume sizes (200.00 GiB) exceeds the size of thin pool thinpool_sanity/thin_pool (34.00 GiB).
WARNING: You have not turned on protection against thin pools running out of space.
Logical volume "thin_lv" created.
[root@grant-01 ~]# lvcreate --yes --type linear -n to-cpool -L 2G thinpool_sanity
WARNING: Sum of all thin volume sizes (200.00 GiB) exceeds the size of thin pools (34.00 GiB).
WARNING: You have not turned on protection against thin pools running out of space.
WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
Logical volume "to-cpool" created.
[root@grant-01 ~]# lvs -a -o +devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
[lvol0_pmspare] thinpool_sanity ewi------- 36.00m /dev/sdb1(0)
thin_lv thinpool_sanity Vwi-a-tz-- 200.00g thin_pool 0.00
thin_pool thinpool_sanity twi-aotz-- 34.00g 0.00 10.47 thin_pool_tdata(0)
[thin_pool_tdata] thinpool_sanity Twi-ao---- 34.00g /dev/sdb1(9)
[thin_pool_tmeta] thinpool_sanity ewi-ao---- 36.00m /dev/nvme1n1p1(0)
to-cpool thinpool_sanity -wi-a----- 2.00g /dev/sdb1(8713)
# to write cache attempt
[root@grant-01 ~]# lvconvert --yes --type writecache --cachevol thinpool_sanity/to-cpool thinpool_sanity/thin_lv
WARNING: Command on LV thinpool_sanity/thin_lv does not accept LV type thin.
Command not permitted on LV thinpool_sanity/thin_lv.
# to cache attempt
[root@grant-01 ~]# lvconvert --yes --type cache --cachepool thinpool_sanity/to-cpool thinpool_sanity/thin_lv
WARNING: Converting thinpool_sanity/to-cpool to cache pool's data volume with metadata wiping.
THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
WARNING: Sum of all thin volume sizes (200.00 GiB) exceeds the size of thin pools (34.00 GiB).
WARNING: You have not turned on protection against thin pools running out of space.
WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
Converted thinpool_sanity/to-cpool to cache pool.
Logical volume thinpool_sanity/thin_lv is now cached.