Matthew Dillon [Sat, 1 Aug 2009 18:26:48 +0000 (11:26 -0700)]
DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()
Matthew Dillon [Sat, 1 Aug 2009 17:12:57 +0000 (10:12 -0700)]
DEVFS - Bring in Alex's GSOC kernel adjustments.
This is a rollup commit bringing in Alex Hornung's GSOC adjustments
to the main kernel codebase for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmail.com>
Matthew Dillon [Sat, 1 Aug 2009 17:00:18 +0000 (10:00 -0700)]
DEVFS - Bring Alex's GSOC mount_devfs.
This is a rollup commit bringing in Alex Hornung's GSOC mount_devfs
in for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmail.com>
Matthew Dillon [Sat, 1 Aug 2009 16:58:16 +0000 (09:58 -0700)]
DEVFS - Bring Alex's GSOC libc tty/dev adjustments in.
This is a rollup commit bringing in Alex Hornung's GSOC libc tty/dev
adjustments in for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmail.com>
Matthew Dillon [Sat, 1 Aug 2009 16:53:21 +0000 (09:53 -0700)]
DEVFS - Bring Alex's devfsctl into the main tree
This is a rollup commit bringing in Alex Hornung's devfsctl into the
main tree.
Submitted-by: Alex Hornung <ahornung@gmail.com>
Matthew Dillon [Sat, 1 Aug 2009 16:43:36 +0000 (09:43 -0700)]
DEVFS - Bring Alex's GSOC DEVFS core into the main tree
This is a rollup commit bringing in Alex Hornung's GSOC DEVFS project
core in. This is the VFS portion of the project.
Author: Alex Hornung <ahornung@gmail.com>
Submitted-by: Alex Hornung <ahornung@gmail.com>
Sascha Wildner [Sat, 1 Aug 2009 15:32:29 +0000 (17:32 +0200)]
Bring back sys/bus/pci/pcidevs which was deleted accidentally.
Matthew Dillon [Fri, 31 Jul 2009 19:40:50 +0000 (12:40 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Fri, 31 Jul 2009 19:40:27 +0000 (12:40 -0700)]
AHCI - Add a description for the loader variables to the AHCI(4) man page.
Hasso Tepper [Fri, 31 Jul 2009 18:55:52 +0000 (21:55 +0300)]
drm/radeon: add RV740 support
Obtained-from: FreeBSD
Matthew Dillon [Thu, 30 Jul 2009 18:41:08 +0000 (11:41 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 30 Jul 2009 18:33:36 +0000 (11:33 -0700)]
Fix nasty bug in exec*() code that can crash the machine.
Fix a case where the exec() would sometimes attempt to free a wild pointer,
placing it in the objcache and creating nasty kernel memory corruption.
Reported-by: Borislav Nikolov <none@venom.interbgc.com>
Sascha Wildner [Wed, 29 Jul 2009 18:21:25 +0000 (20:21 +0200)]
nlookup.h: Include <sys/file.h> for struct file.
Sascha Wildner [Tue, 28 Jul 2009 21:04:44 +0000 (23:04 +0200)]
Bump __DragonFly_version after removing suser() and suser_cred().
Requested-by: corecode
Sascha Wildner [Tue, 28 Jul 2009 18:33:25 +0000 (20:33 +0200)]
gzip.1: Mention that our gzip(1) can now unpack, too.
Sascha Wildner [Tue, 28 Jul 2009 18:28:46 +0000 (20:28 +0200)]
mail.local(8): Raise WARNS to 2.
Sascha Wildner [Tue, 28 Jul 2009 17:54:15 +0000 (19:54 +0200)]
getty(8): Raise WARNS to 2 and fix a warning.
Nicolas Thery [Sun, 26 Jul 2009 20:21:23 +0000 (22:21 +0200)]
add fstatat(2) syscall
Nicolas Thery [Tue, 28 Jul 2009 16:32:50 +0000 (18:32 +0200)]
new nlookup functions for "at" syscalls
Factor out common code for handling "at" family of syscalls into
nlookup_init_at() and nlookup_done_at().
Refactor sys_openat() to use these functions.
Sascha Wildner [Tue, 28 Jul 2009 16:01:00 +0000 (18:01 +0200)]
mountd(8): Raise WARNS to 2.
Sascha Wildner [Tue, 28 Jul 2009 16:00:40 +0000 (18:00 +0200)]
kdump(1): Fix amd64 warning.
Sascha Wildner [Tue, 28 Jul 2009 15:11:31 +0000 (17:11 +0200)]
truss(1): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Tue, 28 Jul 2009 12:37:14 +0000 (14:37 +0200)]
kdump(1): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Tue, 28 Jul 2009 12:36:25 +0000 (14:36 +0200)]
Regenerate syscalls.c
Sascha Wildner [Tue, 28 Jul 2009 12:36:03 +0000 (14:36 +0200)]
makesyscalls.sh: Constify syscall names array.
Sascha Wildner [Fri, 24 Jul 2009 11:36:13 +0000 (13:36 +0200)]
nrelease: Read the # of CPUs and build with -j / MAKE_JOBS.
While here, do clean up a bit.
Sascha Wildner [Tue, 28 Jul 2009 11:58:37 +0000 (13:58 +0200)]
atomic.[ch]: Clean up some warnings that crept up in the recent weeks.
Sascha Wildner [Tue, 28 Jul 2009 11:53:58 +0000 (13:53 +0200)]
telnetd.8: Some more mdoc cleanup.
Matthew Dillon [Tue, 28 Jul 2009 04:22:10 +0000 (21:22 -0700)]
TCP - Fix re-establishment issues if a client reboots
When the machine hosting the client side of a TCP connection
reboots without clearing the connection, the server side will
continue to believe that the connection is in an established
state. If the client attempts to reconnect using the same
port pair (after rebooting, typically), the sequence space checks
against DOS attacks on the server side will cause the SYN
packets to be dropped.
A dandy solution to this problem is to force a keep-alive within
half a second of receiving a SYN on an ESTABLISHED socket. The
server will revalidate the connection and, since the client is
actually alive, will get an immediately Reset. The the next
SYN attempt from the client will then succeed.
A SYN sent as part of a DOS attack has little effect other then
to cause the server to probe the established connection within
half a second of receiving the bogus SYN.
In particular, this fixes issues with TCP NFS connections. NFS
clients are often unable to umount the NFS mounts and the TCP
connection is left established through the reboot. Instead of
hanging on SYNs being simply dropped by the server, the server
now properly detects that the connection is in fact dead after
the first SYN and properly reestablishes it on the next one.
Matthew Dillon [Tue, 28 Jul 2009 00:44:49 +0000 (17:44 -0700)]
TCP - Remove net.inet.tcp.minmssoverload
This feature is horribly broken and has been removed. It immediately breaks
NFS over TCP, it makes major assumptions about how TCP connections are used
which break standards, particular with regards to imposing a minimum data
size for synchronous communications, and the algorithm does not scale to
network speed AT ALL.
Matthew Dillon [Mon, 27 Jul 2009 23:22:29 +0000 (16:22 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 27 Jul 2009 23:19:10 +0000 (16:19 -0700)]
GZIP - Add SCM ident and commit missed changes to gzip.c
* Add SCM ident so Xin Li can track the file, and add missed changes
to gzip.c
Sascha Wildner [Mon, 27 Jul 2009 14:04:38 +0000 (16:04 +0200)]
gzip.1 & co.: Please keep DragonFly timeline for .Dd, not FreeBSD's.
Sascha Wildner [Mon, 27 Jul 2009 14:03:21 +0000 (16:03 +0200)]
mxge.4: Comment out incomplete sentence, use .Fx and add ifmedia(4) xref.
Sascha Wildner [Mon, 27 Jul 2009 14:01:47 +0000 (16:01 +0200)]
telnetd.8: Clean up a bit.
* We do not compile -DBFTPDAEMON so comment out bftp related parts.
* It's 'RFC xxxx', not "RFC-xxxx'.
* Start sentences on a new line.
Sascha Wildner [Mon, 27 Jul 2009 13:59:13 +0000 (15:59 +0200)]
open.2: Remove trailing whitespace.
Sascha Wildner [Sun, 26 Jul 2009 18:50:13 +0000 (20:50 +0200)]
Remove suser*() functions, manpage and assorted remains.
Peter Avalos [Mon, 20 Jul 2009 01:50:00 +0000 (15:50 -1000)]
Implement autosizing TCP socket buffers.
Normally the socket buffers are static (either derived from global
defaults or set with setsockopt) and do not adapt to real network
conditions. Two things happen: a) your socket buffers are too small
and you can't reach the full potential of the network between both
hosts; b) your socket buffers are too big and you waste a lot of
kernel memory for data just sitting around.
With automatic TCP send and receive socket buffers we can start with a
small buffer and quickly grow it in parallel with the TCP congestion
window to match real network conditions.
New sysctls are:
net.inet.tcp.sendbuf_auto=1 (enabled)
net.inet.tcp.sendbuf_inc=8192 (8K, step size)
net.inet.tcp.sendbuf_max=
16777216 (16M, growth limit)
net.inet.tcp.recvbuf_auto=1 (enabled)
net.inet.tcp.recvbuf_inc=16384 (16K, step size)
net.inet.tcp.recvbuf_max=
16777216 (16M, growth limit)
Additionally, add limiters and sanity checks for TCP MSS (maximum segment
size) resource exhaustion attacks.
Obtained-from: FreeBSD
Matthew Dillon [Sun, 26 Jul 2009 21:53:05 +0000 (14:53 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Sun, 26 Jul 2009 21:39:27 +0000 (23:39 +0200)]
Repair rcenable(8) and rcdisable(8).
* rcenable(8) was not playing nicely with our three year old change to
no longer depend on _enable being appended to rc variables for starting
daemons etc. (i.e., foo_enable=yes and foo=yes both work).
* rcdisable(8) did not properly run rcstop(8) because that needs to be
run when the variable is still set to 'yes' and not after it's been
set to 'no'.
Noticed-by: phma on #dragonflybsd
Nicolas Thery [Sun, 26 Jul 2009 18:40:46 +0000 (20:40 +0200)]
libc_r: fix bugs in openat()
The openat() wrapper was not locking its file descriptor argument.
Special case the magic AT_FDCWD descriptor in the file descriptor
locking code (_FD_LOCK() / _FD_UNLOCK()) to avoid EINVAL on locking.
Nicolas Thery [Sun, 26 Jul 2009 16:45:10 +0000 (18:45 +0200)]
make openat(2) a POSIX syscall instead of BSD one.
Matthew Dillon [Sun, 26 Jul 2009 18:56:13 +0000 (11:56 -0700)]
NFS - Increase server-side listen queue for TCP connections from 5 to 64
* The listen queue was not big enough, sometimes when clients boot up
they get stuck for a short period of time due to their NFS connections
getting thrown away by the server.
Sascha Wildner [Sun, 26 Jul 2009 18:49:02 +0000 (20:49 +0200)]
priv.9: Mention that NULL_CRED_OKAY is used by priv_check_cred().
Matthew Dillon [Sun, 26 Jul 2009 18:35:57 +0000 (11:35 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 26 Jul 2009 18:35:22 +0000 (11:35 -0700)]
GZIP - Add unpack support to gzip
Submitted-by: Xin LI <delphij@delphij.net>
Ported-from: FreeBSD
Nicolas Thery [Sun, 26 Jul 2009 05:45:47 +0000 (07:45 +0200)]
add fdopendir(3) implementation (1/?)
POSIX states that the file offset of the passed descriptor determines the
directory entry read but this commit supports only descriptors with null
offsets.
Also add __fdopendir2() for symmetry with opendir/__opendir2().
Nicolas Thery [Sun, 26 Jul 2009 03:35:22 +0000 (05:35 +0200)]
dirent.h: fix typo in comment
Sascha Wildner [Sat, 25 Jul 2009 22:20:49 +0000 (00:20 +0200)]
open.2: Fix typo and reword an awkward sounding sentence.
Sascha Wildner [Sat, 25 Jul 2009 21:41:31 +0000 (23:41 +0200)]
Merge branch 'master' of ssh://swildner@crater.dragonflybsd.org/repository/git/dragonfly
Stathis Kamperis [Sat, 25 Jul 2009 20:03:40 +0000 (23:03 +0300)]
tcsetpgrp(3): Return EINVAL upon invalid process group id.
POSIX mandates it and our man page advertises that we do it already.
DragonFly-bug: <http://bugs.dragonflybsd.org/issue1421>
Partially reviewed-by: dillon@
Stathis Kamperis [Sat, 25 Jul 2009 17:21:40 +0000 (20:21 +0300)]
at(1): Print datetime upon job submission as POSIX mandates.
Before:
$ at 20:39
ls
Job 19 will be executed using /bin/sh
$
After:
$ at 20:39
ls
Job 21 will be executed using /bin/sh
Job 21 at Mon Jul 20 20:39:00 2009
$
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1432>
Nicolas Thery [Sat, 25 Jul 2009 07:17:35 +0000 (09:17 +0200)]
add openat(2) man page
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1435>
Obtained-from: FreeBSD
Nicolas Thery [Sat, 25 Jul 2009 07:12:09 +0000 (09:12 +0200)]
add openat(2) system call
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1435>
Reviewed-by: dillon@
Sascha Wildner [Sat, 25 Jul 2009 07:03:57 +0000 (09:03 +0200)]
man8/Makefile: Fix a small typo and sort alphabetically.
Thomas Nikolajsen [Fri, 24 Jul 2009 22:35:31 +0000 (00:35 +0200)]
rc,rc.8,rc.shutdown: Note that rc & rc.shutdown aren't for local modification
Update description of rc.local, rc.shutdown.local &
make alias for latter to rc.8
Sepherosa Ziehau [Fri, 24 Jul 2009 11:44:48 +0000 (19:44 +0800)]
ae(4): Reset PHY during resuming
Submitted-by: Alexander Polakov <polachok@gmail.com>
Sascha Wildner [Fri, 24 Jul 2009 00:12:25 +0000 (02:12 +0200)]
stty.1: Start sentences on a new line.
Matthew Dillon [Thu, 23 Jul 2009 22:41:41 +0000 (15:41 -0700)]
NFS - Change the mount default from udp to tcp, add "udp" option.
* Mount_nfs now mounts TCP by default.
* Added "udp" option, and the -U option now works similarly to -T,
but for udp instead of tcp.
Matthew Dillon [Thu, 23 Jul 2009 20:43:44 +0000 (13:43 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 20:43:11 +0000 (13:43 -0700)]
VKE - Move vke_init_addr() to fix panic
vke_init_addr() requires VKE to be able to send and receive packets, so it
must be called AFTER the cothreads have been created, not before.
Hasso Tepper [Thu, 23 Jul 2009 19:19:45 +0000 (22:19 +0300)]
Add et_EE.ISO8859-15 locale.
Matthew Dillon [Thu, 23 Jul 2009 17:14:34 +0000 (10:14 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 17:13:58 +0000 (10:13 -0700)]
HAMMER - Augment "Missing inode for dirent" Warning.
* When warning about a missing inode for a directory entry, also print out
the as-of transaction id and the localization field so we can tell
whether the warning is related to a snapshot and/or PFS.
Stathis Kamperis [Thu, 23 Jul 2009 13:14:37 +0000 (16:14 +0300)]
cmp.1: Add compatibility section.
Matthew Dillon [Thu, 23 Jul 2009 09:06:24 +0000 (02:06 -0700)]
AHD: Add a DELAY() in the XPT_RESET_BUS path to avoid a race.
The exact race isn't known but adding the DELAY() appears to fix
it. It could be related to ccb's queued prior to the bus reset
which we have to abort.
With-help-from: Peter Avalos <pavalos@theshell.com>
Matthew Dillon [Thu, 23 Jul 2009 05:06:12 +0000 (22:06 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 05:00:13 +0000 (22:00 -0700)]
HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET(). Fix readdirplus
* VGET is used by NFS to acquire a vnode given an inode number. HAMMER
requires additional information to determine the PFS the inode is being
acquired from.
Add an optional directory vnode argument to the VGET. If non-NULL, HAMMER
will extract the PFS information from this vnode.
* Adjust NFS to pass the dvp to VGET when doing a readdirplus.
Note that the PFS is already encoded in file handles, but readdirplus
acquires the attributes for each directory entry it scans (readdir does
not). This fixes readdirplus for NFS served HAMMER PFS exports.
Matthew Dillon [Thu, 23 Jul 2009 04:40:10 +0000 (21:40 -0700)]
NFS - fix d_ino reporting for readdir, readdirplus, fix unsigned check
* The d_ino reported by readdir/readdirplus was not encoding the entire
64 bit inode number.
* Extracted cnt/siz variables are signed ints, cast to unsigned to check
against max to deal with negative values.
Hasso Tepper [Thu, 23 Jul 2009 04:04:24 +0000 (07:04 +0300)]
Add some more Sys V compatibility integer typedefs.
Sascha Wildner [Wed, 22 Jul 2009 19:27:13 +0000 (21:27 +0200)]
/usr/Makefile: cvs update using -q.
Simon Schubert [Tue, 21 Jul 2009 23:21:44 +0000 (01:21 +0200)]
dma: don't block when trying to aquire a queue file
We might race with some other process, so it is imperative to treat a
locked file as a soft error instead of blocking on the file until the
other process unlocks it.
Simon Schubert [Tue, 21 Jul 2009 23:20:54 +0000 (01:20 +0200)]
dma: don't block on lock/opening the mbox file, backoff instead
Simon Schubert [Tue, 21 Jul 2009 23:20:08 +0000 (01:20 +0200)]
dma: accept -q without argument. report argument errors.
Simon Schubert [Tue, 21 Jul 2009 00:29:02 +0000 (02:29 +0200)]
dma: add comments for ESMTP support
Simon Schubert [Tue, 21 Jul 2009 00:28:46 +0000 (02:28 +0200)]
dma: treat seek errors as permanent errors
Simon Schubert [Mon, 20 Jul 2009 23:51:45 +0000 (01:51 +0200)]
dma: more loudly note that we should query for MX records
Simon Schubert [Mon, 20 Jul 2009 21:27:50 +0000 (23:27 +0200)]
dma: fix various bugs in local mbox delivery
Simon Schubert [Mon, 20 Jul 2009 21:27:37 +0000 (23:27 +0200)]
dma: fix mail bouncing
Simon Schubert [Mon, 20 Jul 2009 20:48:00 +0000 (22:48 +0200)]
dma: always log error exits
Simon Schubert [Mon, 20 Jul 2009 19:58:39 +0000 (21:58 +0200)]
dma: drop CVS ids
Simon Schubert [Mon, 20 Jul 2009 19:53:32 +0000 (21:53 +0200)]
dma: rewrite file management
Close files as early as possible, possibly re-open them later. This is
so that we avoid filedesc sharing problems completely and that we won't
run out of fdesc in case of a large queue.
Simon Schubert [Mon, 20 Jul 2009 11:33:09 +0000 (13:33 +0200)]
dma: correct logic for setting the locked flag
Simon Schubert [Sun, 19 Jul 2009 23:20:27 +0000 (01:20 +0200)]
dma: restructure logging
Don't carry the ident manually. Instead set a global tag once the
ident is fixed.
Simon Schubert [Sun, 19 Jul 2009 14:01:58 +0000 (16:01 +0200)]
dma: note that the data file provides the id
Simon 'corecode' Schubert [Sun, 2 Nov 2008 00:10:10 +0000 (01:10 +0100)]
dma: rework queue handling
Simon 'corecode' Schubert [Mon, 27 Oct 2008 05:45:12 +0000 (06:45 +0100)]
dma: Move comment.
Simon 'corecode' Schubert [Fri, 17 Oct 2008 07:32:26 +0000 (09:32 +0200)]
dma: Re-arrange argument consistency checks.
Simon 'corecode' Schubert [Thu, 16 Oct 2008 15:45:10 +0000 (17:45 +0200)]
dma: better tag handling
Matthew Dillon [Tue, 21 Jul 2009 19:39:03 +0000 (12:39 -0700)]
EXT2FS: support variable inode size.
Obtained-from: FreeBSD
Cherry-picked-from: http://github.com/polachok/dragonflybsd/commit/
d8b7a4caaa2724148e95939207977a0730c349b2
Submitted-by: Alexander Polakov
Sascha Wildner [Mon, 20 Jul 2009 23:19:53 +0000 (01:19 +0200)]
Sync zoneinfo database with tz{code,data}2009k from elsie.
africa: 8.21 -> 8.22
asia: 8.35 -> 8.36
europe: 8.21 -> 8.22
leapseconds: 8.8 -> 8.9
zic.c: 8.19 -> 8.20
From Arthur David Olson's comments:
* africa: Change Mauritius to reflect that the 2008-2009 DST experiment
is not repeated (and to change end of DST in 2009 from 2:00
standard time to 2:00 local time) (thanks to Steffen Thorsen).
* asia: Arbitrarily cut off Dhaka DST at end of 2009 (so that a POSIX-
style time zone string can appear in the Dhaka binary file, and
for the benefit of systems with old glibc reimplementations of
the time zone library that don't handle permanent DST correctly).
Note that another change will be needed once the real end date
for DST in Dhaka is known.
* europe: Update URL for Directive 2000/84/EC on summer-time
arrangements (thanks to Colin Watson and Ian Jackson).
* leapseconds: Change "no leap second" comment (no leap second at end
of 2009).
* zic.c: Do not end a binary file with a POSIX-style time zone string
for locations that end up in permanent DST (thanks to Andreas Schwab).
Peter Avalos [Sat, 18 Jul 2009 23:35:46 +0000 (13:35 -1000)]
Update gzip.
- gzexe: Ensure we do not compress files we need for decompressing by
also checking hard links. From Andrew Dalgleish. (from OpenBSD)
- note that -n also stops the timestamp from being output.
- Don't abort decompression if there are no bytes in the output buffer
when the end of compressed block (ie the crc) is reached.
(ie when decompressing concatenated zipped files).
- If stdin is the input stream, fstat it and check if it's
file. If so, use it's mtime for the mtime in the header. Otherwise use
time(2)'s result instead. Lines up with GNU gzip and RFC 1952 now as
well.
- Fix parsing of $GZIP so that not to overrun the end of string.
- handle partial reads.
- avoid an infinite loop while decompressing invalid gzip files.
- in file_compress() always stat() the input file. this patch avoids
reading from uninitialised space.
- Fix a few issues:
gzip -vt just prints the contents of a .Z file
gzip -vt will print OK even if the .gz file is corrupt
gzip -vt prints nothing with a .bz2 file
gzip can loop endlessly with a corrupt .bz2 file
- Don't warn about >4GB files not having their size correctly stored.
- Remove unhandled H option from getopt() argument. Describe -l in usage.
- properly check the return value of read() & pread().
- Delete impossible code.
- Abort decompression with an error when EOF is reached on input. The
test output will then be 'NOT OK'.
- End a decompression when trailing garbage is found. It emits a warning
message and causes a non-zero exit status (similar to GNU gzip).
- properly detect when the output fails (eg, full filesystem) and do not
delete the input file.
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1026
Matthew Dillon [Sat, 18 Jul 2009 22:09:40 +0000 (15:09 -0700)]
NFS - Increase default read-ahead from 4 to 6
But continue to play nice with the server.
Matthew Dillon [Sat, 18 Jul 2009 22:03:49 +0000 (15:03 -0700)]
NFS - Implement async write BIO, greatly increase sockbuf limits, better rexmit
* Write BIOs are now executed asynchronously.
* Commit BIOs are now executed asynchronously.
* Increase the sockbuf limit to around 2MBytes, which is what is needed
to handle the burst writing a DragonFly client can do now when the
kernel flushes its buffers (at least for a UDP socket).
* Adjust the rexmit code. Also detect duplicate packets received and
adjust the SRTT up a little since no RTT is calculated when a timeout
occurs.
* NEW SYSCTLS:
vfs.nfs.soreserve - This parameter now overrides all other kernel and
user parameters to set the NFS sockets limit.
vfs.nfs.maxasyncbio - This is set to the hard-coded maximum by default
and may be reduced to accomodate insufficiently
endowed remote servers.
* NOTE ON UDP MOUNTS TO REMOTE SERVERS. If the remote server does not have
sufficient sockbuf space to receive a large burst of UDP packets performance
will suffer greatly. To allieviate this issue you can decrease
vfs.nfs.maxasyncbio on the DragonFly client, or you can simply use a
TCP mount.
Matthew Dillon [Sat, 18 Jul 2009 22:01:07 +0000 (15:01 -0700)]
The limit specified in kern.ipc.maxsockbuf only applies to userland.
This sysctl parameter no longer effects kernel-created or kernel-controlled
sockets whos maximum sizes are specified by other sysctls.
Matthew Dillon [Sat, 18 Jul 2009 15:19:50 +0000 (08:19 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 18 Jul 2009 15:18:49 +0000 (08:18 -0700)]
NFS - Fix panic on umount/reboot
* The rx thread sometimes gets no-error and 0-bytes returned from
its soreceive call, but the caller expects a mbuf in that case.
Check for the case and convert to EPIPE.
Thomas Nikolajsen [Sat, 18 Jul 2009 10:39:39 +0000 (12:39 +0200)]
nfsclient: nfsiod isn't used anymore
* Remove nfsclient rc.conf variable; it was just passed to nfsiod
* Remove nfsiod execution from rc.d/nfsclient
Thomas Nikolajsen [Sat, 18 Jul 2009 10:23:10 +0000 (12:23 +0200)]
rc.d/nfsclient: Put newline after last action
Thomas Nikolajsen [Sat, 18 Jul 2009 11:35:33 +0000 (13:35 +0200)]
rc.d/random: Fix typos
rc.d/random feed_dev_random() would leave seedenable=1;
no effect in default config:
feed_dev_random not called as entropy_file and entropy_dir both unset.