From af1d39b1e882214edf40724ae989fb881111f634 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Fri, 11 Jun 2010 18:03:42 +0200
Subject: [PATCH] backend: Add support for import/export magic

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
---
 lib/backend.py          | 3 +++
 lib/masterd/instance.py | 7 +++++++
 lib/objects.py          | 2 ++
 3 files changed, 12 insertions(+)

diff --git a/lib/backend.py b/lib/backend.py
index c307619b4..99cb3984f 100644
--- a/lib/backend.py
+++ b/lib/backend.py
@@ -2696,6 +2696,9 @@ def StartImportExportDaemon(mode, opts, host, port, instance, ieio, ieioargs):
     if opts.compress:
       cmd.append("--compress=%s" % opts.compress)
 
+    if opts.magic:
+      cmd.append("--magic=%s" % opts.magic)
+
     if exp_size is not None:
       cmd.append("--expected-size=%s" % exp_size)
 
diff --git a/lib/masterd/instance.py b/lib/masterd/instance.py
index 6eb01e16d..46eaabf10 100644
--- a/lib/masterd/instance.py
+++ b/lib/masterd/instance.py
@@ -208,6 +208,13 @@ class _DiskImportExportBase(object):
             self._daemon.progress_percent,
             self._daemon.progress_eta)
 
+  @property
+  def magic(self):
+    """Returns the magic value for this import/export.
+
+    """
+    return self._opts.magic
+
   @property
   def active(self):
     """Determines whether this transport is still active.
diff --git a/lib/objects.py b/lib/objects.py
index f954081fb..19c6d8f8d 100644
--- a/lib/objects.py
+++ b/lib/objects.py
@@ -1032,12 +1032,14 @@ class ImportExportOptions(ConfigObject):
   @ivar key_name: X509 key name (None for cluster certificate)
   @ivar ca_pem: Remote peer CA in PEM format (None for cluster certificate)
   @ivar compress: Compression method (one of L{constants.IEC_ALL})
+  @ivar magic: Used to ensure the connection goes to the right disk
 
   """
   __slots__ = [
     "key_name",
     "ca_pem",
     "compress",
+    "magic",
     ]
 
 
-- 
GitLab