def METHOD_NAME(self, name, size, nodes=None):
    mappings = self.get_mappings(nodes)
    if not mappings:
        raise ex.Error("refuse to create a disk with no mappings")
    lock_id = None
    try:
        lock_id = self.node._daemon_lock(LOCK_NAME, timeout=120, on_error="raise")
        self.log.info("lock acquired: name=%s id=%s", LOCK_NAME, lock_id)
        result = self.array.add_disk(name=name, size=size,
                                     srp=self.srp,
                                     srdf=self.srdf,
                                     rdfg=self.rdfg,
                                     mappings=mappings)
    finally:
        self.node._daemon_unlock(LOCK_NAME, lock_id)
        self.log.info("lock released: name=%s id=%s", LOCK_NAME, lock_id)
    return result