blkreplay.c (880953493386a69416d2e1cdc063c670585a03ac) blkreplay.c (9a5a1c621ed72161abcf461d46c7b7b7f97938bf)
1/*
2 * Block protocol for record/replay
3 *
4 * Copyright (c) 2010-2016 Institute for System Programming
5 * of the Russian Academy of Sciences.
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2 or later.
8 * See the COPYING file in the top-level directory.

--- 88 unchanged lines hidden (view full) ---

97 uint64_t reqid = blkreplay_next_id();
98 int ret = bdrv_co_pwrite_zeroes(bs->file, offset, bytes, flags);
99 block_request_create(reqid, bs, qemu_coroutine_self());
100 qemu_coroutine_yield();
101
102 return ret;
103}
104
1/*
2 * Block protocol for record/replay
3 *
4 * Copyright (c) 2010-2016 Institute for System Programming
5 * of the Russian Academy of Sciences.
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2 or later.
8 * See the COPYING file in the top-level directory.

--- 88 unchanged lines hidden (view full) ---

97 uint64_t reqid = blkreplay_next_id();
98 int ret = bdrv_co_pwrite_zeroes(bs->file, offset, bytes, flags);
99 block_request_create(reqid, bs, qemu_coroutine_self());
100 qemu_coroutine_yield();
101
102 return ret;
103}
104
105static int coroutine_fn blkreplay_co_pdiscard(BlockDriverState *bs,
106 int64_t offset, int64_t bytes)
105static int coroutine_fn GRAPH_RDLOCK
106blkreplay_co_pdiscard(BlockDriverState *bs, int64_t offset, int64_t bytes)
107{
108 uint64_t reqid = blkreplay_next_id();
109 int ret = bdrv_co_pdiscard(bs->file, offset, bytes);
110 block_request_create(reqid, bs, qemu_coroutine_self());
111 qemu_coroutine_yield();
112
113 return ret;
114}

--- 42 unchanged lines hidden ---
107{
108 uint64_t reqid = blkreplay_next_id();
109 int ret = bdrv_co_pdiscard(bs->file, offset, bytes);
110 block_request_create(reqid, bs, qemu_coroutine_self());
111 qemu_coroutine_yield();
112
113 return ret;
114}

--- 42 unchanged lines hidden ---