block.c (94d6ff21f48c8c98e6e9eef58cc6f6346c9dd851) block.c (d5ef94d43da8c57a2d597efbdec3d9a54d97fdf7)
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

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

3679 BlockDriverCompletionFunc *cb, void *opaque)
3680{
3681 trace_bdrv_aio_writev(bs, sector_num, nb_sectors, opaque);
3682
3683 return bdrv_co_aio_rw_vector(bs, sector_num, qiov, nb_sectors, 0,
3684 cb, opaque, true);
3685}
3686
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

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

3679 BlockDriverCompletionFunc *cb, void *opaque)
3680{
3681 trace_bdrv_aio_writev(bs, sector_num, nb_sectors, opaque);
3682
3683 return bdrv_co_aio_rw_vector(bs, sector_num, qiov, nb_sectors, 0,
3684 cb, opaque, true);
3685}
3686
3687BlockDriverAIOCB *bdrv_aio_write_zeroes(BlockDriverState *bs,
3688 int64_t sector_num, int nb_sectors, BdrvRequestFlags flags,
3689 BlockDriverCompletionFunc *cb, void *opaque)
3690{
3691 trace_bdrv_aio_write_zeroes(bs, sector_num, nb_sectors, flags, opaque);
3687
3692
3693 return bdrv_co_aio_rw_vector(bs, sector_num, NULL, nb_sectors,
3694 BDRV_REQ_ZERO_WRITE | flags,
3695 cb, opaque, true);
3696}
3697
3698
3688typedef struct MultiwriteCB {
3689 int error;
3690 int num_requests;
3691 int num_callbacks;
3692 struct {
3693 BlockDriverCompletionFunc *cb;
3694 void *opaque;
3695 QEMUIOVector *free_qiov;

--- 1178 unchanged lines hidden ---
3699typedef struct MultiwriteCB {
3700 int error;
3701 int num_requests;
3702 int num_callbacks;
3703 struct {
3704 BlockDriverCompletionFunc *cb;
3705 void *opaque;
3706 QEMUIOVector *free_qiov;

--- 1178 unchanged lines hidden ---