看板 DFBSD_commit 關於我們 聯絡資訊
commit fa8302b1b7803a0621c8975e38e763f1c3aeae8d Author: Simon 'corecode' Schubert <corecode@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