diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c index 21aa3b422..1e3fc02d4 100644 --- a/lib/metadata/lv.c +++ b/lib/metadata/lv.c @@ -311,10 +311,11 @@ char *lvseg_monitor_dup(struct dm_pool *mem, const struct lv_segment *seg) segm = first_seg(seg->lv->snapshot->lv); // log_debug("Query LV:%s mon:%s segm:%s tgtm:%p segmon:%d statusm:%d", seg->lv->name, segm->lv->name, segm->segtype->name, segm->segtype->ops->target_monitored, seg_monitored(segm), (int)(segm->status & PVMOVE)); - if ((dmeventd_monitor_mode() != 1) || - !segm->segtype->ops || + if (!segm->segtype->ops || !segm->segtype->ops->target_monitored) - /* Nothing to do, monitoring not supported */; + s = "disabled"; + else if (dmeventd_monitor_mode() != 1) + s = "not enabled"; else if (lv_is_cow_covering_origin(seg->lv)) /* Nothing to do, snapshot already covers origin */; else if (!seg_monitored(segm) || (segm->status & PVMOVE))