diff options
author | Akilesh Kailash <akailash@google.com> | 2021-01-21 06:14:04 +0000 |
---|---|---|
committer | Akilesh Kailash <akailash@google.com> | 2021-01-21 06:27:55 +0000 |
commit | ae0783f4c7a9263450c2bc92b69583220f479753 (patch) | |
tree | 7c8fa2c8290a5dd2791edee3b88be7b11bc6239d /debuggerd/debuggerd_test.cpp | |
parent | 5e9fb35ba880cd0bba417b544e2564280c089a06 (diff) |
libsnapshot: Merge completion for sector 0
Snapuserd daemon parses the merge completion request based on
how the dm-snapshot merge is done. dm-snapshot marks the merge as
complete by zeroing out the metadata viz old-chunk and new-chunk id's.
If we have a sector 0 operation such as copy/replace op,
then old-chunk id will be 0 and new-chunk id will be a non-zero
pseudo number. Once the merge is complete, then old-chunk and new-chunk will be 0.
The problem is that daemon used to track the merge completion just by checking
if old-chunk was non-zero. This check is not sufficient and ends up
tripping the assert in the daemon.
Bug: 178061207
Test: Modify cow_snapuserd_test to test this case and validate the
IO path.
Reported-by: Kelvin Zhang <zhangkelvin@google.com>
Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I6603af1c7b55e487dc3aec0c30c0a9dea0fedb56
Diffstat (limited to 'debuggerd/debuggerd_test.cpp')
0 files changed, 0 insertions, 0 deletions