Lines Matching defs:lv

21 			       struct logical_volume *lv)
29 if ((lv_access & LVM_WRITE) && (lv->status & LVM_WRITE)) {
31 lv->name);
35 if (!(lv_access & LVM_WRITE) && !(lv->status & LVM_WRITE)) {
37 lv->name);
41 if ((lv->status & MIRRORED) && (vg_is_clustered(lv->vg)) &&
42 lv_info(cmd, lv, &info, 0, 0) && info.exists) {
44 "while active.", lv->name);
49 lv->status |= LVM_WRITE;
51 lv->name);
53 lv->status &= ~LVM_WRITE;
55 lv->name);
58 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
59 if (!vg_write(lv->vg))
62 if (!suspend_lv(cmd, lv)) {
63 log_error("Failed to lock %s", lv->name);
64 vg_revert(lv->vg);
68 if (!vg_commit(lv->vg)) {
69 resume_lv(cmd, lv);
73 log_very_verbose("Updating permissions for \"%s\" in kernel", lv->name);
74 if (!resume_lv(cmd, lv)) {
75 log_error("Problem reactivating %s", lv->name);
81 backup(lv->vg);
86 struct logical_volume *lv)
90 if (!lv_info(cmd, lv, &info, 0, 0) || !info.exists) {
91 log_error("Logical volume, %s, is not active", lv->name);
95 /* do not monitor pvmove lv's */
96 if (lv->status & PVMOVE)
100 !monitor_dev_for_events(cmd, lv, dmeventd_monitor_mode()))
107 struct logical_volume *lv)
115 lv->name);
116 if (!deactivate_lv_local(cmd, lv))
119 log_verbose("Deactivating logical volume \"%s\"", lv->name);
120 if (!deactivate_lv(cmd, lv))
123 if (lv_is_origin(lv) || (activate == CHANGE_AE)) {
125 "exclusively", lv->name);
126 if (!activate_lv_excl(cmd, lv))
130 lv->name);
131 if (!activate_lv_local(cmd, lv))
135 lv->name);
136 if (!activate_lv(cmd, lv))
140 lv_spawn_background_polling(cmd, lv);
146 static int lvchange_refresh(struct cmd_context *cmd, struct logical_volume *lv)
148 log_verbose("Refreshing logical volume \"%s\" (if active)", lv->name);
149 return lv_refresh(cmd, lv);
153 struct logical_volume *lv)
160 if (!(lv->status & MIRRORED)) {
162 lv->name);
166 if (lv->status & PVMOVE) {
167 log_error("Unable to resync pvmove volume %s", lv->name);
171 if (lv->status & LOCKED) {
172 log_error("Unable to resync locked volume %s", lv->name);
176 if (lv_info(cmd, lv, &info, 1, 0)) {
179 lv->name);
187 lv->name) == 'n') {
189 lv->name);
204 if (!deactivate_lv(cmd, lv)) {
205 log_error("Unable to deactivate %s for resync", lv->name);
209 if (vg_is_clustered(lv->vg) && lv_is_active(lv)) {
211 lv->name);
217 log_lv = first_seg(lv)->log_lv;
221 vg_is_clustered(lv->vg) ? "clustered " : "",
223 lv->name);
231 if (!log_lv && !(lv->status & MIRROR_NOTSYNCED)) {
232 if (active && !activate_lv(cmd, lv)) {
234 "mirror", lv->name);
240 lv->status &= ~MIRROR_NOTSYNCED;
244 detach_mirror_log(first_seg(lv));
246 if (!vg_write(lv->vg)) {
248 if (!attach_mirror_log(first_seg(lv), log_lv))
250 if (active && !activate_lv(cmd, lv))
255 if (!vg_commit(lv->vg)) {
257 if (!attach_mirror_log(first_seg(lv), log_lv))
259 if (active && !activate_lv(cmd, lv))
264 backup(lv->vg);
274 log_error("Unable to reset sync status for %s", lv->name);
288 if (!attach_mirror_log(first_seg(lv), log_lv))
292 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
293 if (!vg_write(lv->vg) || !vg_commit(lv->vg)) {
298 if (active && !activate_lv(cmd, lv)) {
299 log_error("Failed to reactivate %s after resync", lv->name);
306 static int lvchange_alloc(struct cmd_context *cmd, struct logical_volume *lv)
315 if (alloc == lv->alloc) {
317 "already %s", lv->name, get_alloc_string(alloc));
321 lv->alloc = alloc;
326 lv->name, get_alloc_string(alloc));
328 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
331 if (!vg_write(lv->vg) || !vg_commit(lv->vg))
334 backup(lv->vg);
340 struct logical_volume *lv)
349 (lv->vg->fid->fmt->features & FMT_RESTRICTED_READAHEAD) &&
365 if (lv->read_ahead == read_ahead) {
367 log_error("Read ahead is already auto for \"%s\"", lv->name);
370 read_ahead, lv->name);
374 lv->read_ahead = read_ahead;
377 lv->name);
379 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
380 if (!vg_write(lv->vg))
383 if (!suspend_lv(cmd, lv)) {
384 log_error("Failed to lock %s", lv->name);
385 vg_revert(lv->vg);
389 if (!vg_commit(lv->vg)) {
390 resume_lv(cmd, lv);
394 log_very_verbose("Updating permissions for \"%s\" in kernel", lv->name);
395 if (!resume_lv(cmd, lv)) {
396 log_error("Problem reactivating %s", lv->name);
402 backup(lv->vg);
407 struct logical_volume *lv)
413 if (!(lv->status & FIXED_MINOR)) {
415 "for \"%s\"", lv->name);
418 lv->status &= ~FIXED_MINOR;
419 lv->minor = -1;
420 lv->major = -1;
422 lv->name);
424 if (!arg_count(cmd, minor_ARG) && lv->minor < 0) {
428 if (!arg_count(cmd, major_ARG) && lv->major < 0) {
432 if (lv_info(cmd, lv, &info, 0, 0) && info.exists)
437 "Continue? [y/n]: ", lv->name) == 'n') {
439 lv->name);
446 log_verbose("Ensuring %s is inactive.", lv->name);
447 if (!deactivate_lv(cmd, lv)) {
448 log_error("%s: deactivation failed", lv->name);
451 lv->status |= FIXED_MINOR;
452 lv->minor = arg_int_value(cmd, minor_ARG, lv->minor);
453 lv->major = arg_int_value(cmd, major_ARG, lv->major);
455 "for \"%s\"", lv->major, lv->minor, lv->name);
459 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
460 if (!vg_write(lv->vg) || !vg_commit(lv->vg))
463 backup(lv->vg);
466 log_verbose("Re-activating logical volume \"%s\"", lv->name);
467 if (!activate_lv(cmd, lv)) {
468 log_error("%s: reactivation failed", lv->name);
476 static int lvchange_tag(struct cmd_context *cmd, struct logical_volume *lv,
486 if (!(lv->vg->fid->fmt->features & FMT_TAGS)) {
488 lv->vg->name, lv->name);
493 if (!str_list_add(cmd->mem, &lv->tags, tag)) {
495 tag, lv->vg->name, lv->name);
499 if (!str_list_del(&lv->tags, tag)) {
501 tag, lv->vg->name, lv->name);
506 log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
509 if (!vg_write(lv->vg) || !vg_commit(lv->vg))
512 backup(lv->vg);
517 static int lvchange_single(struct cmd_context *cmd, struct logical_volume *lv,
524 if (!(lv->vg->status & LVM_WRITE) &&
529 "group \"%s\"", lv->vg->name);
533 if (lv_is_origin(lv) &&
538 lv->name);
542 if (lv_is_cow(lv) && !lv_is_virtual_origin(origin_from_cow(lv)) &&
545 lv->name);
549 if (lv->status & PVMOVE) {
550 log_error("Unable to change pvmove LV %s", lv->name);
556 if (lv->status & MIRROR_LOG) {
557 log_error("Unable to change mirror log LV %s directly", lv->name);
561 if (lv->status & MIRROR_IMAGE) {
563 lv->name);
568 if (arg_count(cmd, available_ARG) && lv_is_cow(lv) &&
569 lv_is_virtual_origin(origin = origin_from_cow(lv)))
570 lv = origin;
572 if (!(lv_is_visible(lv)) && !lv_is_virtual_origin(lv)) {
574 lv->name);
584 if (!archive(lv->vg)) {
589 doit += lvchange_permission(cmd, lv);
595 if (!archived && !archive(lv->vg)) {
600 doit += lvchange_alloc(cmd, lv);
606 if (!archived && !archive(lv->vg)) {
611 doit += lvchange_readahead(cmd, lv);
617 if (!archived && !archive(lv->vg)) {
622 doit += lvchange_persistent(cmd, lv);
632 if (!archived && !archive(lv->vg)) {
637 doit += lvchange_tag(cmd, lv, addtag_ARG);
643 if (!archived && !archive(lv->vg)) {
648 doit += lvchange_tag(cmd, lv, deltag_ARG);
653 log_print("Logical volume \"%s\" changed", lv->name);
656 if (!lvchange_resync(cmd, lv)) {
663 if (!lvchange_availability(cmd, lv)) {
670 if (!lvchange_refresh(cmd, lv)) {
678 if (!lvchange_monitoring(cmd, lv)) {