]> git.proxmox.com Git - mirror_qemu.git/commitdiff
block/iscsi: use the allocationmap also if cache.direct=on
authorPeter Lieven <pl@kamp.de>
Thu, 16 Apr 2015 14:08:33 +0000 (16:08 +0200)
committerKevin Wolf <kwolf@redhat.com>
Tue, 28 Apr 2015 13:36:10 +0000 (15:36 +0200)
the allocationmap has only a hint character. The driver always
double checks that blocks marked unallocated in the cache are
still unallocated before taking the fast path and return zeroes.
So using the allocationmap is migration safe and can
also be enabled with cache.direct=on.

Signed-off-by: Peter Lieven <pl@kamp.de>
Message-id: 1429193313-4263-10-git-send-email-pl@kamp.de
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/iscsi.c

index 8364f975baa0bb3d5f031e3ec063beb7c4088363..8fca1d32cb03fd98c0512fad8ad38f5e26105bed 100644 (file)
@@ -1499,7 +1499,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
         iscsilun->bl.opt_unmap_gran * iscsilun->block_size <= 16 * 1024 * 1024) {
         iscsilun->cluster_sectors = (iscsilun->bl.opt_unmap_gran *
                                      iscsilun->block_size) >> BDRV_SECTOR_BITS;
-        if (iscsilun->lbprz && !(bs->open_flags & BDRV_O_NOCACHE)) {
+        if (iscsilun->lbprz) {
             iscsilun->allocationmap = iscsi_allocationmap_init(iscsilun);
             if (iscsilun->allocationmap == NULL) {
                 ret = -ENOMEM;