diff --git a/lib/client/gnt_backup.py b/lib/client/gnt_backup.py
index edc8b4400df1e3252eeefbb86fd3857a5f9ba831..e6fc6a3e4ee4cce694c4cd100643854bfd11cb22 100644
--- a/lib/client/gnt_backup.py
+++ b/lib/client/gnt_backup.py
@@ -129,6 +129,7 @@ import_opts = [
   SRC_DIR_OPT,
   SRC_NODE_OPT,
   IGNORE_IPOLICY_OPT,
+  HOTPLUG_OPT,
   ]
 
 
diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 343087c44559e958dd69ff73b7c8306e0b0ddf99..8156c83034f96c15f4ade95ec6adb595ba32ca02 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -8958,7 +8958,7 @@ def _GenerateUniqueNames(lu, exts):
 
 def _GetPCIInfo(lu, dev_type):
 
-  if lu.op.hotplug:
+  if (hasattr(lu, 'op') and lu.op.hotplug):
     # case of InstanceCreate()
     if hasattr(lu, 'hotplug_info'):
       if lu.hotplug_info is not None:
@@ -8973,7 +8973,7 @@ def _GetPCIInfo(lu, dev_type):
       lu.LogInfo("Choosing pci slot %d" % pci)
       return idx, pci
 
-    lu.LogWarning("Hotplug not supported for this instance.")
+  lu.LogWarning("Hotplug not supported for this instance.")
   return None, None
 
 
@@ -13294,11 +13294,12 @@ class LUInstanceSetParams(LogicalUnit):
 
     if self.op.hotplug and disk.pci:
       self.LogInfo("Trying to hotplug device.")
-      disk_ok, device_info = _AssembleInstanceDisks(self, self.instance,
-                                                    [disk], check=False)
+      _, device_info = _AssembleInstanceDisks(self, self.instance,
+                                              [disk], check=False)
       _, _, dev_path = device_info[0]
-      result = self.rpc.call_hot_add_disk(self.instance.primary_node,
-                                          self.instance, disk, dev_path, idx)
+      #TODO: handle result
+      self.rpc.call_hot_add_disk(self.instance.primary_node,
+                                 self.instance, disk, dev_path, idx)
     return (disk, [
       ("disk/%d" % idx, "add:size=%s,mode=%s" % (disk.size, disk.mode)),
       ])
@@ -13364,8 +13365,8 @@ class LUInstanceSetParams(LogicalUnit):
       if pci is not None:
         nic.idx = nic_idx
         nic.pci = pci
-        result = self.rpc.call_hot_add_nic(self.instance.primary_node,
-                                           self.instance, nic, idx)
+        self.rpc.call_hot_add_nic(self.instance.primary_node,
+                                  self.instance, nic, idx)
     desc =  [
       ("nic.%d" % idx,
        "add:mac=%s,ip=%s,mode=%s,link=%s,network=%s" %
@@ -13398,11 +13399,11 @@ class LUInstanceSetParams(LogicalUnit):
       self.LogInfo("Trying to hotplug device.")
       self.rpc.call_hot_del_nic(self.instance.primary_node,
                                 self.instance, nic, idx)
-      result = self.rpc.call_hot_add_nic(self.instance.primary_node,
-                                         self.instance, nic, idx)
+      self.rpc.call_hot_add_nic(self.instance.primary_node,
+                                self.instance, nic, idx)
     return changes
 
-  def _RemoveNic(self, idx, nic, private):
+  def _RemoveNic(self, idx, nic, _):
     if nic.pci and not self.op.hotplug:
       raise errors.OpPrereqError("Cannot remove a nic that has been hotplugged"
                                  " without removing it with hotplug",
diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index e047fd1373475a0b0f1b410c3fc6859d969c3748..2e0f77babd13dd168f02ae5105f68870ba528d43 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -1067,9 +1067,8 @@ class KVMHypervisor(hv_base.BaseHypervisor):
     hvp = instance.hvparams
     kernel_path = hvp[constants.HV_KERNEL_PATH]
     if kernel_path:
-      boot_disk = boot_cdrom = boot_floppy = boot_network = False
+      boot_cdrom = boot_floppy = boot_network = False
     else:
-      boot_disk = hvp[constants.HV_BOOT_ORDER] == constants.HT_BO_DISK
       boot_cdrom = hvp[constants.HV_BOOT_ORDER] == constants.HT_BO_CDROM
       boot_floppy = hvp[constants.HV_BOOT_ORDER] == constants.HT_BO_FLOPPY
       boot_network = hvp[constants.HV_BOOT_ORDER] == constants.HT_BO_NETWORK
@@ -1428,7 +1427,6 @@ class KVMHypervisor(hv_base.BaseHypervisor):
     conf_hvp = instance.hvparams
     name = instance.name
     self._CheckDown(name)
-    boot_disk = conf_hvp[constants.HV_BOOT_ORDER] == constants.HT_BO_DISK
 
     temp_files = []
 
@@ -1655,12 +1653,12 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     return result
 
-  def HotAddDisk(self, instance, disk, dev_path, seq):
+  def HotAddDisk(self, instance, disk, dev_path, _):
     """Hotadd new disk to the VM
 
     """
     if not self._InstancePidAlive(instance.name)[2]:
-      logging.info("Cannot hotplug. Instance %s not alive" % instance.name)
+      logging.info("Cannot hotplug. Instance %s not alive", instance.name)
       return disk.ToDict()
 
     _, v_major, v_min, _ = self._GetKVMVersion()
@@ -1669,16 +1667,16 @@ class KVMHypervisor(hv_base.BaseHypervisor):
       command = ("drive_add dummy file=%s,if=none,id=drive%d,format=raw" %
                  (dev_path, idx))
 
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
 
       command = ("device_add virtio-blk-pci,bus=pci.0,addr=%s,"
                  "drive=drive%d,id=virtio-blk-pci.%d"
                  % (hex(disk.pci), idx, idx))
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       (kvm_cmd, kvm_nics,
        hvparams, block_devices) = self._LoadKVMRuntime(instance)
@@ -1688,12 +1686,12 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     return disk.ToDict()
 
-  def HotDelDisk(self, instance, disk, seq):
+  def HotDelDisk(self, instance, disk, _):
     """Hotdel disk to the VM
 
     """
     if not self._InstancePidAlive(instance.name)[2]:
-      logging.info("Cannot hotplug. Instance %s not alive" % instance.name)
+      logging.info("Cannot hotplug. Instance %s not alive", instance.name)
       return disk.ToDict()
 
     _, v_major, v_min, _ = self._GetKVMVersion()
@@ -1701,13 +1699,13 @@ class KVMHypervisor(hv_base.BaseHypervisor):
       idx = disk.idx
 
       command = "device_del virtio-blk-pci.%d" % idx
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       command = "drive_del drive%d" % idx
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       #output = self._CallMonitorCommand(instance.name, command)
       #for line in output.stdout.splitlines():
       #  logging.info("%s" % line)
@@ -1730,7 +1728,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     """
     if not self._InstancePidAlive(instance.name)[2]:
-      logging.info("Cannot hotplug. Instance %s not alive" % instance.name)
+      logging.info("Cannot hotplug. Instance %s not alive", instance.name)
       return nic.ToDict()
 
     _, v_major, v_min, _ = self._GetKVMVersion()
@@ -1745,18 +1743,18 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
       command = ("netdev_add tap,id=netdev%d,fd=netdev%d"
                  % (idx, idx))
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       command = ("device_add virtio-net-pci,bus=pci.0,addr=%s,mac=%s,"
                  "netdev=netdev%d,id=virtio-net-pci.%d"
                  % (hex(nic.pci), mac, idx, idx))
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       self._ConfigureNIC(instance, seq, nic, tap)
 
@@ -1768,30 +1766,29 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     return nic.ToDict()
 
-  def HotDelNic(self, instance, nic, seq):
+  def HotDelNic(self, instance, nic, _):
     """Hotadd new nic to the VM
 
     """
     if not self._InstancePidAlive(instance.name)[2]:
-      logging.info("Cannot hotplug. Instance %s not alive" % instance.name)
+      logging.info("Cannot hotplug. Instance %s not alive", instance.name)
       return nic.ToDict()
 
     _, v_major, v_min, _ = self._GetKVMVersion()
     if (v_major, v_min) >= (1, 0) and nic.pci:
-      mac = nic.mac
       idx = nic.idx
 
       command = "device_del virtio-net-pci.%d" % idx
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       command = "netdev_del netdev%d" % idx
-      logging.info("%s" % command)
+      logging.info("Run cmd %s", command)
       output = self._CallMonitorCommand(instance.name, command)
       for line in output.stdout.splitlines():
-        logging.info("%s" % line)
+        logging.info("%s", line)
 
       (kvm_cmd, kvm_nics,
        hvparams, block_devices) = self._LoadKVMRuntime(instance)