Version 2.02.86 -
=================================
+ Fix extent rounding for striped volumes (never reduce more than requested).
Fix create_temp_name to replace any '/' found in the hostname with '?'.
Always use append to file in lvmdump (selinux policy - no file truncation).
Propagate test mode to clvmd to skip activation and changes to held locks.
lvreduce -f -l -$(( $pe_count * 1 )) $vg/$lv
check lv_field $vg/$lv seg_count 1
+# do not reduce to 0 extents
+lvremove -f $vg/$lv
+lvcreate -i2 -I 64k -l10 -n $lv $vg
+lvreduce -f -l1 $vg/$lv
+check lv_field $vg/$lv lv_size "8.00m"
return EINVALID_CMD_LINE;
}
- if ((lp->stripes > 1)) {
+ if (lp->stripes > 1) {
if (!(stripesize_extents = lp->stripe_size / vg->extent_size))
stripesize_extents = 1;
- if ((size_rest = seg_size % (lp->stripes * stripesize_extents))) {
+ size_rest = seg_size % (lp->stripes * stripesize_extents);
+ if (size_rest && lp->resize == LV_REDUCE) {
+ log_print("Rounding size (%d extents) up to stripe "
+ "boundary size for segment (%d extents)",
+ lp->extents, lp->extents + size_rest);
+ lp->extents = lp->extents + size_rest;
+ } else if (size_rest) {
log_print("Rounding size (%d extents) down to stripe "
"boundary size for segment (%d extents)",
lp->extents, lp->extents - size_rest);