> 10.2.2 Layer 1: Integrity (optional)8
> This layer uses a to-be-developed DM target that allows the detection of incorrect data as it is
read, by using extra space to record the results of checksum/hash functions on the data blocks,
and then compare the results with what the blockdev actually returned. This will enable Stratis
to detect data corruption when the pool is non-redundant, and to repair the corruption when
the pool is redundant. Such a DM target could use DIF information if present.
This (and other aspects of Strasis) seem like sensible solutions, especially in Linux-land[1]. Implementing this (and I assume dedupe, which is penned for v3 but on which no information is yet provided) at the DM layer means that other FSs can also benefit from this work.
[1] By this I mean that Linux, both as a dev community and as an OS, seems much more comfortable with individual, composable components that can be tied together in different configurations, than monolithic one-size-fits-many solutions like ZFS (and... systemd).
This (and other aspects of Strasis) seem like sensible solutions, especially in Linux-land[1]. Implementing this (and I assume dedupe, which is penned for v3 but on which no information is yet provided) at the DM layer means that other FSs can also benefit from this work.
[1] By this I mean that Linux, both as a dev community and as an OS, seems much more comfortable with individual, composable components that can be tied together in different configurations, than monolithic one-size-fits-many solutions like ZFS (and... systemd).