1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-08-06 21:49:28 +03:00

Allow internal suspend and resume of origin without its snapshots.

This commit is contained in:
Alasdair Kergon
2010-08-17 16:25:32 +00:00
parent 85ed403002
commit 2d6fcbf67d
23 changed files with 176 additions and 144 deletions

View File

@ -279,7 +279,8 @@ static int _file_lock_resource(struct cmd_context *cmd, const char *resource,
switch (flags & LCK_TYPE_MASK) {
case LCK_UNLOCK:
log_very_verbose("Unlocking LV %s", resource);
if (!lv_resume_if_active(cmd, resource))
// FIXME Set origin_only
if (!lv_resume_if_active(cmd, resource, 0))
return 0;
break;
case LCK_NULL:
@ -297,7 +298,8 @@ static int _file_lock_resource(struct cmd_context *cmd, const char *resource,
break;
case LCK_WRITE:
log_very_verbose("Locking LV %s (W)", resource);
if (!lv_suspend_if_active(cmd, resource))
// FIXME Set origin_only
if (!lv_suspend_if_active(cmd, resource, 0))
return 0;
break;
case LCK_EXCL:

View File

@ -44,11 +44,13 @@ static int _no_lock_resource(struct cmd_context *cmd, const char *resource,
case LCK_NULL:
return lv_deactivate(cmd, resource);
case LCK_UNLOCK:
return lv_resume_if_active(cmd, resource);
// FIXME Set origin_only
return lv_resume_if_active(cmd, resource, 0);
case LCK_READ:
return lv_activate_with_filter(cmd, resource, 0);
case LCK_WRITE:
return lv_suspend_if_active(cmd, resource);
// FIXME Set origin_only
return lv_suspend_if_active(cmd, resource, 0);
case LCK_EXCL:
return lv_activate_with_filter(cmd, resource, 1);
default: