With address_space_operations missing for device dax, namely the
.set_page_dirty, we hit a kernel warning when running destructive
ndctl unit test: make TESTS=device-dax check
WARNING: CPU: 3 PID: 7380 at fs/buffer.c:581 __set_page_dirty+0xb1/0xc0
Setting address_space_operations to noop_set_page_dirty and
noop_invalidatepage for device dax to prevent fallback to
__set_page_dirty_buffers() and block_invalidatepage() respectively.
Fix added in 4.19-rc6:
commit 41c9b1be335b5af c3b5fb71c5d16f9 d5939cd13f
Author: Dave Jiang <email address hidden>
Date: Mon Sep 10 16:18:29 2018 -0700
device-dax: Add missing address_ space_operation s
With address_ space_operation s missing for device dax, namely the
.set_page_dirty, we hit a kernel warning when running destructive
ndctl unit test: make TESTS=device-dax check
WARNING: CPU: 3 PID: 7380 at fs/buffer.c:581 __set_page_ dirty+0xb1/ 0xc0
Setting address_ space_operation s to noop_set_page_dirty and dirty_buffers( ) and block_invalidat epage() respectively.
noop_invalidatepage for device dax to prevent fallback to
__set_page_
Fixes: 2232c6382a ("device-dax: Enable page_mapping()")
Acked-by: Jeff Moyer <email address hidden>
Reported-by: Vishal Verma <email address hidden>
Signed-off-by: Dave Jiang <email address hidden>
Signed-off-by: Dan Williams <email address hidden>