Lines Matching refs:seg

50 static const char *_mirrored_name(const struct lv_segment *seg)
52 return seg->segtype->name;
55 static void _mirrored_display(const struct lv_segment *seg)
60 log_print(" Mirrors\t\t%u", seg->area_count);
61 log_print(" Mirror size\t\t%u", seg->area_len);
62 if (seg->log_lv)
63 log_print(" Mirror log volume\t%s", seg->log_lv->name);
65 if (seg->region_size) {
66 size = display_size(seg->lv->vg->cmd,
67 (uint64_t) seg->region_size);
72 display_stripe(seg, 0, " ");
74 for (s = 1; s < seg->area_count; s++)
75 display_stripe(seg, s, " ");
90 static int _mirrored_text_import(struct lv_segment *seg, const struct config_node *sn,
98 &seg->extents_copied))
99 seg->status |= PVMOVE;
103 config_parent_name(sn), seg->lv->name);
110 &seg->region_size)) {
113 config_parent_name(sn), seg->lv->name);
124 if (!(seg->log_lv = find_lv(seg->lv->vg, logname))) {
127 config_parent_name(sn), seg->lv->name);
130 seg->log_lv->status |= MIRROR_LOG;
133 if (logname && !seg->region_size) {
136 config_parent_name(sn), seg->lv->name);
143 config_parent_name(sn), seg->lv->name);
147 return text_import_areas(seg, sn, cn, pv_hash, MIRROR_IMAGE);
150 static int _mirrored_text_export(const struct lv_segment *seg, struct formatter *f)
152 outf(f, "mirror_count = %u", seg->area_count);
153 if (seg->status & PVMOVE)
154 out_size(f, (uint64_t) seg->extents_copied * seg->lv->vg->extent_size,
155 "extents_moved = %" PRIu32, seg->extents_copied);
156 if (seg->log_lv)
157 outf(f, "mirror_log = \"%s\"", seg->log_lv->name);
158 if (seg->region_size)
159 outf(f, "region_size = %" PRIu32, seg->region_size);
161 return out_areas(f, seg, "mirror");
187 struct lv_segment *seg, char *params,
231 if (seg)
232 seg->extents_copied = seg->area_len * numerator / denominator;
244 static int _add_log(struct dev_manager *dm, struct lv_segment *seg,
255 if ((!(seg->lv->status & ACTIVATE_EXCL) &&
256 (vg_is_clustered(seg->lv->vg))))
259 if (seg->log_lv) {
261 if (!(log_dlid = build_dlid(dm, seg->log_lv->lvid.s, NULL))) {
263 seg->log_lv->name);
268 if (!(log_dlid = build_dlid(dm, seg->lv->lvid.s, NULL))) {
270 seg->lv->name);
276 if (mirror_in_sync() && !(seg->status & PVMOVE))
279 if (_block_on_error_available && !(seg->status & PVMOVE))
287 struct lv_segment *seg,
292 uint32_t area_count = seg->area_count;
307 if (seg->area_count == 1)
315 if (seg->status & PVMOVE) {
316 if (seg->extents_copied == seg->area_len) {
332 if (!(seg->status & PVMOVE)) {
333 if (!seg->region_size) {
337 region_size = seg->region_size;
340 region_size = adjusted_mirror_region_size(seg->lv->vg->extent_size,
341 seg->area_len,
347 if ((r = _add_log(dm, seg, node, area_count, region_size)) <= 0) {
353 return add_areas_line(dm, seg, node, start_area, area_count);
357 const struct lv_segment *seg,
450 static int _target_monitored(struct lv_segment *seg, int *pending)
458 lv = seg->lv;
488 static int _target_set_events(struct lv_segment *seg,
497 lv = seg->lv;
519 static int _target_monitor_events(struct lv_segment *seg, int events)
521 return _target_set_events(seg, events, 1);
524 static int _target_unmonitor_events(struct lv_segment *seg, int events)
526 return _target_set_events(seg, events, 0);
533 const struct lv_segment *seg,
536 if (seg->log_lv &&
537 !list_segment_modules(mem, first_seg(seg->log_lv), modules))
540 if (vg_is_clustered(seg->lv->vg) &&