Age | Commit message (Collapse) | Author |
|
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.
Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.
DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.
Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@
|
|
test period; i think 3 years ago the last bugs fell out.
ok otto beck others
|
|
internally, only using ino_t in the VFS layer APIs: vget, readdir, getattr
|
|
the special provided when the mount was requested. This may be the same as
the special that was actually used for the mount (e.g. in the case of a
device node) or it may be different (e.g. in the case of a DUID).
Whilst here, change f_ctime to a 64 bit type and remove the pointless
f_spare members.
Compatibility goo courtesy of guenther@
ok krw@ millert@
|
|
_PC_PRIO_IO, and _PC_SYNC_IO names in VOP_PATHCONF(), as they're
fs-independent for us. Since we don't support latter three on any
fs, we can also define the related _POSIX_{ASYNC,PRIO,SYNC}_IO
symbols in <unistd.h> (via sys/unistd.h) with value -1.
Also, zap pointless tty-only values from procfs(!).
ok beck@, deraadt@
|
|
ok millert@
|
|
loaded ntnodes and once the maximum is reached, unload the least recently
used ntnode before loading a new one. This avoids leaving large data
structures hanging around, which only get cleaned up when the vnode is
reclaimed. Additionally, the buffer cache should contain the data needed
to reload the ntnode.
ok beck@
|
|
significantly reducing NTFS kernel memory usage. Without this the buffer
is not usually freed until the vnode is reclaimed.
Tested by Sebastian Neuper.
ok beck@ krw@
|
|
ok krw@
|
|
ok krw@
|
|
previously leave the ntnode locked and neglect to decrement the use count.
ok krw@ miod@
|
|
fts_read() do not try to be smart and end up skipping over directories.
Additionally, ip->i_nlink will not be initialised until the ntnode has
been loaded for the file.
Makes find(1) behave predictably on a mounted NTFS file system.
ok miod@
|
|
ok miod@ krw@
|
|
- Avoid using copyinstr() without checking the return value.
- sys_mount() has already copied the path in, so pass this to the
filesystem mount code so that it does not have to copy it in again.
- Avoid copyinstr()/bzero() dance when we can simply bzero() and strlcpy().
ok krw@
|
|
to diff against FreeBSD's.
From Brad; no object file change on amd64.
|
|
someone holding a system vnode. prevents crashes with forced unmounts.
silence ntfs_reclaim so that kernel won't spit out vprint's angrily.
ok krw, beck
|
|
|
|
|
|
and return EOPNOTSUPP directly from the VOP_* functions.
Filesystems should, at some point fill in every function
in the vop_default struct so we can get rid of the 'if'
statements in VOP_*.
|
|
Diff from Antti Harri.
|
|
unrelated, and his alpha is much happier now.
OK deraadt@
|
|
(in case eventually we change their type from u_long to something else),
and do not truncate them to 32 bits in the ntfs code.
ok tedu@
|
|
have been resolved.
|
|
|
|
Small cleanup while here, nuke the ntfs_bypass function and just
use eopnotsupp like every other filesystem, it makes no sense to
return ENOTTY for unimplemented VOPs.
|
|
|
|
|
|
|
|
fix a bonus off by one bug. ok matthew
|
|
ok deraadt krw
|
|
$ADORABLE_FELINE.
ok deraadt@ matthew@
|
|
around vinvalbuf(). vrele() -> vput() after VOP_CLOSE().
ok tedu@
|
|
|
|
and remove the function. ok thib
|
|
|
|
replace ntfs_nthash_slock usage with comments prefixed XXXLOCKING (for
grepability).
This lock looks to be correct, but it could well be the bad way to do it
(having a rwlock for inserts to avoid races inserting the same inode but
then simple locking on list accesses).
approach discussed with deraadt@
|
|
sysctl.h was reliant on this particular include, and many drivers included
sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed.
ok deraadt
|
|
- properly spell 'usefulness'
|
|
- remove #ifdef someos blocks, makes this a tad easier to read
agreed by art@ and thib@
|
|
which is exactly what the macro does.
Macro's that are nothing more then:
#define FUNCTION(arg) function(arg)
are almost always pointless and should go away.
OK blambert@
Agreed by many.
|
|
OK thib@
|
|
Tested by a couple of people, no regressions.
|
|
This requires that structures defined within __packed structures must
independently request that they themselves become __packed, too.
worked on with toby
CVS: ----------------------------------------------------------------------
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
ok dlg@
|
|
ok gilles
|
|
|
|
In ip_esp.c all allocated memory is now zero'd in the
"malloc(sizeof(*tc) + alen ..." case. The +alen memory was not
initialized by the bzero() call. Noticed by chl@.
"Looks good" art@ "seems ok" chl@
|
|
MALLOC/FREE, etc. Just adding M_ZERO to malloc() and deleting an
immediately adjacent bzero().
|
|
"this code sucks -- pedro", "just put it in -- tom".
|