xfs
[Top] [All Lists]

Re: [PATCH] btrfs/035: update clone test to expect EOPNOTSUPP

To: David Disseldorp <ddiss@xxxxxxx>
Subject: Re: [PATCH] btrfs/035: update clone test to expect EOPNOTSUPP
From: Liu Bo <bo.li.liu@xxxxxxxxxx>
Date: Thu, 8 May 2014 14:31:38 +0800
Cc: xfs@xxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140508041123.GB3407@xxxxxxxxxxxxxxxxxxxxx>
References: <1399465998-26545-1-git-send-email-ddiss@xxxxxxx> <20140508041123.GB3407@xxxxxxxxxxxxxxxxxxxxx>
Reply-to: bo.li.liu@xxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, May 08, 2014 at 12:11:24PM +0800, Liu Bo wrote:
> 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.

s/EI/EIO/g

-liubo

> 
> thanks,
> -liubo
> 
> > Signed-off-by: David Disseldorp <ddiss@xxxxxxx>
> > ---
> >  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
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>