---
lib/cmdlib.py | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 89d9f97..433d5af 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -4773,6 +4773,13 @@ class LURemoveExport(NoHooksLU):
"""
_OP_REQP = ["instance_name"]
+ REQ_BGL = False
+
+ def ExpandNames(self):
+ # We need all nodes to be locked in order for RemoveExport to work, but we
+ # don't need to lock the instance itself, as nothing will happen to it (and
+ # we can remove exports also for a removed instance)
+ self.needed_locks[locking.LEVEL_NODE] = locking.ALL_SET
def CheckPrereq(self):
"""Check prerequisites.
@@ -4791,7 +4798,7 @@ class LURemoveExport(NoHooksLU):
fqdn_warn = True
instance_name = self.op.instance_name
- exportlist = rpc.call_export_list(self.cfg.GetNodeList())
+ exportlist = rpc.call_export_list(self.acquired_locks[locking.LEVEL_NODE])
found = False
for node in exportlist:
if instance_name in exportlist[node]:
--
1.5.6.5