On 02/20/2016 02:21 PM, Ilya Dryomov wrote: >> > So... There are two places in try_read_message() where >> > incoming messages should be discarded, and they represent: >> > receipt of a duplicate (re-sent) message; receipt of an >> > unexpected message type; receipt of a response message >> > that was not expected; or receipt of a response that was >> > too large for the buffer that had been allocated to hold it. > Just a note: it's less about the preallocated buffer being too small > part (in theory we could allocate everything in alloc_msg(), although > that would be stupid) and more about the "no outstanding request is > waiting for that response" part. Stray and/or duplicate replies from > the OSDs are expected in various cases. Agreed. That one case (buffer too large) is anomalous. But the code *does* say "skip the message" in that case, which is why I mentioned it. Like I said before, when it's been a while since I've reviewed code I need to go immerse myself in it for a little while. And while I'm at it, I figure I might as well explain it all for the benefit of other people. This is especially true for these tiny patches--sometimes the smaller the patch, the bigger the context needed to understand why it fixes a problem. -Alex -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html