DragonFly-2.2.1.24.gfa830 DragonFly_RELEASE_2_2 sys/kern vfs_helper.c vfs_nlookup.c vfs_vnops.c

Simon Schubert corecode at crater.dragonflybsd.org
Wed Jul 15 07:13:00 PDT 2009


commit fa8302b1b7803a0621c8975e38e763f1c3aeae8d
Author: Simon 'corecode' Schubert <corecode at fs.ei.tum.de>
Date:   Wed Jul 15 16:04:42 2009 +0200

    MFC: fstest regression fixes - POSIX error codes.
    
    Partial MFC of d7c75c7a20590cab729c3d653aaa91a4960d6165:
    
    Deal with most of the issues found by FreeBSD's fstest regression test:
        * Limit path components to 255 characters.  Return ENAMETOOLONG if
          the limit is exceeded.
    
        * Return EEXIST, EINVAL, and ENOTEMPTY as appropriate when the user
          attempts to create, delete, or rename "." or "..", instead of EINVAL.
    
        * Return EACCES if an attempt is made to open a file O_TRUNC without
          O_RDWR or O_WRONLY, instead of silently dropping the O_TRUNC.
    
        * Implement O_NOFOLLOW semantics generally instead of just with O_EXCL.
    
    Not MFC'd:
        * Return EISDIR if an attempt is made to open a directory for writing,
          instead of EINVAL.
    
    This is required so that /usr/bin/tar can extract to an existing
    directory:
    
    	tar cf - . | (cd otherdir && tar xof -)
    
    failed before (breaking nrelease).

Summary of changes:
 sys/kern/vfs_helper.c  |    6 ++++++
 sys/kern/vfs_nlookup.c |   19 ++++++++++++++++---
 sys/kern/vfs_vnops.c   |   12 ++++++++++--
 3 files changed, 32 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fa8302b1b7803a0621c8975e38e763f1c3aeae8d


-- 
DragonFly BSD source repository





More information about the Commits mailing list