think about this scenario, when read/write socket more than one time in every call read_net_io/write_to_net_io.
Assigning to John for review.
My critique regarding this patch is only formatting, as I have no idea what the problem is, or what the patch solves:
This patch uses tabs instead of spaces, and at times a mix of both
Remember i have discussed with weijin, these functions have no problem, we can close this issue, and do nothing. Of course, these functions maybe contain some nonsense lines, like the codes processing "lock.m.m_ptr != s->vio.mutex.m_ptr".