[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

nbd: double reply err, how can nbd handle tag change after interrupt?



Hi,
Recently I find the nbd module of my server complains aboult "Double
reply" error when using rbd-nbd. With more investigation, I find every
time the error occurs nbd module is returning STS_RESOURCE to block
layer due to EINTR in sock_sendmsg. When the block layer get a
STS_RESOURCE ret value, it will free the tag of the request and
reallocate a new tag next time the request is being processed.
However, when the request is being interrupted, nbd module may have
sent the nbd header of that request to nbd server, so it is possible
that the tag of the request that nbd server gets is different with the
new tag in nbd module for the same request. I don't find any patch for
this in mainline. I'm not sure if my analisis is right, hope anyone
can help to explain. Thank you in advance.
Best regards.
Xinying Song


Reply to: