|
From: | Stefan Priebe |
Subject: | Re: [Qemu-devel] [PATCH] use int64_t for return values from rbd instead of int |
Date: | Tue, 20 Nov 2012 20:16:35 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 |
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 <address@hidden> --- 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
[Prev in Thread] | Current Thread | [Next in Thread] |