Age | Commit message (Collapse) | Author |
|
memory = malloc();
if (error) free(memory);
makes no sense; move error checking to above memory allocation
ok thib@
|
|
from it.
This can cause us to follow garbage in the nfsd loop, causing two kinds of hell.
problem noticed by nicm@. OK blambert@.
|
|
to keep the data munging "state" into an nfsm_info structure. Each
function now has this structure on its stack, and it and its members
are now passed around so that the macros/functions can work there magic.
this will make removing the nfsm_* macros way easier.
Idea/code picked up from DragonflyBSD.
Tested by krw@, jacekm@ and myself.
OK blambert@.
|
|
or wcc data if we have a proper reply.
found the hard way by ariane@, tested by ariane@.
OK blambert@
|
|
Even if we know that someone safely holds B_BUSY and will not modify
the buf (as was the case in here), we still need to be sure that
the B_BUSY will not be released while we fiddle with the buf.
In this case, it was not safe, since copyout can sleep and whoever was
writing out the buf could finish the write and release the buf which
could then get recycled or unmapped while we slept. Always acquire
B_BUSY ourselves, even when it might give a minor performance penalty.
thib@ ok
|
|
lbolt and waking up every second and checking to see if the correct
number of seconds has passed, just calculate the timeout once and
pass that to tsleep().
ok thib@
|
|
ok blambert@
|
|
OK blambert@
|
|
sense than malloc.
ok thib@, who says the puffin still gets it either way
|
|
|
|
- Make sure to set the mbuf pointers and the dpos pointer correctly
in nfs_request() before returning an error.
- Fix potential mbufs leaks in nfs_{read,write}rpc for v2. The reply
mbuf was not being freed before the jump to nfsmout.
- Reorder error handling to prevent an error case being treated as a
non-error case.
Fixes issues noticed by sthen@ and ajacoutot@. Tested by both of them.
Reviewd by oga@
OK blambert@
|
|
some error cases
ok thib@
|
|
by anyone besides nfsd(8).
ok blambert@
|
|
if the reply is an error and retire the NFS_RETERR hack. For NFSv3 mounts
the flag was set and reply mbuf not freed to allow the callers to handle
the post-op attributes, or just free the mbuf for NFSv2.
Tested by myself and jasper@ on various arch's.
OK 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.
|
|
OK blambert@
|
|
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@
|
|
ok thib@
|
|
actually get us anything.
ok thib@
|
|
ok thib@
|
|
Just put it in the buf_acquire function.
oga@ ok
|
|
"get it in" thib@
|
|
|
|
|
|
|
|
ok thib@
|
|
Diff from FreeBSD.
OK blambert@
|
|
ok thib@
|
|
error = foo();
if (!error)
bar();
is an alien construct; replace with one from this planet
ok thib@
|
|
ok thib@
|
|
free the mbufs the entry has (socket name, reply).
Found with dlg@'s amazing mbuf debug diff, fix is based on
the same thing in NetBSD (by yamt@netbsd.org).
OK blambert@
|
|
is good for the brain.
ok thib@
|
|
ok thib@
|
|
Thanks to ckuethe for saving much typing with a drive-by perl script.
ok thib@
|
|
code; makes the cleaned-up function much more legible.
ok thib@
|
|
things that should be defined here and remove a silly
comment.
|
|
|
|
OK blambert@
FreeBSD commit message:
Refactor the NFS over UDP retransmit timeout estimation logic to allow
the estimator to be more easily tuned and maintained.
There should be no functional change except there is now a lower limit
on the retransmit timeout to prevent the client from retransmitting
faster than the server's disks can fill requests, and an upper limit
to prevent the estimator from taking to long to retransmit during a
server outage.
|
|
just store the maximun amount of rexmits in one place and
cleanup. Also make sure this only effects soft mounts.
OK blambert@
|
|
OK blambert@ sometime ago
|
|
usefull, and has been disabled for a long long time.
Cleans house a bit.
OK blambert@
|
|
idea never really caught on anywhere so retire it.
"gank this shizzle", blambert@
|
|
|
|
In snaps for a while (way too long, according to deraadt@)
|
|
In snaps for a while.
|
|
increment the num{read,write} and pending{read,write} statistics in that
case, since biodone won't change them on completion.
On another note, I'm not sure that we use physical buffers for swapping
over nfs anymore, so this chunk may be superfluous.
beck@ came up with the same diff "So anyway rather than me commiting it
from my copy, I'm giving you the OK and the commit. since it officially
makes you a buffer cache and NFS hacker };-)"
|
|
levels. This will allow for platforms where soft interrupt levels do not
map to real hardware interrupt levels to have soft ipl values overlapping
hard ipl values without breaking spl asserts.
|
|
the receiving side when passing fd's. ok deraadt@ kettenis@
|
|
ok blambert@
|
|
pointed out by bluhm@, "obvious" thib@
|