[PATCH V2] xfstests: test EROFS vs. EEXIST when creating on an RO filesystem
Eric Sandeen
sandeen at sandeen.net
Tue Jan 8 13:42:46 CST 2013
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 at redhat.com>
>> ---
>>
>> 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
-Eric
> ~/xfstests # rpm -qf `which ln`
> coreutils-8.14-3.4.1.i586
>
> Regards,
> Ben
>
More information about the xfs
mailing list