def get_storage_users(storage_path):
    """Get a list of all the users of this storage path."""

    # See comments above method register_storage_use

    LOCK_PATH = os.path.join(CONF.instances_path, 'locks')

    @utils.synchronized('storage-registry-lock', external=True,
                        lock_path=LOCK_PATH)
    def do_get_storage_users(storage_path):
        d = {}
        id_path = os.path.join(storage_path, 'compute_nodes')
        if os.path.exists(id_path):
            with open(id_path) as f:
                try:
                    d = jsonutils.loads(f.read())
                except __HOLE__:
                    LOG.warning(_LW("Cannot decode JSON from %(id_path)s"),
                                {"id_path": id_path})

        recent_users = []
        for node in d:
            if time.time() - d[node] < TWENTY_FOUR_HOURS:
                recent_users.append(node)

        return recent_users

    return do_get_storage_users(storage_path)
dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/virt/storage_users.py/get_storage_users