Commit a9c0fda4 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Mike Snitzer

dm integrity: don't re-write metadata if discarding same blocks

If we discard already discarded blocks we do not need to write discard
pattern to the metadata, because it is already there.
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent f99a8e43
...@@ -1429,8 +1429,10 @@ static int dm_integrity_rw_tag(struct dm_integrity_c *ic, unsigned char *tag, se ...@@ -1429,8 +1429,10 @@ static int dm_integrity_rw_tag(struct dm_integrity_c *ic, unsigned char *tag, se
if (op == TAG_READ) { if (op == TAG_READ) {
memcpy(tag, dp, to_copy); memcpy(tag, dp, to_copy);
} else if (op == TAG_WRITE) { } else if (op == TAG_WRITE) {
memcpy(dp, tag, to_copy); if (memcmp(dp, tag, to_copy)) {
dm_bufio_mark_partial_buffer_dirty(b, *metadata_offset, *metadata_offset + to_copy); memcpy(dp, tag, to_copy);
dm_bufio_mark_partial_buffer_dirty(b, *metadata_offset, *metadata_offset + to_copy);
}
} else { } else {
/* e.g.: op == TAG_CMP */ /* e.g.: op == TAG_CMP */
......
Markdown is supported
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