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: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
f99a8e4373
commit
a9c0fda4c0
@ -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 */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user