def METHOD_NAME(test, params, session, fs_dest, fs_source):
    """
    Virtio_fs basic io test. Create file on guest and then compare two md5
    values from guest and host.
    :param test: QEMU test object
    :param params: Dictionary with the test parameters
    :param session: the session from guest
    :param fs_dest: the destination path at guest
    :param fs_source: the component of path at host
    """
    error_context.context("Running viofs basic io test", LOG_JOB.info)
    test_file = params.get('virtio_fs_test_file', "virtio_fs_test_file")
    windows = params.get("os_type", "windows") == "windows"
    io_timeout = params.get_numeric("fs_io_timeout", 120)
    fs_target = params.get("fs_target")
    base_dir = params.get("fs_source_base_dir", data_dir.get_data_dir())
    if not os.path.isabs(fs_source):
        fs_source = os.path.join(base_dir, fs_source)
    host_data = os.path.join(fs_source, test_file)
    try:
        if windows:
            cmd_dd = params.get("virtio_fs_cmd_dd",
                                'dd if=/dev/random of=%s bs=1M count=100')
            driver_letter = virtio_fs_utils.get_virtiofs_driver_letter(test,
                                                                       fs_target,
                                                                       session)
            # replace the value if platform is windows
            fs_dest = "%s:" % driver_letter
        else:
            cmd_dd = params.get("virtio_fs_cmd_dd",
                                'dd if=/dev/urandom of=%s bs=1M '
                                'count=100 iflag=fullblock')
        guest_file = os.path.join(fs_dest, test_file)
        error_context.context("The guest file in shared dir is %s" %
                              guest_file, LOG_JOB.info)
        error_context.context("Creating file under %s inside guest." %
                              fs_dest, LOG_JOB.info)
        session.cmd(cmd_dd % guest_file, io_timeout)
        if windows:
            guest_file_win = guest_file.replace("/", "\\")
            cmd_md5 = params.get("cmd_md5", '%s: && md5sum.exe %s')
            cmd_md5_vm = cmd_md5 % (driver_letter, guest_file_win)
        else:
            cmd_md5 = params.get("cmd_md5", 'md5sum %s')
            cmd_md5_vm = cmd_md5 % guest_file
        md5_guest = session.cmd_output(cmd_md5_vm,
                                       io_timeout).strip().split()[0]
        error_context.context("md5 of the guest file: %s" % md5_guest,
                              LOG_JOB.info)
        md5_host = process.run("md5sum %s" % host_data,
                               io_timeout).stdout_text.strip().split()[0]
        error_context.context("md5 of the host file: %s" % md5_host,
                              LOG_JOB.info)
        if md5_guest != md5_host:
            test.fail('The md5 value of host is not same to guest.')
        else:
            error_context.context("The md5 of host is as same as md5 of "
                                  "guest.", LOG_JOB.info)
    finally:
        if not windows:
            session.cmd("rm -rf %s" % guest_file)
    virtio_fs_utils.create_sub_folder_test(params, session, fs_dest,
                                           fs_source)