Older kernels (prior commit 494633fac7896 "vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPP") will return EINVAL when operation is not supported. Make fsx treat this error as a sign of unsupported deduplication as well to make it usable with these older kernels. Signed-off-by: Jan Kara <jack@xxxxxxx> --- ltp/fsx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ltp/fsx.c b/ltp/fsx.c index f4a1c7cf820b..391824bfbc68 100644 --- a/ltp/fsx.c +++ b/ltp/fsx.c @@ -1482,7 +1482,8 @@ test_dedupe_range(void) else error = 0; - if (error == EOPNOTSUPP || error == ENOTTY) { + /* Older kernels may return EINVAL... */ + if (error == EOPNOTSUPP || error == ENOTTY || error == EINVAL) { if (!quiet) fprintf(stderr, "main: filesystem does not support " -- 2.16.4