@@ -1927,6 +1927,8 @@ static int _lv_each_dependency(struct logical_volume *lv,
struct lv_segment *lvseg;
struct logical_volume *deps[] = {
+ (lv->rdevice && lv != lv->rdevice->lv) ? lv->rdevice->lv : 0,
+ (lv->rdevice && lv != lv->rdevice->slog) ? lv->rdevice->slog : 0,
lv->snapshot ? lv->snapshot->origin : 0,
lv->snapshot ? lv->snapshot->cow : 0 };
for (i = 0; i < sizeof(deps) / sizeof(*deps); ++i) {
@@ -1937,6 +1939,8 @@ static int _lv_each_dependency(struct logical_volume *lv,
dm_list_iterate_items(lvseg, &lv->segments) {
if (lvseg->log_lv && !fn(lvseg->log_lv, data))
return_0;
+ if (lvseg->rlog_lv && !fn(lvseg->rlog_lv, data))
+ return_0;
for (s = 0; s < lvseg->area_count; ++s) {
if (seg_type(lvseg, s) == AREA_LV && !fn(seg_lv(lvseg,s), data))
return_0;