Exemple #1
0
def check_md5_sums(core: Core, mode: CacheMode):
    if mode.lazy_write():
        assert core.device.md5() != core.get_front_volume().md5(), \
            "MD5 check: core device vs exported object without flush"
        core.cache.flush()
        assert core.device.md5() == core.get_front_volume().md5(), \
            "MD5 check: core device vs exported object after flush"
    else:
        assert core.device.md5() == core.get_front_volume().md5(), \
            "MD5 check: core device vs exported object"
Exemple #2
0
def send_io(core: Core, data: Data, addr: int = 0, target_ioclass: int = 0):
    vol = core.get_front_volume()
    io = vol.new_io(
        core.cache.get_default_queue(),
        addr,
        data.size,
        IoDir.WRITE,
        target_ioclass,
        0,
    )

    io.set_data(data)

    completion = OcfCompletion([("err", c_int)])
    io.callback = completion.callback
    io.submit()
    completion.wait()

    assert completion.results["err"] == 0, "IO to exported object completion"