Re: [PATCH 2/8] xfstests: add regression test for kernel bz 60673

Josef Bacik
2013-10-21T15:09:57Z

On Mon, Oct 21, 2013 at 10:03:10AM -0500, Eric Sandeen wrote:
> On 10/18/13 1:26 PM, Josef Bacik wrote:
> > There was a problem with send trying to overwrite a file that wasn't actually
> > the same. This is a test to check this particular case where receive fails when
> > it should succeed properly. I tested this to verify it fails without my fix and
> > passes with my fix. Thanks,
>
> 2 things -
>
> Why does the selinux context break things? That seems like a problem w/ send
> if it can't work on a context-mounted fs? (disabling it for now doesn't bother
> me, but I'm surprised that it's required).
>

So it is the context that xfstests is using, not contexts itself. Xfstests is
using the nfs context, and using selinux contexts intercepts all getxattr calls,
so when send tries to copy the xattrs for the file it calls getxattr, and
because we are using the nfs context it returns EOPNOTSUPP from selinux, it
never makes it down to btrfs. When using the actual real context it works fine
because it calls down into the file system.

> ((I also wonder if I should get rid of that context in general and use it only
> for tests which fail without it))
>
> Rather than all the cd'ing around (to /) what if you just do something like:
>
> SEND_TEST_DIR=$TEST_DIR/$tmp_dir/send
>
> mkdir $SEND_TEST_DIR
> touch $SEND_TEST_DIR/baz
> touch $SEND_TEST_DIR/blah
> mkdir $SEND_TEST_DIR/foo
> touch $SEND_TEST_DIR/foo/bar
>
> that seems a bit cleaner to me vs. the cd back and forth.
>

Yeah I can do that, thanks,

Josef