':param bytes root_path: The path to a directory in which loop back
backing files will be created.  The directory is created if it does
not already exist.
:param compute_instance_id: See ``__init__``.  Additionally, if not
given, a new random id will be generated.
:param int allocation_unit: The size (in bytes) that will be
reported by ``allocation_unit``. Default is ``1``.
:returns: A ``LoopbackBlockDeviceAPI`` with the supplied ``root_path``.'

@classmethod
def from_path(cls, root_path=DEFAULT_LOOPBACK_PATH, compute_instance_id=None, allocation_unit=None):

    if (compute_instance_id is None):
        compute_instance_id = unicode(uuid4())
    api = cls(root_path=FilePath(root_path), compute_instance_id=compute_instance_id, allocation_unit=allocation_unit)
    api._initialise_directories()
    return api
