projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f99a8e4
)
dm integrity: don't re-write metadata if discarding same blocks
author
Mikulas Patocka
<mpatocka@redhat.com>
Tue, 27 Apr 2021 15:57:06 +0000
(11:57 -0400)
committer
Mike Snitzer
<snitzer@redhat.com>
Fri, 30 Apr 2021 18:01:39 +0000
(14:01 -0400)
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>
drivers/md/dm-integrity.c
patch
|
blob
|
history
diff --git
a/drivers/md/dm-integrity.c
b/drivers/md/dm-integrity.c
index 6977422454a49d6b6054e9e5ccbea7eba9a0b460..3b54b7f8c9b9bed21542a32559d6e807cfb26b1e 100644
(file)
--- a/
drivers/md/dm-integrity.c
+++ b/
drivers/md/dm-integrity.c
@@
-1429,8
+1429,10
@@
static int dm_integrity_rw_tag(struct dm_integrity_c *ic, unsigned char *tag, se
if (op == TAG_READ) {
memcpy(tag, dp, to_copy);
} else if (op == TAG_WRITE) {
- memcpy(dp, tag, to_copy);
- dm_bufio_mark_partial_buffer_dirty(b, *metadata_offset, *metadata_offset + to_copy);
+ if (memcmp(dp, tag, to_copy)) {
+ memcpy(dp, tag, to_copy);
+ dm_bufio_mark_partial_buffer_dirty(b, *metadata_offset, *metadata_offset + to_copy);
+ }
} else {
/* e.g.: op == TAG_CMP */