summary refs log tree commit diff stats
path: root/include
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2018-04-13 17:31:56 +0300
committerEric Blake <eblake@redhat.com>2018-06-21 09:41:39 -0500
commitbc37b06a5cde24fb24c2a2cc44dd86756034ba9d (patch)
tree9d3f3a1819a76c79d048858072ab3d0ce66be975 /include
parent3229a835a3c574a8ebc605e007785c4e01c61623 (diff)
downloadfocaccia-qemu-bc37b06a5cde24fb24c2a2cc44dd86756034ba9d.tar.gz
focaccia-qemu-bc37b06a5cde24fb24c2a2cc44dd86756034ba9d.zip
nbd/server: introduce NBD_CMD_CACHE
Handle nbd CACHE command. Just do read, without sending read data back.
Cache mechanism should be done by exported node driver chain.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20180413143156.11409-1-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
[eblake: fix two missing case labels in switch statements]
Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/block/nbd.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/block/nbd.h b/include/block/nbd.h
index 8bb9606c39..daaeae61bf 100644
--- a/include/block/nbd.h
+++ b/include/block/nbd.h
@@ -135,6 +135,7 @@ typedef struct NBDExtent {
 #define NBD_FLAG_SEND_TRIM         (1 << 5) /* Send TRIM (discard) */
 #define NBD_FLAG_SEND_WRITE_ZEROES (1 << 6) /* Send WRITE_ZEROES */
 #define NBD_FLAG_SEND_DF           (1 << 7) /* Send DF (Do not Fragment) */
+#define NBD_FLAG_SEND_CACHE        (1 << 8) /* Send CACHE (prefetch) */
 
 /* New-style handshake (global) flags, sent from server to client, and
    control what will happen during handshake phase. */
@@ -195,7 +196,7 @@ enum {
     NBD_CMD_DISC = 2,
     NBD_CMD_FLUSH = 3,
     NBD_CMD_TRIM = 4,
-    /* 5 reserved for failed experiment NBD_CMD_CACHE */
+    NBD_CMD_CACHE = 5,
     NBD_CMD_WRITE_ZEROES = 6,
     NBD_CMD_BLOCK_STATUS = 7,
 };