]> Git Repo - qemu.git/commit
sheepdog: serialize requests to overwrapping area
authorHitoshi Mitake <[email protected]>
Fri, 17 Jul 2015 16:44:24 +0000 (01:44 +0900)
committerJeff Cody <[email protected]>
Tue, 28 Jul 2015 04:16:57 +0000 (00:16 -0400)
commit6a55c82cece217ab99ed95a412fa7ddf5d5f257b
tree8869b66bc648c170c22adb1323bb7fe31b7d5697
parentf8787f8723eaca1be99e3b1873e54de163fffa93
sheepdog: serialize requests to overwrapping area

Current sheepdog driver only serializes create requests in oid
unit. This mechanism isn't enough for handling requests to
overwrapping area spanning multiple oids, so it can result bugs like
below:
https://bugs.launchpad.net/sheepdog-project/+bug/1456421

This patch adds a new serialization mechanism for the problem. The
difference from the old one is:
1. serialize entire aiocb if their targetting areas overwrap
2. serialize all requests (read, write, and discard), not only creates

This patch also removes the old mechanism because the new one can be
an alternative.

Cc: Kevin Wolf <[email protected]>
Cc: Stefan Hajnoczi <[email protected]>
Cc: Teruaki Ishizaki <[email protected]>
Cc: Vasiliy Tolstov <[email protected]>
Signed-off-by: Hitoshi Mitake <[email protected]>
Tested-by: Vasiliy Tolstov <[email protected]>
Signed-off-by: Jeff Cody <[email protected]>
block/sheepdog.c
This page took 0.026793 seconds and 4 git commands to generate.