From: Peter Lieven <pl@kamp.de>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, pbonzini@redhat.com, Peter Lieven <pl@kamp.de>,
ronniesahlberg@gmail.com, stefanha@redhat.com
Subject: [Qemu-devel] [PATCH 2/4] iscsi: add .bdrv_get_info
Date: Mon, 15 Jul 2013 12:49:33 +0200 [thread overview]
Message-ID: <1373885375-13601-3-git-send-email-pl@kamp.de> (raw)
In-Reply-To: <1373885375-13601-1-git-send-email-pl@kamp.de>
this is used to reveal max_unmap and discard_zeroes capabilities.
Signed-off-by: Peter Lieven <pl@kamp.de>
---
block/iscsi.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index 2b8fab9..74a35b9 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -927,6 +927,11 @@ retry:
return 0;
}
+static bool iscsi_discard_zeroes(IscsiLun *iscsilun)
+{
+ return iscsilun->lbprz && iscsilun->lbpu;
+}
+
static int
coroutine_fn iscsi_co_write_zeroes(BlockDriverState *bs, int64_t sector_num,
int nb_sectors)
@@ -937,8 +942,7 @@ coroutine_fn iscsi_co_write_zeroes(BlockDriverState *bs, int64_t sector_num,
return -EINVAL;
}
- if (!iscsilun->lbprz || !iscsilun->lbpu ||
- !(bs->open_flags & BDRV_O_UNMAP)) {
+ if (!iscsi_discard_zeroes(iscsilun) || !(bs->open_flags & BDRV_O_UNMAP)) {
/* fall back to writev */
return -ENOTSUP;
}
@@ -1468,6 +1472,16 @@ out:
return ret;
}
+static int iscsi_get_info(BlockDriverState *bs, BlockDriverInfo *bdi)
+{
+ IscsiLun *iscsilun = bs->opaque;
+
+ bdi->max_unmap = sector_lun2qemu(iscsilun->max_unmap, iscsilun);
+ bdi->discard_zeroes = iscsi_discard_zeroes(iscsilun);
+
+ return 0;
+}
+
static QEMUOptionParameter iscsi_create_options[] = {
{
.name = BLOCK_OPT_SIZE,
@@ -1488,6 +1502,7 @@ static BlockDriver bdrv_iscsi = {
.create_options = iscsi_create_options,
.bdrv_getlength = iscsi_getlength,
+ .bdrv_get_info = iscsi_get_info,
.bdrv_truncate = iscsi_truncate,
.bdrv_co_is_allocated = iscsi_co_is_allocated,
--
1.7.9.5
next prev parent reply other threads:[~2013-07-15 10:50 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-15 10:49 [Qemu-devel] [PATCH 0/4] qemu-img: conditionally discard target on convert Peter Lieven
2013-07-15 10:49 ` [Qemu-devel] [PATCH 1/4] block: add discard_zeroes and max_unmap to BlockDriverInfo Peter Lieven
2013-07-15 10:49 ` Peter Lieven [this message]
2013-07-15 10:49 ` [Qemu-devel] [PATCH 3/4] block/raw: add .bdrv_get_info Peter Lieven
2013-07-19 5:12 ` Stefan Hajnoczi
2013-07-15 10:49 ` [Qemu-devel] [PATCH 4/4] qemu-img: conditionally discard target on convert Peter Lieven
2013-07-17 8:46 ` Kevin Wolf
2013-07-17 9:58 ` Paolo Bonzini
2013-07-17 10:21 ` Peter Lieven
2013-07-17 10:27 ` Kevin Wolf
2013-07-17 10:31 ` Peter Lieven
2013-07-17 10:47 ` Paolo Bonzini
2013-07-17 14:19 ` Peter Lieven
2013-07-17 10:45 ` Paolo Bonzini
2013-07-17 14:21 ` Peter Lieven
2013-07-17 14:26 ` Paolo Bonzini
2013-07-17 10:25 ` Kevin Wolf
2013-07-17 15:54 ` ronnie sahlberg
2013-07-17 16:27 ` Paolo Bonzini
2013-07-17 16:31 ` ronnie sahlberg
2013-07-17 17:02 ` Peter Lieven
2013-07-17 17:04 ` Paolo Bonzini
2013-07-17 17:48 ` Peter Lieven
2013-07-17 20:00 ` Paolo Bonzini
2013-07-18 9:23 ` Kevin Wolf
2013-07-18 10:24 ` Paolo Bonzini
2013-07-18 10:42 ` Kevin Wolf
2013-07-18 10:44 ` Peter Lieven
2013-07-18 10:56 ` Paolo Bonzini
2013-07-18 11:04 ` Peter Lieven
2013-07-18 12:31 ` Paolo Bonzini
2013-07-18 13:29 ` Peter Lieven
2013-07-18 13:52 ` Paolo Bonzini
2013-07-18 14:09 ` Peter Lieven
2013-07-18 14:20 ` Paolo Bonzini
2013-07-18 14:32 ` Peter Lieven
2013-07-18 14:35 ` Paolo Bonzini
2013-07-18 18:43 ` Peter Lieven
2013-07-18 18:54 ` ronnie sahlberg
2013-07-18 19:28 ` Peter Lieven
2013-07-19 5:58 ` Paolo Bonzini
2013-07-19 6:08 ` Peter Lieven
2013-07-19 13:25 ` ronnie sahlberg
2013-07-19 13:49 ` Peter Lieven
2013-07-19 14:00 ` ronnie sahlberg
2013-07-19 14:02 ` Peter Lieven
2013-07-19 13:58 ` ronnie sahlberg
2013-07-18 13:55 ` ronnie sahlberg
2013-07-18 14:14 ` Paolo Bonzini
2013-09-12 8:52 ` Peter Lieven
2013-09-12 8:55 ` Paolo Bonzini
2013-09-12 9:03 ` Peter Lieven
2013-07-17 17:09 ` ronnie sahlberg
2013-07-18 9:21 ` Kevin Wolf
2013-07-17 10:22 ` Peter Lieven
2013-07-16 10:55 ` [Qemu-devel] [PATCH 0/4] " Paolo Bonzini
2013-07-16 11:18 ` Peter Lieven
2013-07-16 11:27 ` Paolo Bonzini
2013-07-16 11:40 ` Peter Lieven
2013-07-16 11:55 ` Paolo Bonzini
2013-07-17 10:23 ` Peter Lieven
2013-07-17 10:28 ` Paolo Bonzini
2013-07-17 10:40 ` Peter Lieven
2013-07-17 10:50 ` Paolo Bonzini
2013-07-17 14:18 ` Peter Lieven
2013-07-17 14:26 ` Paolo Bonzini
2013-07-17 14:46 ` Peter Lieven
2013-07-17 14:53 ` Paolo Bonzini
2013-07-17 15:12 ` Kevin Wolf
2013-07-17 16:53 ` Peter Lieven
2013-07-17 17:01 ` Peter Lieven
2013-07-19 5:13 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1373885375-13601-3-git-send-email-pl@kamp.de \
--to=pl@kamp.de \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ronniesahlberg@gmail.com \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).