[PATCH] btrfs/035: update clone test to expect EOPNOTSUPP
Liu Bo
bo.li.liu at oracle.com
Wed May 7 23:11:24 CDT 2014
On Wed, May 07, 2014 at 02:33:18PM +0200, David Disseldorp wrote:
> With kernel commit 00fdf13a2e9f313a044288aa59d3b8ec29ff904a, the first
> clone-range overwrite attempt now fails with EOPNOTSUPP, rather than
> tripping a Btrfs BUG_ON().
>
> This test now trips a new Btrfs bug, in which EIO is returned for
> subsequent reads following the second clone range ioctl.
>
Hi David,
Something different here, I didn't get EI on 3.15.0-rc4.
thanks,
-liubo
> Signed-off-by: David Disseldorp <ddiss at suse.de>
> ---
> tests/btrfs/035 | 11 +++++++++++
> tests/btrfs/035.out | 5 +++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/tests/btrfs/035 b/tests/btrfs/035
> index 6808179..c9530f6 100755
> --- a/tests/btrfs/035
> +++ b/tests/btrfs/035
> @@ -57,21 +57,32 @@ src_str="aaaaaaaaaa"
> echo -n "$src_str" > $SCRATCH_MNT/src
>
> $CLONER_PROG $SCRATCH_MNT/src $SCRATCH_MNT/src.clone1
> +cat $SCRATCH_MNT/src.clone1
> +echo
>
> src_str="bbbbbbbbbbcccccccccc"
>
> echo -n "$src_str" > $SCRATCH_MNT/src
>
> $CLONER_PROG $SCRATCH_MNT/src $SCRATCH_MNT/src.clone2
> +cat $SCRATCH_MNT/src.clone2
> +echo
>
> +# Prior to kernel commit 00fdf13a2e9f313a044288aa59d3b8ec29ff904a, this clone
> +# resulted in a BUG_ON in __btrfs_drop_extents(). The kernel now returns
> +# EOPNOTSUPP up to userspace.
> snap_src_sz=`ls -lah $SCRATCH_MNT/src.clone1 | awk '{print $5}'`
> echo "attempting ioctl (src.clone1 src)"
> $CLONER_PROG -s 0 -d 0 -l ${snap_src_sz} \
> $SCRATCH_MNT/src.clone1 $SCRATCH_MNT/src
> +cat $SCRATCH_MNT/src
> +echo
>
> snap_src_sz=`ls -lah $SCRATCH_MNT/src.clone2 | awk '{print $5}'`
> echo "attempting ioctl (src.clone2 src)"
> $CLONER_PROG -s 0 -d 0 -l ${snap_src_sz} \
> $SCRATCH_MNT/src.clone2 $SCRATCH_MNT/src
> +# BUG: subsequent access attempts currently result in EIO...
> +cat $SCRATCH_MNT/src
>
> status=0 ; exit
> diff --git a/tests/btrfs/035.out b/tests/btrfs/035.out
> index f86cadf..0ea2c4f 100644
> --- a/tests/btrfs/035.out
> +++ b/tests/btrfs/035.out
> @@ -1,3 +1,8 @@
> QA output created by 035
> +aaaaaaaaaa
> +bbbbbbbbbbcccccccccc
> attempting ioctl (src.clone1 src)
> +clone failed: Operation not supported
> +bbbbbbbbbbcccccccccc
> attempting ioctl (src.clone2 src)
> +bbbbbbbbbbcccccccccc
> --
> 1.8.4.5
>
More information about the xfs
mailing list