Age | Commit message (Collapse) | Author |
|
after discussions with beck deraadt kettenis.
|
|
in the padding or trailing name bytes.
ok beck@ millert@ espie@
|
|
not returned instead of the offset after that one.
udf_uiodir() returns -1 when there isn't enough space for the next entry,
so just break from the loop and return 0 in that case.
Remove the bogus printf there now that this is handled correctly.
problem reported by espie@
|
|
|
|
position after the entry, and seeking to just after the '.' or '..'
entries requires special handling because they're fabricated.
ok krw@
|
|
sector to daddr_t before calculation to avoid overflow.
ok deraadt@
|
|
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
|
|
ok deraadt@
|
|
ok guenther
|
|
only using ino_t in the VFS layer APIs: vget, readdir, getattr.
ok matthew@
|
|
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@
|
|
|
|
in userland by libkvm)
ok sthen
|
|
- 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.
|
|
changes to libevent and zlib headers sent to the upstream maintainers.
ok jmc@ (for typos), millert@
|
|
|
|
|
|
what the previous IO was. Less chance of copy and paste errors.
Suggested by miod@.
|
|
are past. Use CLR() and SET() to modify necessary flags while leaving
the flags used by the buffer cache in peace.
Should make bufcache code much less confused about the state of the
bufs used in reading/writing disklabels. Other such flag abuses no
doubt await a visit.
Errors in original diff found by miod@.
ok beck@ deraadt@
|
|
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_*.
|
|
unrelated, and his alpha is much happier now.
OK deraadt@
|
|
have been resolved.
|
|
vector setup that has questionable features (that have, as far as I can
tell never been used in practice, atleast not in OpenBSD), remove all
the gunk and favor a simple struct full of function pointers that get
set directly by each of the filesystems.
Removes gobs of ugly code and makes things simpler by a magnitude.
The only downside of this is that we loose the vnoperate feature so
the spec/fifo operations of the filesystems need to be kept in sync
with specfs and fifofs, this is no big deal as the API it self is pretty
static.
Many thanks to armani@ who pulled an earlier version of this diff to
current after c2k10 and Gabriel Kihlman on tech@ for testing.
Liked by many. "come on, find your balls" deraadt@.
|
|
and remove the function. ok thib
|
|
|
|
locking fixes. Tweak cd9660 code to be the same as everywhere else,
no functional change.
ok beck@
|
|
ok krw/phessler
|
|
and Blu-ray disks. Previously working DVDs should still work.
Done at f2k9 with phessler@. Vnode bug squashing by beck@. Thanks
to Bryan Brake for sending HDDVD/Blu-ray hardware and disks to f2k9
in Stockholm.
ok beck@ dlg@ phessler@
|
|
prodded by and ok thib@
agreed by art@ and blambert@
|
|
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.
|
|
and make textual tweaks to .c files to keep them compiling. From
NetBSD.
No changes to .o's at this point.
|
|
|
|
re-using a buf. Taken from the kern/subr_disk.c readdoslabel()
usage.
Avoids a loop in disksort() caused by trying to queue a buffer that is
already in cd->buf_queue. I can now 'disklabel cd0' with "Command
& Conquer 3: Kane's Wrath" in the drive and not hang the system.
Problem reported and fix tested by Jasper Valentij. Thanks!
|
|
Found by LLVM/Clang Static Analyzer.
ok krw@ pedro@
|
|
them going negative - this consists of identifying a number of cases of
IO not going through the buffer cache and marking those buffers with
B_RAW - as well as fixing nfs_bio to show pending writes and reads through
the buffer cache via NFS
still has a problem with mishandling the counters I believe in the
async/sync fallback case where counters stay positive which will be
addressed seperately.
ok tedu@ deraadt@
|
|
conversions that should shave a few bytes off the kernel.
ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer
FOO|BAR''; thanks for looking.
|
|
ok thib beck art
|
|
file copies to nfsv2 causes the system to eventually peg the console.
On the console ^T indicates that the load is increasing rapidly, ddb
indicates many calls to getbuf, there is some very slow nfs traffic
making none (or extremely slow) progress. Eventually some machines
seize up entirely.
|
|
biowait() reads that do *not* come from the buffer cache - we use the
B_RAW flag to identify these at art's suggestion - since it makes sense
and the flag was not being used. this just flags all these buffers with
B_RAW - biodone already ignores returned buffers marked B_RAW.
ok art@
|
|
1) remove multiple size queues, introduced as a stopgap.
2) decouple pages containing data from their mappings
3) only keep buffers mapped when they actually have to be mapped
(right now, this is when buffers are B_BUSY)
4) New functions to make a buffer busy, and release the busy flag
(buf_acquire and buf_release)
5) Move high/low water marks and statistics counters into a structure
6) Add a sysctl to retrieve buffer cache statistics
Tested in several variants and beat upon by bob and art for a year. run
accidentally on henning's nfs server for a few months...
ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
|
|
the superuser. access(2) will now only indicate success for X_OK on
non-directories if there is at least one execute bit set on the file.
OK deraadt@ thib@ otto@
|
|
with eopnotsupp() instead;
ok blambert@
|
|
|
|
ok krw@
|
|
|
|
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().
|