| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce and use TIMEVAL_TO_NSEC() to convert SO_RCVTIMEO/SO_SNDTIMEO
specified values into nanoseconds. As a side effect it is now possible
to specify a timeout larger that (USHRT_MAX / 100) seconds.
To keep code simple `so_linger' now represents a number of seconds with
0 meaning no timeout or 'infinity'.
Yes, the 0 -> INFSLP API change makes conversions complicated as many
timeout holders are still memset()'d.
Inputs from cheloha@ and bluhm@, ok bluhm@
|
|
|
|
| |
ok jca@
|
|
|
|
|
|
| |
locking.
ok visa@, bluhm@
|
|
|
|
|
|
|
| |
The account flag `ASU' will no longer be set but that makes suser()
mpsafe since it no longer mess with a per-process field.
No objection from millert@, ok tedu@, bluhm@
|
|
|
|
| |
ok deraadt@, bluhm@
|
|
|
|
|
|
| |
all the callers to call m_freem(9).
Support from deraadt@ and tedu@, ok visa@, bluhm@
|
|
|
|
|
|
|
| |
Protect the fields modifieds by sosetopt() and simplify the dance
with the stars.
ok bluhm@
|
|
|
|
|
|
| |
While here document an abuse of parent socket's lock.
Problem reported by krw@, analysis and ok bluhm@
|
|
|
|
|
|
|
|
|
|
| |
Outside of USB, no code is executed in a softnet interrupt context. So
what's protecting NFS data structures is the KERNEL_LOCK().
But more importantly, since r1.114 of nfs_socket.c, the 'softnet' thread
is no longer executing NFS code.
ok visa@
|
|
|
|
| |
"good work" deraadt@, ok visa@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.
most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.
the manpage and subr_pool.c bits i did myself.
ok tedu@ jmatthew@
@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);
|
|
|
|
| |
ok natano@
|
|
|
|
| |
ok deraadt@
|
|
|
|
| |
ok stsp mpi
|
|
|
|
| |
ok bluhm@, claudio@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
receiving interface in the packet header of every mbuf.
The interface pointer should now be retrieved when necessary with
if_get(). If a NULL pointer is returned by if_get(), the interface
has probably been destroy/removed and the mbuf should be freed.
Such mechanism will simplify garbage collection of mbufs and limit
problems with dangling ifp pointers.
Tested by jmatthew@ and krw@, discussed with many.
ok mikeb@, bluhm@, dlg@
|
|
|
|
|
|
| |
Diff from Vitaliy Makkoveev.
Manpage tweak and ok millert@
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
| |
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
| |
usage in the nfs kthreads. Spotted by fgsch@, similar diff by guenther@,
ok guenther@
|
|
|
|
|
|
|
|
| |
room to queue IO right away, rather than waiting for us to complete the IO
we are working on and potentially do a many buffers DELWRI dance before
waking up the sleepers so they can continue.
ok guether@ tedu@
|
|
|
|
|
|
|
| |
mapping kva when busying up buffers in an nfsiod. (this in
addition to the previous check for 1/4 of the total buffer space)
This makes sparc installs work over nfsv2.
ok deraadt@
|
|
|
|
|
|
| |
anticipation of further changes to closef(). No binary change.
ok krw@ miod@ deraadt@
|
|
|
|
|
|
|
|
| |
Re-initializing the pool everytime nfsd(8) terminates is very bad since it
screws up the list of pools resulting in infinite loops when traversing that
list. Issue found by Daniel Melameth.
ok deraadt@
|
|
|
|
|
|
|
| |
Bogus chunks pointed out by matthew@ and miod@. No cookies for
marco@ and jasper@.
ok deraadt@ miod@ matthew@ jasper@ macro@
|
|
|
|
|
|
|
|
| |
as the kernel now compiles w/o ``#include <sys/pool.h>'' in mbuf.h; removing
that line, though, is for another day, as a userland program (systat, IIRC)
fails to build without it there.
ok krw@
|
|
|
|
|
|
|
| |
the nfs_bufq is full - instead tsleep waiting for one of our nfsiod's
to free up space for us in the queue so we can enqueue on the end.
ok blambert@, tedu@, oga@
|
|
|
|
|
|
| |
no binary change apart from nfsm_reqhead() which is clearly correct.
ok thib@
|
|
|
|
|
|
| |
problem noticed by deraadt@
ok beck@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each mount, and when work is "found", peg an aiod to that mount todo the
I/O. Make nfs_asyncio() a bit smarter when deciding when to do asyncio
and when to force it sync, this is done by keeping the aiod's one two lists,
an "idle" and an "all" list, so asyncio is only done when there are aiods
hanging around todo it for us or are already pegged to the mount.
Idea liked by at least beck@ (and I think art@).
Extensive testing done by myself and jasper and a few others on various
arch's.
Ideas/Code from Net/Free.
OK blambert@.
|
|
|
|
|
|
|
|
|
|
| |
but extensive performance benchmarking done by myself and jasper@
has shown that it doesn't help, at all - even on vaxens and in some
cases it makes things significantly slower.
"this excites me sexually" jetpack@
Tested by jasper@.
OK blambert@
|
|
|
|
| |
OK blambert@
|
|
|
|
|
|
| |
sense than malloc.
ok thib@, who says the puffin still gets it either way
|
|
|
|
|
|
|
|
|
|
| |
where doing bremfree() befure calling buf_acquire().
This is causing us headache pinning down a bug that showed up
when deraadt@ too cvs to current, and will have to be done
anyway as a preperation for backouts.
OK deraadt@
|
|
|
|
|
| |
Just put it in the buf_acquire function.
oga@ ok
|
|
|
|
| |
ok thib@
|
|
|
|
|
|
| |
code; makes the cleaned-up function much more legible.
ok thib@
|
|
|
|
| |
OK blambert@ sometime ago
|
|
|
|
|
|
|
| |
usefull, and has been disabled for a long long time.
Cleans house a bit.
OK blambert@
|
|
|
|
| |
ok blambert@
|
|
|
|
|
|
|
|
|
| |
timeouts. Rrids us of the ugly cur_sec variable, and some shadows.
Also helps with granularity.
Diff from blambert@ who asked me to commit this since he's away for
some days and we wanted to put this in with the timespec changes in
the nfsnode.
|
|
|
|
|
|
| |
to kthread_create()
ok thib@
|
|
|
|
|
|
|
| |
hurt readability and it was just plain annoying seeing them defined
in every other .c file.
OK blambert@
|
|
|
|
| |
ok blambert@
|
|
|
|
|
|
|
| |
nfs_iodwant array became unused. Garbage collect and free up
a few bytes.
ok thib@
|
|
|
|
| |
ok blambert@
|
| |
|
|
|
|
|
|
| |
for uid goo, mostly zapping unused members from various structures.
ok blambert@
|