1 |
When you use dm-crypt, block IO requests to a dm-* device will invoke |
2 |
dm_request_fn() -> map_request() -> crypt_map(). If a BIO is a write |
3 |
barrier, crypt_map() will return DM_MAPIO_REMAPPED to map_request(), |
4 |
which will immediately queue it to the device. |
5 |
|
6 |
If a few dozen IOs are queued in rapid succession with multiple write |
7 |
barriers, all write barriers will be executed before any actual write |
8 |
BIOs occur because the write IOs will be processed asynchronously in a |
9 |
work queue. Since the barriers will be long gone by the time the write |
10 |
IOs are queued, they can be queued in any order. |
11 |
|
12 |
Am I misunderstanding this or is dm-crypt ignoring proper write barrier |
13 |
semantics? |