[sheepdog] [RFC PATCH] object cache: revert object_cache_pull() to older version

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Mon Jun 4 11:31:04 CEST 2012


At Mon, 04 Jun 2012 16:59:11 +0800,
Liu Yuan wrote:
> 
> On 06/04/2012 04:53 PM, MORITA Kazutaka wrote:
> 
> > One possibility is that if forward_write_obj_req() fails before
> > receiving data, the next forward_(read|write)_obj_req() could be
> > interleaved.
> > 
> > The below untested patch may fix the problem though the approach is a
> > poor way.
> 
> 
> Well, from the log:
> 
> Jun 04 10:16:37 do_gateway_request(288) 2, 80d6d76e00000000 , 1
> Jun 04 10:16:37 do_gateway_request(308) failed: 2, 80d6d76e00000000 , 1,
> 54014b01

Is there no forward_write_obj error before this line?  If so, I also
have no idea how this happens.

> 
> It is a read request, which is supposed to be handled to object cache
> layer, and should object_cache_pull(), then calls
> forward_read_obj_req(), which failed (maybe this is why we didn't get
> any log about it). Note, there were two requests to 80d6d76e00000000
> meanwhile.

I guess we should add more eprintf in error paths to know where I/O
errors exactly happens.

Thanks,

Kazutaka



More information about the sheepdog mailing list