Commit 94d6351e authored by Milan Broz's avatar Milan Broz Committed by Alasdair G Kergon
Browse files

dm: split dm_suspend io_lock hold into two

Change io_locking to allow processing flush in separate thread.

Because we have DMF_BLOCK_IO already set, any possible
new ios are queued in dm_requests now.

In the case of interrupting previous wait there can be more
ios queued (we unlocked io_lock for a while) but this is safe.
Signed-off-by: default avatarMilan Broz <>
Signed-off-by: default avatarAlasdair G Kergon <>
parent 73d410c0
......@@ -1434,9 +1434,11 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
if (noflush)
/* were we interrupted ? */
if (pending) {
......@@ -1444,7 +1446,6 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
r = -EINTR;
goto out; /* pushback list is already flushed, so skip flush */
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment