[pve-devel] [Qemu-devel] [PATCH] use int64_t for return values from rbd instead of int
Stefan Priebe
s.priebe at profihost.ag
Tue Nov 20 20:16:35 CET 2012
Hi Stefan,
Am 20.11.2012 17:29, schrieb Stefan Hajnoczi:
> On Tue, Nov 20, 2012 at 01:44:55PM +0100, Stefan Priebe wrote:
>> rbd / rados tends to return pretty often length of writes
>> or discarded blocks. These values might be bigger than int.
>>
>> Signed-off-by: Stefan Priebe <s.priebe at profihost.ag>
>> ---
>> block/rbd.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Looks good but I want to check whether this fixes an bug you've hit?
> Please indicate details of the bug and how to reproduce it in the commit
> message.
you get various I/O errors in client. As negative return values indicate
I/O errors. When now a big positive value is returned by librbd
block/rbd tries to store this one in acb->ret which is an int. Then it
wraps around and is negative. After that block/rbd thinks this is an I/O
error and report this to the guest.
Stefan
More information about the pve-devel
mailing list