Sage Weil a410702697 libceph: (re)initialize bio_iter on start of message receive
Previously, we were opportunistically initializing the bio_iter if it
appeared to be uninitialized in the middle of the read path.  The problem
is that a sequence like:

 - start reading message
 - initialize bio_iter
 - read half a message
 - messenger fault, reconnect
 - restart reading message
 - ** bio_iter now non-NULL, not reinitialized **
 - read past end of bio, crash

Instead, initialize the bio_iter unconditionally when we allocate/claim
the message for read.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2012-07-30 18:15:31 -07:00
..
2012-04-16 21:08:18 +02:00
2012-04-25 19:47:17 -04:00
2012-05-17 04:50:21 -04:00
2012-04-15 12:44:40 -04:00
2012-05-17 18:45:20 -04:00
2012-05-17 04:50:21 -04:00
2012-05-27 01:11:22 -04:00
2010-10-15 15:53:27 +02:00