diff --git a/lib/config.py b/lib/config.py
index 050cdacef2d913288ed1f49e947d8e69cbb52283..6c829917ac133042a0626b36f5b723042663e3c9 100644
--- a/lib/config.py
+++ b/lib/config.py
@@ -445,6 +445,24 @@ class ConfigWriter:
         lvnames.update(lv_list)
     return lvnames
 
+  def _AllDisks(self):
+    """Compute the list of all Disks.
+
+    """
+    disks = []
+    for instance in self._config_data.instances.values():
+      disks.extend(instance.disks)
+    return disks
+
+  def _AllNICs(self):
+    """Compute the list of all NICs.
+
+    """
+    nics = []
+    for instance in self._config_data.instances.values():
+      nics.extend(instance.nics)
+    return nics
+
   def _AllIDs(self, include_temporary):
     """Compute the list of all UUIDs and names we have.
 
@@ -2038,6 +2056,8 @@ class ConfigWriter:
             self._config_data.nodes.values() +
             self._config_data.nodegroups.values() +
             self._config_data.networks.values() +
+            self._AllDisks() +
+            self._AllNICs() +
             [self._config_data.cluster])
 
   def _OpenConfig(self, accept_foreign):