minix/test
David van Moolenbroek f76d75a5ec Various VFS and MFS fixes to improve correctness, consistency and
POSIX compliance.

VFS changes:
* truncate() on a file system mounted read-only no longer panics MFS.
* ftruncate() and fcntl(F_FREESP) now check for write permission on
  the file descriptor instead of the file, write().
* utime(), chown() and fchown() now check for file system read-only
  status.

MFS changes:
* link() and rename() no longer return the internal EENTERMOUNT and
  ELEAVEMOUNT errors to the application as part of a check on the
  source path.
* rename() now treats EENTERMOUNT from the destination path check as
  an error, preventing file system corruption from renaming a normal
  directory to an existing mountpoint directory.
* mountpoints (mounted-on dirs) are hidden better during lookups:
  - if a lookup starts from a mountpoint, the first component has to
    be ".." (anything else being a VFS-FS protocol violation).
  - in that case, the permissions of the mountpoint are not checked.
  - in all other cases, visiting a mountpoint always results in
    EENTERMOUNT.
* a lookup on ".." from a mount root or chroot(2) root no longer
  succeeds if the caller does not have search permission on that
  directory.
* POSIX: getdents() now updates directory access times.
* POSIX: readlink() now returns partial results instead of ERANGE.

Miscellaneous changes:
* semaphore file handling bug (leading to hangs) fixed in test 32.

The VFS changes should now put the burden of checking for read-only
status of file systems entirely on VFS, and limit the access
permission checks that file systems have to perform, to checking
search permission on directories during lookups. From this point on,
any deviation from that spceification should be considered a bug.
Note that for legacy reasons, the root partition is assumed to be
mounted read-write.
2009-05-18 11:27:12 +00:00
..
select Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
common.c Initial revision 2005-04-21 14:53:53 +00:00
Makefile throw out two time consuming tests 2008-10-01 15:09:33 +00:00
run throw out two time consuming tests 2008-10-01 15:09:33 +00:00
t10a.c Initial revision 2005-04-21 14:53:53 +00:00
t11a.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
t11b.c Initial revision 2005-04-21 14:53:53 +00:00
test1.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test2.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test3.c explanations with common test3 errors. 2007-04-02 16:00:06 +00:00
test4.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test5.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test6.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test7.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test8.c Swap test8 and test37 2005-09-19 13:39:27 +00:00
test9.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test10.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test11.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test12.c Initial revision 2005-04-21 14:53:53 +00:00
test13.c Initial revision 2005-04-21 14:53:53 +00:00
test14.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test15.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test16.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test17.c Make test 17 use dir 17 2007-09-11 14:56:48 +00:00
test18.c . changed MAXOPEN's from statics to (OPEN_MAX-3) 2006-02-13 11:07:21 +00:00
test19.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test20.c 8<->37 2005-09-19 13:44:31 +00:00
test21.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test22.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test23.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test24.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test25.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test26.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test27.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test28.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test29.c 8<->37 2005-09-19 13:44:31 +00:00
test30.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test31.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test32.c Various VFS and MFS fixes to improve correctness, consistency and 2009-05-18 11:27:12 +00:00
test33.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test34.c Initial revision 2005-04-21 14:53:53 +00:00
test35.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test36.c Al's no-double-empty-lines crusade 2005-08-22 15:08:27 +00:00
test37.c More fixes to reality 2006-03-16 01:47:52 +00:00
test38.c Fixed problem in subtest 1; Part of test is now in #if DEAD_CODE ... #endif, 2005-10-05 11:28:12 +00:00
test39.c throw out two time consuming tests 2008-10-01 15:09:33 +00:00
testsh1.sh . swapped test26 and test40 2005-08-08 14:30:50 +00:00
testsh2.sh . swapped test26 and test40 2005-08-08 14:30:50 +00:00