if (!vg_write(vg))
return_0;
- if (lock_lv != lv) {
+ if (origin_only && (lock_lv != lv)) {
log_debug_activation("Dropping origin_only for %s as lock holds %s",
display_lvname(lv), display_lvname(lock_lv));
origin_only = 0;
va_start(ap, origin_only);
removal_lvs = va_arg(ap, struct dm_list *);
- if (lock_lv != lv) {
+ if (origin_only && (lock_lv != lv)) {
log_debug_activation("Dropping origin_only for %s as lock holds %s",
display_lvname(lv), display_lvname(lock_lv));
origin_only = 0;
struct lv_list *lvl;
int r;
- if (lock_lv != lv) {
+ if (origin_only && (lock_lv != lv)) {
log_debug_activation("Dropping origin_only for %s as lock holds %s",
display_lvname(lv), display_lvname(lock_lv));
origin_only = 0;
const struct logical_volume *lock_lv = lv_lock_holder(lv);
int r = 1;
- if (lock_lv != lv) {
+ if (origin_only && (lock_lv != lv)) {
log_debug_activation("Dropping origin_only for %s as lock holds %s",
display_lvname(lv), display_lvname(lock_lv));
origin_only = 0;