Patchwork [for-1.4] block/raw-posix: Make hdev_aio_discard() available outside Linux

login
register
mail settings
Submitter Andreas Färber
Date Jan. 18, 2013, 3:43 p.m.
Message ID <1358523815-24212-1-git-send-email-andreas.faerber@web.de>
Download mbox | patch
Permalink /patch/213645/
State New
Headers show

Comments

Andreas Färber - Jan. 18, 2013, 3:43 p.m.
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>
---
 block/raw-posix.c |   26 +++++++++++++-------------
 1 Datei geändert, 13 Zeilen hinzugefügt(+), 13 Zeilen entfernt(-)
Blue Swirl - Jan. 19, 2013, 4:31 p.m.
Thanks, applied.

I must have deleted this by accident.

On Fri, Jan 18, 2013 at 3:43 PM, Andreas Färber <andreas.faerber@web.de>wrote:

> 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>
> ---
>  block/raw-posix.c |   26 +++++++++++++-------------
>  1 Datei geändert, 13 Zeilen hinzugefügt(+), 13 Zeilen entfernt(-)
>
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index 679fcc5..657af95 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -1371,19 +1371,6 @@ static BlockDriverAIOCB
> *hdev_aio_ioctl(BlockDriverState *bs,
>      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__)
>  static int fd_open(BlockDriverState *bs)
>  {
> @@ -1403,6 +1390,19 @@ static int fd_open(BlockDriverState *bs)
>
>  #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)
>  {
>      int fd;
> --
> 1.7.10.4
>
>
>

Patch

diff --git a/block/raw-posix.c b/block/raw-posix.c
index 679fcc5..657af95 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -1371,19 +1371,6 @@  static BlockDriverAIOCB *hdev_aio_ioctl(BlockDriverState *bs,
     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__)
 static int fd_open(BlockDriverState *bs)
 {
@@ -1403,6 +1390,19 @@  static int fd_open(BlockDriverState *bs)
 
 #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)
 {
     int fd;