[PATCH] New fstest to check rename POSIX conformance
andre.lousa.marques at gmail.com
Wed Feb 19 10:27:12 UTC 2014
Sorry for the delay.
I'm almost ready to send the patch with the test, but there are some
On 02/10/14 08:14, Sebastian Huber wrote:
> Hello Andre,
> thanks for the test case.
> On 2014-02-08 13:26, Andre Marques wrote:
>> As discussed in , I created a new fstest to check the rename()
>> implementation against the POSIX specification .
>> What the attached patch does not test:
>> - Testing the existance of a link visible to other processes during
>> the rename
>> process (ensuring that there is always a reference to the file). Not
>> sure about
>> the best way to test this.
> The file system instance is locked during the rename operation, so
> other threads cannot interfere here.
Should I test the lock then?
> What happens if you rename a file with an open file descriptor should
> be tested.
That is already covered on the test.
>> - Testing that after all processes close their references to a file
>> after it
>> was removed by rename() the file contents are removed (or marked as
>> free space,
>> I guess). I only found platform dependent ways of dealing with disk
> Maybe you can use the statvfs() function for this.
The statvfs() function gives "not implemented" on the IMFS filesystem,
so I changed the used filesystem to MOUNTED RFS.
>> - Testing errno values in error situations. There is already a fstest
>> fserror which purpose seems to be checking errno values for a bunch of
>> functions (rename included, but with some errno values missing). Not
>> sure if I
>> should put them in this test or add to fserror.
> I would move all rename related tests to this new test program.
About the errno value testing, I'm currently missing EIO, ENOSPC, EROFS
EROFS and EXDEV require mounting a second filesystem. How can I do this
in RTEMS? Can it be done at runtime? I've been looking at the fileio
sample, which uses the fsmount() function, but I need a disk to mount
For ENOSPC I'm thinking in mounting a small disk and testing that way,
but for EIO I don't know how to simulate a physical error. How can I
generate an I/O error?
>> This test uses the MOUNTED IMFS filesystem, for no particular reason,
>> so if
>> that's an issue please let me know.
>>  -
>>  -
>> --André Marques
More information about the devel