[PATCH] New fstest to check rename POSIX conformance

Nick Withers nick.withers at anu.edu.au
Tue Feb 11 01:07:05 UTC 2014


On Sat, 2014-02-08 at 12:26 +0000, Andre Marques wrote:
> Hi,
> 
> As discussed in [1], I created a new fstest to check the rename() 
> implementation against the POSIX specification [2].
> 
> 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.
> 
> - 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 block's.

I don't believe that rename() should lead to removal of file disk blocks
(at least with a rename() on the same file-system, which seems to be all
that POSIX requires be supported (see, e.g., the description of the
EXDEV error case... though I do think it's ambiguous) and all RTEMS
allows at present), since it's just changing the file name that links to
that data.

> - Testing errno values in error situations. There is already a fstest 
> named 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.
> 
> 
> This test uses the MOUNTED IMFS filesystem, for no particular reason, so 
> if that's an issue please let me know.
> 
> [1] - http://www.rtems.org/pipermail/rtems-users/2014-January/012378.html
> 
> [2] - http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html
> 
> --Andr? Marques
-- 
Nick Withers

Embedded Systems Programmer
Department of Nuclear Physics, Research School of Physics and Engineering
The Australian National University (CRICOS: 00120C)




More information about the devel mailing list