On Tue, Jan 08, 2013 at 01:42:46PM -0600, Eric Sandeen wrote:
> On 1/8/13 1:15 PM, Ben Myers wrote:
> > Hey Eric,
> >
> > On Tue, Nov 27, 2012 at 09:19:12PM -0600, Eric Sandeen wrote:
> >> TBH, I don't know if this is posix-specified, but I found out the
> >> hard way that when trying to re-create existing files on a readonly
> >> filesystem, some apps expect/handle EEXIST, but fail on EROFS.
> >>
> >> This will test mkdir, mknod, and symlinks for that behavior.
> >>
> >> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> >> ---
> >>
> >> V2: Change test dir var name, do scratch mkfs, drop _fail
> >
> > This looked fine to me except that...
> >
> >> diff --git a/292.out b/292.out
> >> new file mode 100644
> >> index 0000000..485c567
> >> --- /dev/null
> >> +++ b/292.out
> >> @@ -0,0 +1,5 @@
> >> +QA output created by 292
> >> +mknod: `SCRATCH_MNT/292.test/testnode': File exists
> >> +mkdir: cannot create directory `SCRATCH_MNT/292.test/testdir': File exists
> >> +touch: cannot touch `SCRATCH_MNT/292.test/testtarget': Read-only file
> >> system
> >> +ln: creating symbolic link `SCRATCH_MNT/292.test/testlink': File exists
> >
> > ln output is different on my distro:
> >
> > ~/xfstests # diff 293.out 293.out.bad
> > 5c5
> > < ln: creating symbolic link `SCRATCH_MNT/293.test/testlink': File exists
> > ---
> > > ln: failed to create symbolic link `SCRATCH_MNT/293.test/testlink': File
> > > exists
>
> clearly using the wrong distro ;)
>
> How about something like:
>
> +_create_files 2>&1 | sed -e "s/failed to create/creating/" | _filter_scratch
> +_scratch_mount -o remount,ro
> +_create_files 2>&1 | sed -e "s/failed to create/creating/" | _filter_scratch
There should already be a ln filter that handles this.
Check test 103 - filter_ln.
Cheers,
Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
|