mirror of https://github.com/xqemu/xqemu.git
block/raw-posix: Make hdev_aio_discard() available outside Linux
Fixes the build on OpenBSD among others. Suggested-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Andreas Färber <andreas.faerber@web.de> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
c1db29199e
commit
c36dd8a09f
|
@ -1371,19 +1371,6 @@ static BlockDriverAIOCB *hdev_aio_ioctl(BlockDriverState *bs,
|
||||||
return thread_pool_submit_aio(aio_worker, acb, cb, opaque);
|
return thread_pool_submit_aio(aio_worker, acb, cb, opaque);
|
||||||
}
|
}
|
||||||
|
|
||||||
static coroutine_fn BlockDriverAIOCB *hdev_aio_discard(BlockDriverState *bs,
|
|
||||||
int64_t sector_num, int nb_sectors,
|
|
||||||
BlockDriverCompletionFunc *cb, void *opaque)
|
|
||||||
{
|
|
||||||
BDRVRawState *s = bs->opaque;
|
|
||||||
|
|
||||||
if (fd_open(bs) < 0) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return paio_submit(bs, s->fd, sector_num, NULL, nb_sectors,
|
|
||||||
cb, opaque, QEMU_AIO_DISCARD|QEMU_AIO_BLKDEV);
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||||
static int fd_open(BlockDriverState *bs)
|
static int fd_open(BlockDriverState *bs)
|
||||||
{
|
{
|
||||||
|
@ -1403,6 +1390,19 @@ static int fd_open(BlockDriverState *bs)
|
||||||
|
|
||||||
#endif /* !linux && !FreeBSD */
|
#endif /* !linux && !FreeBSD */
|
||||||
|
|
||||||
|
static coroutine_fn BlockDriverAIOCB *hdev_aio_discard(BlockDriverState *bs,
|
||||||
|
int64_t sector_num, int nb_sectors,
|
||||||
|
BlockDriverCompletionFunc *cb, void *opaque)
|
||||||
|
{
|
||||||
|
BDRVRawState *s = bs->opaque;
|
||||||
|
|
||||||
|
if (fd_open(bs) < 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return paio_submit(bs, s->fd, sector_num, NULL, nb_sectors,
|
||||||
|
cb, opaque, QEMU_AIO_DISCARD|QEMU_AIO_BLKDEV);
|
||||||
|
}
|
||||||
|
|
||||||
static int hdev_create(const char *filename, QEMUOptionParameter *options)
|
static int hdev_create(const char *filename, QEMUOptionParameter *options)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
Loading…
Reference in New Issue