Re: [gentoo-dev] dm-crypt reordering BIOs across barriers?

2013-06-08 Thread Sergei Trofimovich
On Fri, 07 Jun 2013 23:47:33 -0400
Richard Yao r...@gentoo.org wrote:

 When you use dm-crypt, block IO requests to a dm-* device will invoke
 dm_request_fn() - map_request() - crypt_map(). If a BIO is a write
 barrier, crypt_map() will return DM_MAPIO_REMAPPED to map_request(),
 which will immediately queue it to the device.
 
 If a few dozen IOs are queued in rapid succession with multiple write
 barriers, all write barriers will be executed before any actual write
 BIOs occur because the write IOs will be processed asynchronously in a
 work queue. Since the barriers will be long gone by the time the write
 IOs are queued, they can be queued in any order.
 
 Am I misunderstanding this or is dm-crypt ignoring proper write barrier
 semantics?
 
http://www.saout.de/pipermail/dm-crypt/2012-April/002441.html
http://lwn.net/Articles/400541/

-- 

  Sergei


signature.asc
Description: PGP signature


Re: [gentoo-dev] dm-crypt reordering BIOs across barriers?

2013-06-08 Thread Richard Yao
On 06/08/2013 02:11 AM, Sergei Trofimovich wrote:
 On Fri, 07 Jun 2013 23:47:33 -0400
 Richard Yao r...@gentoo.org wrote:
 
 When you use dm-crypt, block IO requests to a dm-* device will invoke
 dm_request_fn() - map_request() - crypt_map(). If a BIO is a write
 barrier, crypt_map() will return DM_MAPIO_REMAPPED to map_request(),
 which will immediately queue it to the device.

 If a few dozen IOs are queued in rapid succession with multiple write
 barriers, all write barriers will be executed before any actual write
 BIOs occur because the write IOs will be processed asynchronously in a
 work queue. Since the barriers will be long gone by the time the write
 IOs are queued, they can be queued in any order.

 Am I misunderstanding this or is dm-crypt ignoring proper write barrier
 semantics?

 http://www.saout.de/pipermail/dm-crypt/2012-April/002441.html
 http://lwn.net/Articles/400541/
 

It might be worth stating that I thought flush was a synonym for
barrier. It still looks like there is an issue, despite my incorrect
terminology.



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] dm-crypt reordering BIOs across barriers?

2013-06-07 Thread Richard Yao
When you use dm-crypt, block IO requests to a dm-* device will invoke
dm_request_fn() - map_request() - crypt_map(). If a BIO is a write
barrier, crypt_map() will return DM_MAPIO_REMAPPED to map_request(),
which will immediately queue it to the device.

If a few dozen IOs are queued in rapid succession with multiple write
barriers, all write barriers will be executed before any actual write
BIOs occur because the write IOs will be processed asynchronously in a
work queue. Since the barriers will be long gone by the time the write
IOs are queued, they can be queued in any order.

Am I misunderstanding this or is dm-crypt ignoring proper write barrier
semantics?



signature.asc
Description: OpenPGP digital signature