lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160524182136.GA4592@birch.djwong.org>
Date:	Tue, 24 May 2016 11:21:36 -0700
From:	"Darrick J. Wong" <darrick.wong@...cle.com>
To:	Eryu Guan <eguan@...hat.com>
Cc:	fstests@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: [PATCH] generic/250: ignore xfs_io IO errors when writing to
 dmerror device

On Tue, May 24, 2016 at 09:24:36PM +0800, Eryu Guan wrote:
> When testing with data=journal ext4, direct write to dmerror device
> doesn't return EIO, because ext4 turns direct write to buffered write in
> data=journal mode and all data is written to journal buffer. The write
> only fails later when commiting journal and error messages can be seen
> in dmesg.
> 
> As the test is checking on the md5 checksum of the test file, it's ok to
> ignore the IO error returned by xfs_io, as long as the checksums match
> the golden image.
> 
> Signed-off-by: Eryu Guan <eguan@...hat.com>
> ---
> 
> Not returning errors to userspace properly is kind of an ext4 bug in journal
> mode, but ext4 always behaves this way. So I think instead of fixing ext4, this
> is the easiest way to make generic/250 work with journal mode ext4.

/me wonders why _require_odirect doesn't _notrun in situations where we
*know* ahead of time that we're not going to get O_DIRECT semantics, but
whatever.  It's no big deal if we shuffle the -EIO message to seqres.full.

>  tests/generic/250     | 3 ++-
>  tests/generic/250.out | 1 -
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/generic/250 b/tests/generic/250
> index 6d15de2..891b8b0 100755
> --- a/tests/generic/250
> +++ b/tests/generic/250
> @@ -83,7 +83,8 @@ echo "CoW and unmount"

Er... that should be 'echo "Write and unmount"', oops, sorry about that.
There's no COW going on here.

--D

>  $XFS_IO_PROG -f -c "pwrite -S 0x63 $bufsize 1" $testdir/file2 >> $seqres.full
>  sync
>  _dmerror_load_error_table
> -$XFS_IO_PROG -d -f -c "pwrite -S 0x63 -b $bufsize 0 $filesize" $testdir/file2 >> $seqres.full
> +$XFS_IO_PROG -d -f -c "pwrite -S 0x63 -b $bufsize 0 $filesize" $testdir/file2 \
> +	>> $seqres.full 2>&1
>  _dmerror_load_working_table
>  _dmerror_unmount
>  _dmerror_mount
> diff --git a/tests/generic/250.out b/tests/generic/250.out
> index 710c80e..0ff87d0 100644
> --- a/tests/generic/250.out
> +++ b/tests/generic/250.out
> @@ -4,7 +4,6 @@ Create the original files
>  Compare files
>  ec8bb3b24d5b0f1b5bdf8c8f0f541ee6  SCRATCH_MNT/test-250/file2
>  CoW and unmount
> -pwrite64: Input/output error
>  Compare files
>  3ed86318f4ff8da26c1c2a6e3041f9be  SCRATCH_MNT/test-250/file2
>  Check for damage
> -- 
> 2.5.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ