OSDN Git Service

sheepdog: check simultaneous create in resend_aioreq
authorMORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Thu, 24 Oct 2013 07:01:18 +0000 (16:01 +0900)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 Oct 2013 11:22:24 +0000 (12:22 +0100)
commit80308d33ec70834a80351a79eba106049b44a366
treec0e160b7f54e62d638dc63b63b919f15c4806f3a
parent35200687a1e04a79b0345be476185dc23d1604fb
sheepdog: check simultaneous create in resend_aioreq

After reconnection happens, all the inflight requests are moved to the
failed request list.  As a result, sd_co_rw_vector() can send another
create request before resend_aioreq() resends a create request from
the failed list.

This patch adds a helper function check_simultaneous_create() and
checks simultaneous create requests more strictly in resend_aioreq().

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Tested-by: Liu Yuan <namei.unix@gmail.com>
Reviewed-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/sheepdog.c