diff mbox

DAX DIO: DAX mapped area DIO to non-DAX expected failure

Message ID 1489463960-3579-1-git-send-email-xzhou@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Murphy Zhou March 14, 2017, 3:59 a.m. UTC
It's not supported on raw mode nvdimm, brd ramdisk:
https://lists.01.org/pipermail/linux-nvdimm/2017-February/008959.html

It's working on "memory mode" nvdimm, memmap ramdisk.

Mute output of this subtest to stop the fake failure. Keep this
routine for sanity check.

Updating generic/413 and xfs/260.

Signed-off-by: Xiong Zhou <xzhou@redhat.com>
---
 tests/generic/413 | 6 ++++--
 tests/xfs/260     | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

Comments

Ross Zwisler March 14, 2017, 2:44 p.m. UTC | #1
On Tue, Mar 14, 2017 at 11:59:20AM +0800, Xiong Zhou wrote:
> It's not supported on raw mode nvdimm, brd ramdisk:
> https://lists.01.org/pipermail/linux-nvdimm/2017-February/008959.html
> 
> It's working on "memory mode" nvdimm, memmap ramdisk.
> 
> Mute output of this subtest to stop the fake failure. Keep this
> routine for sanity check.
> 
> Updating generic/413 and xfs/260.

I don't understand how we can mute the errors that are due to DAX direct I/O
being used in unsupported configurations (raw mode nvdimm, brd ramdisk)
without also muting real errors that happen for supported configs (memory mode
nvidmm)?

It seems like for this test to give us proper coverage, we need to see this
output in all cases, and we just need to document to the user that this test
is expected to fail if you run it against brd or raw mode nvdimms?

Or am I missing something?

- Ross

> Signed-off-by: Xiong Zhou <xzhou@redhat.com>
> ---
>  tests/generic/413 | 6 ++++--
>  tests/xfs/260     | 6 ++++--
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/generic/413 b/tests/generic/413
> index a1cc514..828ef79 100755
> --- a/tests/generic/413
> +++ b/tests/generic/413
> @@ -89,11 +89,13 @@ t_dax_to_nondax()
>  {
>  	prep_files
>  	src/t_mmap_dio $SCRATCH_MNT/tf_s \
> -		$TEST_DIR/tf_d $1 "dio dax to nondax"
> +		$TEST_DIR/tf_d $1 "dio dax to nondax" \
> +		> /dev/null 2>&1
>  
>  	prep_files
>  	src/t_mmap_dio -b $SCRATCH_MNT/tf_s \
> -		$TEST_DIR/tf_d $1 "buffered dax to nondax"
> +		$TEST_DIR/tf_d $1 "buffered dax to nondax" \
> +		> /dev/null 2>&1
>  }
>  
>  t_both_nondax()
> diff --git a/tests/xfs/260 b/tests/xfs/260
> index e613cc0..ff7eed2 100755
> --- a/tests/xfs/260
> +++ b/tests/xfs/260
> @@ -94,13 +94,15 @@ t_dax_to_nondax()
>  	$XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
>  	$XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
>  	src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} \
> -		$1 "dio dax to nondax"
> +		$1 "dio dax to nondax" \
> +		> /dev/null 2>&1
>  
>  	prep_files
>  	$XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
>  	$XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
>  	src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
> -		$1 "buffered dax to nondax"
> +		$1 "buffered dax to nondax" \
> +		> /dev/null 2>&1
>  }
>  
>  t_both_nondax()
> -- 
> 1.8.3.1
> 
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ross Zwisler March 14, 2017, 3:07 p.m. UTC | #2
On Tue, Mar 14, 2017 at 08:44:03AM -0600, Ross Zwisler wrote:
> On Tue, Mar 14, 2017 at 11:59:20AM +0800, Xiong Zhou wrote:
> > It's not supported on raw mode nvdimm, brd ramdisk:
> > https://lists.01.org/pipermail/linux-nvdimm/2017-February/008959.html
> > 
> > It's working on "memory mode" nvdimm, memmap ramdisk.
> > 
> > Mute output of this subtest to stop the fake failure. Keep this
> > routine for sanity check.
> > 
> > Updating generic/413 and xfs/260.
> 
> I don't understand how we can mute the errors that are due to DAX direct I/O
> being used in unsupported configurations (raw mode nvdimm, brd ramdisk)
> without also muting real errors that happen for supported configs (memory mode
> nvidmm)?
> 
> It seems like for this test to give us proper coverage, we need to see this
> output in all cases, and we just need to document to the user that this test
> is expected to fail if you run it against brd or raw mode nvdimms?

Actually the best thing to do would probably be to teach xfstests which are
the unsupported configs for DIO + DAX, and then just skip the tests so we
don't report false positive failures.  I think we can do this by looking at
the device (pmem vs brd), and by looking at the output from ndctl to see what
mode the pmem namespace is in.  If they have a pmem namespace but no ndctl,
just assume the test is runnable and run the risk of getting a false positive.
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Murphy Zhou March 15, 2017, 2:28 a.m. UTC | #3
On Tue, Mar 14, 2017 at 09:07:02AM -0600, Ross Zwisler wrote:
> On Tue, Mar 14, 2017 at 08:44:03AM -0600, Ross Zwisler wrote:
> > On Tue, Mar 14, 2017 at 11:59:20AM +0800, Xiong Zhou wrote:
> > > It's not supported on raw mode nvdimm, brd ramdisk:
> > > https://lists.01.org/pipermail/linux-nvdimm/2017-February/008959.html
> > > 
> > > It's working on "memory mode" nvdimm, memmap ramdisk.
> > > 
> > > Mute output of this subtest to stop the fake failure. Keep this
> > > routine for sanity check.
> > > 
> > > Updating generic/413 and xfs/260.
> > 
> > I don't understand how we can mute the errors that are due to DAX direct I/O
> > being used in unsupported configurations (raw mode nvdimm, brd ramdisk)
> > without also muting real errors that happen for supported configs (memory mode
> > nvidmm)?
> > 
> > It seems like for this test to give us proper coverage, we need to see this
> > output in all cases, and we just need to document to the user that this test
> > is expected to fail if you run it against brd or raw mode nvdimms?
> 
> Actually the best thing to do would probably be to teach xfstests which are
> the unsupported configs for DIO + DAX, and then just skip the tests so we
> don't report false positive failures.  I think we can do this by looking at
> the device (pmem vs brd), and by looking at the output from ndctl to see what
> mode the pmem namespace is in.  If they have a pmem namespace but no ndctl,
> just assume the test is runnable and run the risk of getting a false positive.

Yah. I've thought about this, ended up without a way good enough to me.
Thanks for the review. I'll try v2.
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tests/generic/413 b/tests/generic/413
index a1cc514..828ef79 100755
--- a/tests/generic/413
+++ b/tests/generic/413
@@ -89,11 +89,13 @@  t_dax_to_nondax()
 {
 	prep_files
 	src/t_mmap_dio $SCRATCH_MNT/tf_s \
-		$TEST_DIR/tf_d $1 "dio dax to nondax"
+		$TEST_DIR/tf_d $1 "dio dax to nondax" \
+		> /dev/null 2>&1
 
 	prep_files
 	src/t_mmap_dio -b $SCRATCH_MNT/tf_s \
-		$TEST_DIR/tf_d $1 "buffered dax to nondax"
+		$TEST_DIR/tf_d $1 "buffered dax to nondax" \
+		> /dev/null 2>&1
 }
 
 t_both_nondax()
diff --git a/tests/xfs/260 b/tests/xfs/260
index e613cc0..ff7eed2 100755
--- a/tests/xfs/260
+++ b/tests/xfs/260
@@ -94,13 +94,15 @@  t_dax_to_nondax()
 	$XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
 	$XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
 	src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} \
-		$1 "dio dax to nondax"
+		$1 "dio dax to nondax" \
+		> /dev/null 2>&1
 
 	prep_files
 	$XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
 	$XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
 	src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
-		$1 "buffered dax to nondax"
+		$1 "buffered dax to nondax" \
+		> /dev/null 2>&1
 }
 
 t_both_nondax()