summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-06-23 13:40:07 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-06-23 18:31:34 +0000
commit2430197500a63e6384070959dd8f6a741d11d342 (patch)
tree4253dfc51facaab8a9b6cfa3617b79ecef7ae68e
parentf43e5d6889b4b1bfe1ec610de845eef67a0856fe (diff)
downloadphosphor-objmgr-2430197500a63e6384070959dd8f6a741d11d342.tar.gz
phosphor-objmgr-2430197500a63e6384070959dd8f6a741d11d342.zip
server: fix unexpected GetSubTreePaths behavior
The intent is that subtree paths enumerate all paths, even paths that don't have any objects associated with them. For example a get subtree paths on /xyz should provide /xyz/openbmc_project. Starting with 1c33c22 get subtree paths incorrectly searches for paths with objects under them. Resolves: openbmc/openbmc#1544 Change-Id: If6db079d10a4216b192bf18d26b4bacbcc264314 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-rw-r--r--obmc/mapper/server.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 18f50c1..0766daf 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -555,7 +555,9 @@ class ObjectMapper(dbus.service.Object):
@dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sias', 'as')
def GetSubTreePaths(self, path, depth, interfaces):
try:
- return self.GetSubTree(path, depth, interfaces).iterkeys()
+ return self.filter_interfaces(
+ self.cache.iteritems(path, depth),
+ interfaces)
except KeyError:
raise MapperNotFoundException(path)
OpenPOWER on IntegriCloud