Mark dm error as DM_TARGET_PASSES_INTEGRITY so that it can be stacked on
top of PI capable devices.  The claim is strictly speaking as lie as dm
error fails all I/O and doesn't pass anything on, but doing the same for
integrity I/O work just fine :)

This helps to make about two dozen xfstests test cases pass on PI capable
devices.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 drivers/md/dm-target.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/md/dm-target.c b/drivers/md/dm-target.c
index 2af5a9514c05..8fede41adec0 100644
--- a/drivers/md/dm-target.c
+++ b/drivers/md/dm-target.c
@@ -263,7 +263,8 @@ static long io_err_dax_direct_access(struct dm_target *ti, 
pgoff_t pgoff,
 static struct target_type error_target = {
        .name = "error",
        .version = {1, 7, 0},
-       .features = DM_TARGET_WILDCARD | DM_TARGET_ZONED_HM,
+       .features = DM_TARGET_WILDCARD | DM_TARGET_ZONED_HM |
+               DM_TARGET_PASSES_INTEGRITY,
        .ctr  = io_err_ctr,
        .dtr  = io_err_dtr,
        .map  = io_err_map,
-- 
2.47.2


Reply via email to