cvs commit: src/include dirent.h src/lib/libc/gen readdir.c scandir.c ttyname.c src/lib/libstand cd9660.c ufs.c src/sbin/restore interactive.c src/sys/conf files src/sys/emulation/43bsd 43bsd_file.c src/sys/emulation/dragonfly12 ...
Joerg Sonnenberger
joerg at crater.dragonflybsd.org
Sat Aug 27 13:25:35 PDT 2005
joerg 2005/08/27 13:23:06 PDT
DragonFly src repository
Modified files:
include dirent.h
lib/libc/gen readdir.c scandir.c ttyname.c
lib/libstand cd9660.c ufs.c
sbin/restore interactive.c
sys/conf files
sys/emulation/43bsd 43bsd_file.c
sys/emulation/ibcs2/i386 ibcs2_misc.c
sys/emulation/linux linux_file.c
sys/emulation/svr4 svr4_misc.c
sys/kern init_sysent.c syscalls.c syscalls.master
vfs_cache.c vfs_subr.c
sys/sys dirent.h syscall-args syscall-hide.h
syscall.h syscall.mk sysproto.h
sysunion.h
sys/vfs/isofs/cd9660 cd9660_vnops.c
sys/vfs/nfs nfs_bio.c nfs_serv.c nfs_vnops.c
nfsnode.h
sys/vfs/smbfs smbfs_io.c
Added files:
sys/emulation/dragonfly12 dfbsd12_getdirentries.c
Log:
Make struct dirent contain a full 64bit inode. Allow more than 255 byte
filenames by increasing d_namlen to 16bit. Remove UFS specific macros
from sys/dirent.h, programs which really need them should include
vfs/ufs/dir.h. MAXNAMLEN should not be used, but replaced by NAME_MAX.
To keep the impact for older BSD code small, d_ino and d_fileno are kept
in the old meaning when __BSD_VISIBLE is defined, otherwise the POSIX
version d_ino is used. This will be changed later to always define only
d_ino and make d_fileno a compatiblity macro for __BSD_VISIBLE.
d_name is left with hard-coded 256 byte space, this will be changed at
some point in the future and doesn't affect the ABI. Programs should
correctly allocate space themselve, since the maximum directory entry
length can be > 256 byte.
For allocating dirents (e.g. for readdir_r), _DIRENT_RECLEN and
_DIRENT_DIRSIZ should be used. NetBSD has choosen the same names.
Revamp the compatibility code to always use a local kernel buffer and
write out the entries. This will be changed later by passing down the
output function to vop_readdir, elimininating the redundant copy.
Change NFS and CD9660 to use to use vop_write_dirent, for CD9660 ensure
that the buffers are big enough by prepending char arrays of the right
size.
Tested-by & discussed-with: dillon
Revision Changes Path
1.5 +0 -2 src/include/dirent.h
1.6 +10 -16 src/lib/libc/gen/readdir.c
1.7 +2 -14 src/lib/libc/gen/scandir.c
1.12 +2 -2 src/lib/libc/gen/ttyname.c
1.5 +2 -4 src/lib/libstand/cd9660.c
1.6 +3 -1 src/lib/libstand/ufs.c
1.8 +15 -11 src/sbin/restore/interactive.c
1.103 +1 -0 src/sys/conf/files
1.9 +1 -1 src/sys/emulation/43bsd/43bsd_file.c
1.11 +11 -11 src/sys/emulation/ibcs2/i386/ibcs2_misc.c
1.24 +7 -7 src/sys/emulation/linux/linux_file.c
1.29 +8 -8 src/sys/emulation/svr4/svr4_misc.c
1.33 +4 -2 src/sys/kern/init_sysent.c
1.32 +4 -2 src/sys/kern/syscalls.c
1.27 +6 -3 src/sys/kern/syscalls.master
1.57 +3 -3 src/sys/kern/vfs_cache.c
1.63 +11 -11 src/sys/kern/vfs_subr.c
1.5 +39 -30 src/sys/sys/dirent.h
1.18 +2 -2 src/sys/sys/syscall-args
1.34 +2 -0 src/sys/sys/syscall-hide.h
1.34 +5 -3 src/sys/sys/syscall.h
1.34 +3 -3 src/sys/sys/syscall.mk
1.34 +42 -21 src/sys/sys/sysproto.h
1.31 +8 -2 src/sys/sys/sysunion.h
1.16 +49 -44 src/sys/vfs/isofs/cd9660/cd9660_vnops.c
1.24 +22 -3 src/sys/vfs/nfs/nfs_bio.c
1.25 +16 -16 src/sys/vfs/nfs/nfs_serv.c
1.42 +35 -33 src/sys/vfs/nfs/nfs_vnops.c
1.14 +14 -0 src/sys/vfs/nfs/nfsnode.h
1.19 +5 -1 src/sys/vfs/smbfs/smbfs_io.c
http://www.dragonflybsd.org/cvsweb/src/include/dirent.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/readdir.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/scandir.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/ttyname.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libstand/cd9660.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libstand/ufs.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/restore/interactive.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.102&r2=1.103&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/43bsd/43bsd_file.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/ibcs2/i386/ibcs2_misc.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/linux_file.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/svr4/svr4_misc.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_sysent.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.56&r2=1.57&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_subr.c.diff?r1=1.62&r2=1.63&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/dirent.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-args.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-hide.h.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.h.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.mk.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysproto.h.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysunion.h.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/isofs/cd9660/cd9660_vnops.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_bio.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_serv.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vnops.c.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfsnode.h.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_io.c.diff?r1=1.18&r2=1.19&f=u
More information about the Commits
mailing list