Age | Commit message (Collapse) | Author |
|
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@.
|
|
as "should run as a user process"
|
|
and remove the function. ok thib
|
|
This is a similar case to the ntfs commit just made, howerver things a
somewhat more hard to audit because cd9660 actually implements vnode
locking (using lockmgr still due to vnode recursion *vomit*). No rwlock
on the hash table though so these locks can probably be converted to
mutexes fairly simply to prevent reentering the list code.
|
|
Found by LLVM/Clang Static Analyzer.
ok otto@ krw@ tedu@
|
|
uio_off. Prevents crap being passed as the starting offset to
getdirentries(), which could lead to various kinds of confusion
when trying to process cd9660 directory entries.
Problem seen by jsg@, who also found the fix in FreeBSD.
ok beck@
|
|
|
|
locking fixes. Tweak cd9660 code to be the same as everywhere else,
no functional change.
ok beck@
|
|
kernels once again mount cd9660 filesystems without crashing.
From an old reverted diff of thib@, parts of which apparently did
not get re-committed.
ok oga@ beck@
|
|
miod@ deraadt@ ok.
|
|
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!
|
|
ok millert@ tedu@
|
|
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().
|
|
size which is the REAL DISK SIZE. always. if a driver fails to set
this right, please fix it. agreed with otto and krw
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles
too.
|
|
|
|
|
|
From mickey@; ok thib@,miod@
|
|
ok pedro@, sturm@
|
|
|
|
ok pedro@
|
|
mounting a multisession CD, as they may be accessed as well.
From FreeBSD via Enache Adrian, okay krw@ thib@ tedu@.
|
|
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).
ok pedro@, art@, tedu@
|
|
OK deraadt@ mjc@ canacar@ krw@, with much input from Enache himself
|
|
ok kettenis@ cloder@ tom@ henning@
|
|
effectively been a no-op for quite some time now,
without promise for future usage.
ok pedro@
Testing by krw@ (earlier diff)
and Johan Mson Lindman (tybollt@solace.miun.se)
|
|
|
|
|