<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __unionfs_set_up(ro_dir, rw_dir, mount_dir):
 """ Setup a unionfs via unionfs-fuse. Args: ro_base: base_directory of the project rw_image: virtual image of actual file system mountpoint: location where ro_base and rw_image merge """

    mount_dir.mkdir()
    rw_dir.mkdir()
    if not ro_dir.exists():
        LOG.error("Base dir does not exist: '%s'", ro_dir)
        raise ValueError("Base directory does not exist")

    from benchbuild.utils.cmd import unionfs as unionfs_cmd
    LOG.debug("Mounting UnionFS on %s with RO:%s RW:%s", mount_dir, ro_dir,
              rw_dir)
    return unionfs_cmd["-f", "-o", "auto_unmount,allow_other,cow", rw_dir +
                       "=RW:" + ro_dir + "=RO", mount_dir]