[sheepdog] [PATCH 7/7] sheep: fix SD_RES_OLD_NODE_VER handling in check_request_epoch
Liu Yuan
namei.unix at gmail.com
Fri Jun 1 09:15:43 CEST 2012
On 05/31/2012 05:48 PM, Christoph Hellwig wrote:
> /* ask gateway to retry. */
> req->rp.result = SD_RES_OLD_NODE_VER;
> req->rp.epoch = sys->epoch;
> - req->work.done(&req->work);
> + req_done(req);
> return -1;
> } else if (after(req->rq.epoch, sys->epoch)) {
> eprintf("new node version %u, %u, %x\n",
So for the gateway happens to be this local node, we response with
SD_RES_OLD_NODE_VER to upper layer? I don't think upper layer should
handle this error code, we need to call work.done() to queue the request
again and fix double deletion problem.
Thanks,
Yuan
More information about the sheepdog
mailing list