diff options
author | Mike Snitzer <snitzer@redhat.com> | 2017-06-20 19:14:30 -0400 |
---|---|---|
committer | Sasha Levin <alexander.levin@microsoft.com> | 2018-03-20 23:49:49 -0400 |
commit | f3c22cc3eaf1534d0aa8ec2ed8d3ddde413930ae (patch) | |
tree | b3ffe0a4d81d2e07a903e187ac798de5ea48a998 /fs | |
parent | b434e837642049c96cf56c730279f410d520b33b (diff) |
dm io: fix duplicate bio completion due to missing ref count
[ Upstream commit feb7695fe9fb83084aa29de0094774f4c9d4c9fc ]
If only a subset of the devices associated with multiple regions support
a given special operation (eg. DISCARD) then the dec_count() that is
used to set error for the region must increment the io->count.
Otherwise, when the dec_count() is called it can cause the dm-io
caller's bio to be completed multiple times. As was reported against
the dm-mirror target that had mirror legs with a mix of discard
capabilities.
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=196077
Reported-by: Zhang Yi <yizhan@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions