Matthew Dillon [Fri, 28 Aug 2009 16:47:44 +0000 (09:47 -0700)]
NFS - Fix remaining VM/BIO issues
The only bug that could not be resolved by the previous commit is related
to the use of dynamic buffer sizing for the buffer that straddles the
EOF of the file. For example, if a file is 32768+4127 bytes then the
second buffer cache buffer would have a size of 4127 bytes instead of
32768 bytes. Because the EOF point can move around and NFS does not
keep good track of it buffers with weird sizes could build up in the
system and interfere with operations against backing VM pages.
In particular truncations followed by seek-write extensions would
interfere with mmap()'s areas around the original (now non-applicable)
truncation point.
It was not possible to fix this bug while still keeping the dynamic
buffer sizing, so this patch converts NFS's buffer cache operations
to use fixed-sized buffers in all cases. This leads to more wasted
memory when dealing with small files and further optimizations may be
attempted in the future, but it seems to solve issues with BIO/VM
interactions.
* Fsx now survives an overnight pass.
* Buildworld now survives multiple passes when using a writable NFS /usr/obj.
* Fix umount sequencing. Sometimes the rxthread would get into a
reconnect loop and not exit.
Matthew Dillon [Fri, 28 Aug 2009 05:47:13 +0000 (22:47 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Fri, 28 Aug 2009 03:34:50 +0000 (20:34 -0700)]
Kernel - Close VM/BIO races and document.o
* Remove vfs_setdirty(), it is no longer used.
Remove vfs_page_set_valid(), it is no longer used.
Remove vfs_bio_set_valid(), it is no longer used.
* When acquiring a buffer with getblk() whos size differs from the
buffer already cached, no longer destroy the VM pages backing
the buffer after completing the write. Instead just release
the buffer so a new, larger one can be constructed.
NFS buffers which straddle file EOF can remain cached after the
file has been extended via seek/write or ftruncate, and their
underlying VM pages may become dirty via mmap. If the buffer
is acquired later the underlying VM pages beyond the buffer's
original b_bcount size must be retained, not destroyed.
* No longer try to clear the pmap modified bit from misc vm_page_*()
functions. In cases where we desire the pmap modified bit to be
clear, it should *already* have been cleared in the run-up to the
I/O. Clearing it later may cause the buffer cache to lose track
of the fact that underlying VM pages may have been modified again.
NFS buffers use b_dirtyoff/b_dirtyend to determine what to actually
write. If the VM page is modified again the current write operation
will not cover all the dirty parts of the buffer and another write
will have to be issued. Clearing the pmap modified bit at later
stages did not properly track changes in b_dirtyoff/b_dirtyend and
resulted in dirty data being lost.
* Implement vfs_clean_one_page() to deal with nearly all buffer cache vs
backing VM page dirty->clean handling at the appropriate time.
In addition, this function now detects the case where a buffer has
B_NEEDCOMMIT set but the underlying VM page is dirty. This
function necessarily only clears the dirty bits associated
with the buffer because buffer sizes are not necessarily page aligned,
which is different from clearing ALL the dirty bits as the putpages
code is able to do. So the B_NEEDCOMMIT test is only against those
dirty bits associated with the buffer. If this is found to be the
case the B_NEEDCOMMIT flag is cleared.
This fixes a race where VM pages backing a dirty buffer which has gone
through the phase-1 commit are dirtied via a mmap, and NFS then goes
through with the phase-2 commit and throws the data away when it really
needed to go back and do another phase-1 commit.
* In vnode_generic_put_pages() no longer clear the VM page dirty bits
associated with bits of a file which extend past file EOF in the
page straddling the EOF. We used to do this with the idea that
we would only clear the dirty bits up to the file EOF later on
in the I/O completion code.
However, this was too fragile. If a page ended up with any dirty
bits left set it would remain endless dirty and be reflushed forever.
We now clear the dirty bits for the entire page after a putpages
operation completes without error, and don't bother doing it
prior to I/O initiation.
* Call nfs_meta_setsize() for both seek+write extensions (holes) and for
ftruncate extensions (holes).
nfs_meta_setsize() now deterministically adjusts the size of the buffer
that was straddling the PRIOR EOF point, fixing an issue where
write-extending a file to near the end of a nfs buffer boundary (32K),
then seek-write extending it further by creating a hole, then
mmap()ing the end of the first chunk and modifying data past the
original write-extend point... would lose the extra data because
the original buffer was still intact and was still sized for the
original EOF. This was difficult to reproduce because it only occurred
if all the dirty bits got cleared when the original buffer is flushed,
meaning the original write-extend point had to be within 511 bytes of
the end of a 32K boundary.
Simon Schubert [Thu, 27 Aug 2009 15:19:38 +0000 (17:19 +0200)]
dma: bump man page date
Simon Schubert [Thu, 27 Aug 2009 15:19:13 +0000 (17:19 +0200)]
dma: man page cleanup
Simon Schubert [Thu, 27 Aug 2009 20:20:38 +0000 (22:20 +0200)]
dma: add recipient parsing from headers
Simon Schubert [Thu, 27 Aug 2009 16:24:50 +0000 (18:24 +0200)]
dma: convert to more extensible queue file format
Simon Schubert [Thu, 27 Aug 2009 15:23:09 +0000 (17:23 +0200)]
dma: beautify queue listing output
Simon Schubert [Thu, 27 Aug 2009 15:08:49 +0000 (17:08 +0200)]
dma: add queue-only mode (no instant delivery attempt)
This acts like the DEFER config option, just from the command line.
Simon Schubert [Thu, 27 Aug 2009 14:32:19 +0000 (16:32 +0200)]
dma: move sender into queue
Simon Schubert [Thu, 27 Aug 2009 14:38:51 +0000 (16:38 +0200)]
dma: initialize queue structures
Simon Schubert [Thu, 27 Aug 2009 11:52:43 +0000 (13:52 +0200)]
dma: factor out mail handling code
Simon Schubert [Thu, 27 Aug 2009 11:32:47 +0000 (13:32 +0200)]
games/quiz: add another president answer section and update data
Submitted-by: Ulrich Spoerlein
Taken-from: FreeBSD ports
Simon Schubert [Wed, 26 Aug 2009 00:46:59 +0000 (02:46 +0200)]
ppi.4: remove wrong statement
Sascha Wildner [Thu, 27 Aug 2009 07:13:22 +0000 (09:13 +0200)]
installer: Enable writing to the disk label area prior to wiping it.
While here, move the few lines of fn_create_subpartitions() to flow.c.
Suggested-by: dillon
Reported-by: <elekktretterr@exemail.com.au>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1461>
Matthew Dillon [Wed, 26 Aug 2009 17:43:35 +0000 (10:43 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 26 Aug 2009 17:40:41 +0000 (10:40 -0700)]
Kernel - fix access checks
* VOP_ACCESS() is used for more then just access(). UFS and other
filesystems (but not HAMMER) were calling it in the open/create/rename/
unlink paths. The uid/gid must be used in those cases, not the ruid/rgid.
Add a VOP_EACCESS() macro which passes the appropriate flag to use the
uid/gid instead of the ruid/rgid, and adjust the filesystems to use this
macro.
Reported-by: Stathis Kamperis <ekamperi@gmail.com>
Hasso Tepper [Wed, 26 Aug 2009 08:41:15 +0000 (11:41 +0300)]
Automatic login isn't the default any more.
Reported-by: matthias@
Hasso Tepper [Wed, 26 Aug 2009 08:37:17 +0000 (11:37 +0300)]
Add LIBEDIT_MAJOR and LIBEDIT_MINOR defines.
Some thirdparty software pieces use these to detect usability of the
libedit.
Obtained-from: NetBSD
Sascha Wildner [Wed, 26 Aug 2009 07:53:22 +0000 (09:53 +0200)]
Oops, remove the correct file via 'make upgrade' (gcc41 -> gcc34).
Noticed-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
Matthew Dillon [Wed, 26 Aug 2009 07:04:47 +0000 (00:04 -0700)]
AMD64 - Ansification of fsx to deal with misc 64-bit issues.
Matthew Dillon [Wed, 26 Aug 2009 07:02:05 +0000 (00:02 -0700)]
AMD64 - Fix minor issues.
* Stop kgdb from looping forever if it comes across a bad address
during the thread scan.
* livkvm prints the correct address for the invalid address message
instead of truncating it to 32 bits.
Matthew Dillon [Wed, 26 Aug 2009 05:49:41 +0000 (22:49 -0700)]
Kernel - Clean up conditionals to make them more readable (no real code chg)
Matthew Dillon [Wed, 26 Aug 2009 05:48:54 +0000 (22:48 -0700)]
AMD64 - Correct wire_count, statistics, and other pmap fixes and cleanups
Matthew Dillon [Wed, 26 Aug 2009 05:43:44 +0000 (22:43 -0700)]
Testing - fix bugs in fsx related to 64-bit systems.
* FSX was assuming pointers fit in an int.
Matthew Dillon [Wed, 26 Aug 2009 01:41:24 +0000 (18:41 -0700)]
cdparanoia hacks - add ENOMEDIUM, fake out scsi_inquiry() in CAM headers.
Matthew Dillon [Wed, 26 Aug 2009 01:40:34 +0000 (18:40 -0700)]
Kernel - Add scsi/scsi_sg linux-compatible SCSI pass through device
Taken-from: FreeBSD
Matthew Dillon [Wed, 26 Aug 2009 01:02:22 +0000 (18:02 -0700)]
Kernel - pass sysmsg through to ioctl.
* Pass the sysmsg through to the ioctl code so ioctls can set the return
value. A single linux ioctl from the SCSI sg code uses this feature.
Matthew Dillon [Tue, 25 Aug 2009 22:34:05 +0000 (15:34 -0700)]
Fix issue1314 - panic when exporting -public flag
* Double exclusive vnode lock was to blame.
Reported-by: Michael Neumann <mneumann@crater.dragonflybsd.org>
Testing-also-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
Matthew Dillon [Tue, 25 Aug 2009 19:39:08 +0000 (12:39 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Tue, 25 Aug 2009 19:38:18 +0000 (12:38 -0700)]
kernel - Add support for %z[d,x,etc].
* %z used to be used for hex printing. Instead use it for
size_t as per ANSI-C.
Matthew Dillon [Tue, 25 Aug 2009 19:36:32 +0000 (12:36 -0700)]
AMD64 - Fix bug in mpstable pass 1 non-default configuration
* cth was not being converted from a physical to a virtual address via
the DMAP.
Matthew Dillon [Tue, 25 Aug 2009 19:35:08 +0000 (12:35 -0700)]
AMD64 - Fix format conversions and other warnings.
Matthew Dillon [Tue, 25 Aug 2009 17:25:01 +0000 (10:25 -0700)]
AMD64 - Adjust _pmap_allocpte() to handle races.
* The vm_page_grab() can block, resulting in a race. Deal with the case
similarly to how the i386 code deals with it.
Sascha Wildner [Tue, 25 Aug 2009 16:57:08 +0000 (18:57 +0200)]
Wipe up kerberos remains via 'make upgrade'.
Sascha Wildner [Tue, 25 Aug 2009 16:56:11 +0000 (18:56 +0200)]
Wipe up gcc34 remains via 'make upgrade'.
Sascha Wildner [Tue, 25 Aug 2009 16:50:01 +0000 (18:50 +0200)]
Add some MLINKS for cpp(1) and gcov(1) manual pages.
Sascha Wildner [Tue, 25 Aug 2009 14:42:43 +0000 (16:42 +0200)]
Clean up iSCSI options.
* There is no ISCSI_INITIATOR option, just the device.
* Add ISCSI_INITIATOR_DEBUG to LINT.
Matthias Schmidt [Tue, 25 Aug 2009 16:06:57 +0000 (18:06 +0200)]
Merge branch 'master' of git://chlamydia.fs.ei.tum.de/dragonfly
Matthias Schmidt [Tue, 25 Aug 2009 16:06:22 +0000 (18:06 +0200)]
DEVFS - Add rc.d script to Makefiles and examples file
Matthias Schmidt [Tue, 25 Aug 2009 15:53:09 +0000 (17:53 +0200)]
DEVFS - Add rc.d script to load rules at startup
The script will load default rules from /etc/defaults/devfs.conf and
user supplied rules from /etc/devfs.conf
Matthew Dillon [Tue, 25 Aug 2009 15:32:50 +0000 (08:32 -0700)]
AMD64 - Cleanup - Remove JGPMAP32 and READYx
Simon Schubert [Tue, 25 Aug 2009 15:24:52 +0000 (17:24 +0200)]
__DragonFly_version: bump after sleep function renames
Sascha Wildner [Tue, 25 Aug 2009 12:59:41 +0000 (14:59 +0200)]
IPXrouted(8): Fix some amd64 warnings.
Taken-from: FreeBSD
Sascha Wildner [Tue, 25 Aug 2009 12:58:20 +0000 (14:58 +0200)]
vmstat(8): Fix some amd64 warnings.
Partly-taken-from: FreeBSD
Sascha Wildner [Tue, 25 Aug 2009 12:56:27 +0000 (14:56 +0200)]
tip(1): Fix some amd64 warnings.
Taken-from: FreeBSD
Sascha Wildner [Tue, 25 Aug 2009 12:54:19 +0000 (14:54 +0200)]
man(1): Fix an amd64 warning and raise WARNS to 2.
Sascha Wildner [Tue, 25 Aug 2009 12:53:25 +0000 (14:53 +0200)]
Install sys/dev/disk/mpt/mpilib/*.h to /usr/include, too.
<sys/mpt_ioctl.h> needs them.
Matthew Dillon [Tue, 25 Aug 2009 05:36:00 +0000 (22:36 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Tue, 25 Aug 2009 05:35:19 +0000 (22:35 -0700)]
AMD64 - Fix dev_t tests in cpdup
* cpdup was traversing mount points when it shouldn't have been, due
to badly written st_dev tests.
Simon Schubert [Tue, 25 Aug 2009 00:22:04 +0000 (02:22 +0200)]
dma: don't set it->mailf too early
We may not set it->mailf in newspoolf(), or aquirespool() will not
(re-)open the mail file, leading to concurrent seeks.
Reported-by: Daniel Roethlisberger
DragonFly-Bug: <http://bugs.dragonflybsd.org/issue1462>
Michael Neumann [Mon, 24 Aug 2009 23:51:14 +0000 (01:51 +0200)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Michael Neumann [Mon, 24 Aug 2009 23:33:36 +0000 (01:33 +0200)]
priv: hammer expand not allowed within jail
Matthew Dillon [Mon, 24 Aug 2009 23:27:32 +0000 (16:27 -0700)]
Kernel - more NFS fixes, more dirty bit fixes, remove vfs_bio_set_validclean()
* Remove vfs_bio_set_validclean(). It is no longer needed.
* General getpages operations must clear dirty bits non-inclusive of
the end of the range. A read which partially overlaps dirty VM
pages shouldn't happen in the first place but if it were to happen
we don't want to lose the dirty status on the DEV_BSIZE'd chunk
straddling the end of the read.
* General truncation support. Replace previous fix with a call to
a new inline, vm_page_clear_dirty_beg_nonincl(). Similar to
the getpages() issue, we do not want to lose the dirty status
on the DEV_BSIZE'd chunk straddling the beginning of a truncation.
(side note: Only effecs NFS as all other filesystems DEV_BSIZE-align
their operations, but a good general fix in anycase).
Matthew Dillon [Mon, 24 Aug 2009 22:41:42 +0000 (15:41 -0700)]
NFS - Properly handle NFSv3 EOF short-reads
* Short reads were not causing the remainder of the buffer to be
zero'd out in all cases, causing the fsx filesystem test to fail.
* An EOF condition was sometimes improperly reporting a non-zero
bp->b_resid. Race against the server where the client's idea of
the file size differs from the server could result in a non-zero
bp->b_resid after a BIO.
Zero out the remaining space and and set bp->b_resid to 0. The
NFS client code always specifies buffers within the bounds of
the file.
Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
Matthew Dillon [Mon, 24 Aug 2009 22:37:34 +0000 (15:37 -0700)]
Kernel - Fix issues with vnode_pager_setsize() (effects NFS only)
* When truncating a file to non-zero length, if the filesystem calls
vnode_pager_setsize() with a truncation offset that is not a
multiple of DEV_BSIZE vnode_pager_setsize() will improperly clear
the dirty bit for the overlapping DEV_BSIZE'd block in the VM page
straddling the truncation point.
This only effects NFS. The fsx filesystem test was failing due to
a lost dirty page after a truncation.
Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
Matthew Dillon [Mon, 24 Aug 2009 16:09:24 +0000 (09:09 -0700)]
ISCSI - correct compiler errors due to recent divergences.
Matthew Dillon [Mon, 24 Aug 2009 15:59:40 +0000 (08:59 -0700)]
Bring in ISCSI initiator support.
* Port ISCSI initiator support from FreeBSD.
* Additional work to help stabilize it.
Submitted-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
Taken-from: FreeBSD
Matthew Dillon [Mon, 24 Aug 2009 15:43:19 +0000 (08:43 -0700)]
Rename msleep() to ssleep().
* msleep() was taking a spinlock. Rename to ssleep() as per old request
from hsu.
* Our mtx functions currently use mtxsleep(). Leave msleep() unassigned
to make porting easier.
Matthew Dillon [Mon, 24 Aug 2009 15:31:17 +0000 (08:31 -0700)]
Rename serialize_sleep() to zsleep()
Matthew Dillon [Mon, 24 Aug 2009 15:20:02 +0000 (08:20 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 24 Aug 2009 15:16:14 +0000 (08:16 -0700)]
fsync - Add sysctl to relax fsync requirements.
* sysctl vfs.hammer.fsync_mode (defaults to 0 == full fsync semantics).
0 - full fsync semantics
1 - asynchronous
2 - synchronous fsync on close if fsync called prior to close
3 - asynchronous fsync on close if fsync called prior to close
4 - ignore fsync (30-second system sync takes care of it)
* This is likely a temporary measure until HAMMER gets a REDO log.
It is mainly to facilitate testing and to reduce the pounding
disks take from pkgsrc bulk builds (pkg_add seems to insist on
calling fsync() a lot for no reason).
Matthew Dillon [Mon, 24 Aug 2009 15:15:17 +0000 (08:15 -0700)]
Add a flags argument to VOP_FSYNC()
* So filesystem code knows whether it is being called from userland or not.
Sepherosa Ziehau [Mon, 24 Aug 2009 10:59:42 +0000 (18:59 +0800)]
brgphy: Add support for BCM5722
Sepherosa Ziehau [Mon, 24 Aug 2009 10:58:28 +0000 (18:58 +0800)]
miibus: miidevs.h regen
Sepherosa Ziehau [Mon, 24 Aug 2009 10:57:49 +0000 (18:57 +0800)]
miibus: Add PHY id for BCM5722
Simon Schubert [Mon, 24 Aug 2009 09:52:28 +0000 (11:52 +0200)]
remove more kerberos/heimdal
Nicolas Thery [Sun, 23 Aug 2009 19:04:21 +0000 (21:04 +0200)]
nfs: init real/saved uid/gid in server-side credentials
When unmarshalling a request, the server constructs a ucred
structure (nfsrv_descript.nd_cr) from the credential data in the
RPC. It initializes only the effective uid and gid and leaves
the real and saved uid/gid unitialized. This effectively sets
the real/effective ids to root because nd_cr is first
bzero()'ed.
As a consequence, now that accept(2) checks real uid/gid, all
accept calls to NFS files incorrectly succeed.
Fix this by initializing the real and saved uid/gid in nd_cr to
the same values as the real uid/gid (only the real uid/gid are
RPC'ed to the server).
NOTE: accept(2) and faccessat(2) to NFS files are still broken
in part because the client sends the effective uid/gid to the
server. I'll fix this once I've groked the uid magic in the NFS
code.
Simon Schubert [Sun, 23 Aug 2009 16:47:03 +0000 (18:47 +0200)]
remove kerberos/heimdal
Simon Schubert [Sun, 23 Aug 2009 11:32:14 +0000 (13:32 +0200)]
remove gcc34
Matthew Dillon [Sun, 23 Aug 2009 16:28:55 +0000 (09:28 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 23 Aug 2009 10:19:02 +0000 (03:19 -0700)]
PF - Must set FW_MBUF_REDISPATCH when translating input packets
* If a TCP or UDP input packet is translated and happens to be
destined to the local host, FW_MBUF_REDISPATCH must be set
or it may end up on the wrong protocol stack and generate a
(e.g.) TCP RST.
* This fixes 'nat' rulesets, and probably others.
Matthew Dillon [Sun, 23 Aug 2009 10:17:27 +0000 (03:17 -0700)]
Network - redispatch was not properly adjust ip->ip_len
* ip->ip_len is adjusted down by hlen. If a redispatch occurs it must
be corrected back up in order to do the ip_mport() function. Otherwise
the function may fail in its length check code.
Sascha Wildner [Sun, 23 Aug 2009 08:08:37 +0000 (10:08 +0200)]
ciss(4): Use a more proper fix to silence the ciss_print0() warning.
The real problem was that -DCISS_DEBUG=0 in the Makefile still defined
CISS_DEBUG which isn't supposed to be defined by default.
Nicolas Thery [Sun, 23 Aug 2009 06:18:28 +0000 (08:18 +0200)]
add faccessat(2) syscall
Also add its libc_r wrapper and man page.
Nicolas Thery [Sat, 22 Aug 2009 22:37:44 +0000 (00:37 +0200)]
vfs: add support for incoming faccessat(2) syscall
Add flags argument to vop_access and change vop_helper_access()
to check access against real or effective uid/gid depending on
AT_EACCESS presence in flags.
NOTE: nfs_access() may need to be changed too but I haven't yet
managed to figure out whether if should use real or effective uid
depending on AT_EACCESS.
Approved-by: dillon@, corecode@
Nicolas Thery [Sat, 22 Aug 2009 17:31:24 +0000 (19:31 +0200)]
access(2): fix confusion between real and effective uid/gid
Posix states that access() shall check permissions against
real uid and gid but our implementation was using effective
uid and gid instead.
Change vop_helper_access accordingly.
NOTE: This code will change soon when faccessat(2) is implemented
but I'd rather not mix the bug fix with a new feature in a single
commit.
NOTE: nfs_access() may need to be fixed too but I haven't
managed yet to figure out whether it should use real or
effective uid.
Fix-suggested-by: Alex Hornung <ahornung@gmail.com>
Approved-by: dillon@
Nicolas Thery [Sat, 22 Aug 2009 22:04:17 +0000 (00:04 +0200)]
nwfs: refactor nwfs_access to use vop_helper_access
Nicolas Thery [Sat, 22 Aug 2009 21:58:35 +0000 (23:58 +0200)]
smbfs: refactor smbfs_access to use vop_helper_access
Nicolas Thery [Sat, 22 Aug 2009 21:48:02 +0000 (23:48 +0200)]
nfs: refactor nfs_laccess to use vop_helper_access
Nicolas Thery [Sat, 22 Aug 2009 20:23:32 +0000 (22:23 +0200)]
procfs: refactor vop_access to use vop_helper_access
Nicolas Thery [Sat, 22 Aug 2009 16:48:16 +0000 (18:48 +0200)]
ufs: refactor vop_access to use vop_helper_access
Nicolas Thery [Sat, 22 Aug 2009 14:16:51 +0000 (16:16 +0200)]
udf: refactor vop_access to use vop_helper_access
Nicolas Thery [Wed, 19 Aug 2009 05:27:40 +0000 (07:27 +0200)]
msdosfs: refactor vop_access to use vop_helper_access
Nicolas Thery [Wed, 19 Aug 2009 05:20:06 +0000 (07:20 +0200)]
isofs: refactor vop_access to use vop_helper_access
Nicolas Thery [Wed, 19 Aug 2009 05:08:31 +0000 (07:08 +0200)]
hpfs: refactor vop_access to use vop_helper_access
Nicolas Thery [Tue, 11 Aug 2009 07:14:13 +0000 (09:14 +0200)]
ext2: refactor vop_access to use vop_helper_access
Nicolas Thery [Tue, 11 Aug 2009 07:19:23 +0000 (09:19 +0200)]
remove #ifdef'ed out quota code from vop_helper_access
Callers can perform quota-specific checks if needed before
calling vop_helper_access.
Nicolas Thery [Sat, 22 Aug 2009 18:16:55 +0000 (20:16 +0200)]
'at' syscalls: remove unneeded _AT_SYMLINK_MASK constant
Matthew Dillon [Sat, 22 Aug 2009 23:06:14 +0000 (16:06 -0700)]
AMD64 - Fix unsigned promotion that was meant to be a signed promotion
* When casting the result if a TCP sequence space difference to a long
we must first cast to tcp_seq_diff_t or the promotion will not
sign-extend the result.
Matthew Dillon [Sat, 22 Aug 2009 23:03:57 +0000 (16:03 -0700)]
AMD64 - Fix just enough of the missing prototypes to help vi not crash
Reported-by: tuxillo
Matthew Dillon [Sat, 22 Aug 2009 21:07:29 +0000 (14:07 -0700)]
Change TCP_MIN_WINSHIFT from 6 to 5 to accomodate broken firewalls.
* The warning was documented in the FreeBSD syncache code. Larger window
scalings will be negotiated if the receive buffer is larger then 2MB.
Matthew Dillon [Sat, 22 Aug 2009 20:59:40 +0000 (13:59 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 22 Aug 2009 20:53:19 +0000 (13:53 -0700)]
TCP - Fix problems with dynamic receiver and sender buffer scaling
* The receive buffer dynamic scaling ran afoul of our
avoid_pure_win_update feature. Correct the calculation so this
feature properly works when the maximum receive window is smaller
the maximum sockbuf size.
* Both the send and receive buffer dynamic scaling were limited
to a maximum TCP window based on the initial window scaling negotiation,
which in turn is based on the initial size of the receive or send
sockbuf.
Negotiate a minimum window scaling of 6 (x64). This currently limits
automatic sockbuf expansion to 4MB. Further refinement is possible
as long as (1 << scaling) does not exceed 1/4 of the initial sockbuf
size.
* Reduce the maximum size of sockbuf can be dynamically scaled to from
16MB to 2MB. If someone wants more they can sysctl it up higher.
* Disable further scaling once the sockbuf size has exceeded the
originally negotiated window scale parameters. There's no gain in
doing it past that.
Sascha Wildner [Sat, 22 Aug 2009 19:41:38 +0000 (21:41 +0200)]
sys/boot: Fix warnings in sys/boot and raise WARNS to 1.
This also fixes an error when building with clang.
Matthew Dillon [Sat, 22 Aug 2009 00:29:04 +0000 (17:29 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 22 Aug 2009 00:28:38 +0000 (17:28 -0700)]
AMD64 - Fix SIZE_MAX test from previous commit
* SIZE_MAX cast to off_t winds up being -1. Oops.
Matthias Schmidt [Fri, 21 Aug 2009 12:35:23 +0000 (14:35 +0200)]
Merge branch 'master' of git://chlamydia.fs.ei.tum.de/dragonfly
Matthias Schmidt [Fri, 21 Aug 2009 12:34:43 +0000 (14:34 +0200)]
Fix typo in development(7)
Matthew Dillon [Fri, 21 Aug 2009 10:45:28 +0000 (03:45 -0700)]
AMD64 - Fix compiler warnings.