lvchange -an $vg/$lv1
lvremove $vg/$lv1
+# if the cache name is used generate a new name
+lvcreate -n $lv1 -l8 -an $vg @slow
+lvcreate -n ${lv1}_cache -l1 -an $vg @slow
+lvconvert -y --type writecache --cachedevice @fast --cachesize 8M $vg/$lv1
+check lv_field $vg/$lv1 segtype writecache
+check lv_field $vg/${lv1}_cache0_cvol lv_size "8.00m"
+lvchange -ay $vg/$lv1
+lvchange -an $vg/$lv1
+lvremove $vg/$lv1
+
vgremove -ff $vg
struct logical_volume **cachevol_lv)
{
char cvname[NAME_LEN];
+ char format[NAME_LEN];
struct dm_list *use_pvh;
struct pv_list *pvl;
char *dev_name;
return 0;
}
+ if (find_lv(vg, cvname)) {
+ memset(format, 0, sizeof(cvname));
+ memset(cvname, 0, sizeof(cvname));
+ if (dm_snprintf(format, sizeof(format), "%s_cache%%d", lv->name) < 0) {
+ log_error("Failed to generate cachevol LV format.");
+ return 0;
+ }
+ if (!generate_lv_name(vg, format, cvname, sizeof(cvname))) {
+ log_error("Failed to generate cachevol LV name.");
+ return 0;
+ }
+ }
+
lp.lv_name = cvname;
lp.pvh = use_pvh;
lp.extents = cache_size_sectors / vg->extent_size;