qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCHv3 04/10] iscsi: add .bdrv_write_zeroes


From: Peter Lieven
Subject: [Qemu-devel] [PATCHv3 04/10] iscsi: add .bdrv_write_zeroes
Date: Thu, 11 Jul 2013 14:16:21 +0200

Signed-off-by: Peter Lieven <address@hidden>
---
 block/iscsi.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/block/iscsi.c b/block/iscsi.c
index 60f2fd0..64554bc 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -906,6 +906,21 @@ retry:
     return 0;
 }
 
+static int
+coroutine_fn iscsi_co_write_zeroes(BlockDriverState *bs, int64_t sector_num,
+                                   int nb_sectors)
+{
+    IscsiLun *iscsilun = bs->opaque;
+
+    if (!iscsilun->lbprz || !iscsilun->lbpu ||
+        !(bs->open_flags & BDRV_O_UNMAP)) {
+        /* fall back to writev */
+        return -ENOTSUP;
+    }
+
+    return iscsi_co_discard(bs, sector_num, nb_sectors);
+}
+
 static int parse_chap(struct iscsi_context *iscsi, const char *target)
 {
     QemuOptsList *list;
@@ -1452,6 +1467,7 @@ static BlockDriver bdrv_iscsi = {
 
     .bdrv_co_is_allocated = iscsi_co_is_allocated,
     .bdrv_co_discard      = iscsi_co_discard,
+    .bdrv_co_write_zeroes = iscsi_co_write_zeroes,
 
     .bdrv_aio_readv  = iscsi_aio_readv,
     .bdrv_aio_writev = iscsi_aio_writev,
-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]