aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.c
diff options
context:
space:
mode:
authorAshijeet Acharya <ashijeetacharya@gmail.com>2017-01-16 17:01:54 +0530
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-01-24 18:00:31 +0000
commitb67b8c3a9deacd4e1f029422f01ad8179e16d580 (patch)
tree00acedf4c75b608476306d96b1d87d86e4174662 /migration/migration.c
parentfe44dc91807eca59d0230fe828c1e2ee0c305a1e (diff)
migration: Fail migration blocker for --only-migratable
migrate_add_blocker should rightly fail if the '--only-migratable' option was specified and the device in use should not be able to perform the action which results in an unmigratable VM. Make migrate_add_blocker return -EACCES in this case. Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com> Message-Id: <1484566314-3987-6-git-send-email-ashijeetacharya@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/migration.c')
-rw-r--r--migration/migration.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/migration/migration.c b/migration/migration.c
index 0d88286301..7dcb7d7a32 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1113,6 +1113,13 @@ static GSList *migration_blockers;
int migrate_add_blocker(Error *reason, Error **errp)
{
+ if (only_migratable) {
+ error_propagate(errp, error_copy(reason));
+ error_prepend(errp, "disallowing migration blocker "
+ "(--only_migratable) for: ");
+ return -EACCES;
+ }
+
if (migration_is_idle(NULL)) {
migration_blockers = g_slist_prepend(migration_blockers, reason);
return 0;