Hi again, On Wednesday, 28 April 2021 23:00:23 CEST Mikulas Patocka wrote: > Here I'm sending version 2 of the patch - it increases version number of > the target, so that userspace can test if this feature is present. > > From: Mikulas Patocka <[email protected]> > > If we have discard support, we don't have to recalculate hash - we can > just fill the metadata with the discard pattern. > > Signed-off-by: Mikulas Patocka <[email protected]>
I had a look at this patch. If I understand correctly, this logic only applies
to dm-integrity recalculation, so for example from userspace with:
$ integritysetup --integrity-recalculate --allow-discards open <dev> <name>
In such a case, it will fill all tag values with discard filler instead of
reading from the drive and computing the tags. If that is true I think this is
not desired behaviour, consider the following:
* SSD with existing data /dev/sda1.
* Device for dm-integrity metadata /dev/vg/is_sda1_meta.
* $ integritysetup --data-device /dev/sda1 --no-wipe /dev/vg/is_sda1_meta
* $ integritysetup --data-device /dev/sda1 --integrity-recalculate \
--allow-discards open /dev/vg/is_sda1_meta is_sda1
In current production version, this causes a full read of the SSD to
recalculate integrity tags, which is as expected and works very nicely. With
this patch, wouldn't it result in all integrity tags being set to the discard
filler? Does this patch assume a device is fully discarded when recalculating?
Perhaps I am reading it wrong, I am not familiar with the dm kernel modules.
Also, a bit unrelated to any of the above. When doing a format operation
(without --no-wipe) on a device supporting discard, would it not be possible
to format via discards instead of the current data write operations? That
would significantly improve speed for SSDs and also reduce wear on the drive.
Thanks,
--
Melvin Vermeeren
Systems engineer
signature.asc
Description: This is a digitally signed message part.
-- dm-devel mailing list [email protected] https://listman.redhat.com/mailman/listinfo/dm-devel
