diff options
author | Stefan Priebe <s.priebe@profihost.ag> | 2012-11-20 13:44:55 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2012-11-21 09:43:23 +0100 |
commit | 08448d5195aeff49bf25fb62b4a6218f079f5284 (patch) | |
tree | 29dcd1c0312c85e3728fdeef5cd8e42f7772de3d /block | |
parent | 8ba2aae32c40f544def6be7ae82be9bcb781e01d (diff) | |
download | hqemu-08448d5195aeff49bf25fb62b4a6218f079f5284.zip hqemu-08448d5195aeff49bf25fb62b4a6218f079f5284.tar.gz |
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')
-rw-r--r-- | block/rbd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/rbd.c b/block/rbd.c index 0aaacaf..f3becc7 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 |