aboutsummaryrefslogtreecommitdiff
path: root/block/rbd.c
diff options
context:
space:
mode:
authorStefan Priebe <s.priebe@profihost.ag>2012-11-20 13:44:55 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2012-11-21 09:43:23 +0100
commit08448d5195aeff49bf25fb62b4a6218f079f5284 (patch)
tree29dcd1c0312c85e3728fdeef5cd8e42f7772de3d /block/rbd.c
parent8ba2aae32c40f544def6be7ae82be9bcb781e01d (diff)
use int64_t for return values from rbd instead of int
rbd / rados tends to return pretty often length of writes or discarded blocks. These values might be bigger than int. The steps to reproduce are: mkfs.xfs -f a whole device bigger than int in bytes. mkfs.xfs sends a discard. Important is that you use scsi-hd and set discard_granularity=512. Otherwise rbd disabled discard support. Signed-off-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block/rbd.c')
-rw-r--r--block/rbd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/rbd.c b/block/rbd.c
index 0aaacaf859..f3becc7a8b 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -69,7 +69,7 @@ typedef enum {
typedef struct RBDAIOCB {
BlockDriverAIOCB common;
QEMUBH *bh;
- int ret;
+ int64_t ret;
QEMUIOVector *qiov;
char *bounce;
RBDAIOCmd cmd;
@@ -86,7 +86,7 @@ typedef struct RADOSCB {
int done;
int64_t size;
char *buf;
- int ret;
+ int64_t ret;
} RADOSCB;
#define RBD_FD_READ 0