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.pri...@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

Reply via email to