Matthew Dillon [Sun, 1 Mar 2009 03:11:55 +0000 (19:11 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 28 Feb 2009 23:30:30 +0000 (15:30 -0800)]
HAMMER VFS - Fix improper cred checks for utimes()
Adjust the kern_utimes() code in the kernel to check for write permissions
prior to diving into the VFS. UFS checks for write perms but HAMMER doesn't.
Generally speaking we want (at least for now) the kernel to do as much of
these checks as possible.
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Nicolas Thery [Sat, 28 Feb 2009 23:28:08 +0000 (00:28 +0100)]
Mention commit template in committer.7.
Matthew Dillon [Sat, 28 Feb 2009 18:00:13 +0000 (10:00 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 28 Feb 2009 17:55:45 +0000 (09:55 -0800)]
VKERNEL - Fix entry into ddb when running a SMP vkernel. Fixes stop/cont
The vkernel was trying to send individual LWPs a SIGSTOP, but POSIX handles
SIGSTOP differently from other signals and it was not having the desired
effect.
Instead the vkernel now sends SIGXCPU to each individual LWP and installs
a signal handler to pause the thread until the debugger wishes to wake it up
again.
Reported-by: corecode
Nicolas Thery [Sat, 28 Feb 2009 17:32:49 +0000 (18:32 +0100)]
msdosfs: clean up reference counting
For consistency and robustness, always test de_refcnt with > 0 or <= 0.
Also assert that de_refcnt is > 0 when deleting file.
Nicolas Thery [Thu, 26 Feb 2009 06:30:33 +0000 (07:30 +0100)]
msdosfs: fix deleted-but-open files handling.
When deleting a file, msdosfs keeps its denode in the denode cache until it is
reclaimed. This causes a collision in the cache when recycling the directory
entry of a deleted but still open file for a new or renamed file. This
collision was incorrecly handled resulting in a kernel panic (rename case) or
syscall error and corrupted in-core state (new file case).
Fix by allowing denodes pointing to the same directory entry to coexist in the
cache as long as a single one of them represents an existing file.
Reported-by: corecore@
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1286>
Nicolas Thery [Thu, 26 Feb 2009 03:29:14 +0000 (04:29 +0100)]
msdosfs: fix bug in msfdosfs_hashins().
This function returns an error if there is already a denode in the hash table:
EBUSY if the hashed denode represents a live file and EINVAL if it represents a
deleted but still opened file.
There was a typo in the function causing it to check for liveness in the denode
to insert instead of the already inserted one. As a consequence, if N threads
were in a race in deget() to insert a new denode for the same file in the hash
table, the losers would fail with EINVAL instead of retrying.
Nicolas Thery [Thu, 26 Feb 2009 01:48:28 +0000 (02:48 +0100)]
msdosfs: Fix error path in deget().
There was one error path where the depp output parameter was not set to NULL.
Sepherosa Ziehau [Sat, 28 Feb 2009 06:41:36 +0000 (14:41 +0800)]
Update busdma(9) manpage according to recent changes.
Sepherosa Ziehau [Sat, 28 Feb 2009 03:22:38 +0000 (11:22 +0800)]
em(4) manpage: Update according to the recent changes.
- Hardware vlan tagging is always on
- Add hw.em.int_tx_nsegs
- Nuke hw.em.rx_{abs_int_delay,int_delay}
- Nuke hw.em.tx_{abs_int_delay,int_delay}
Sascha Wildner [Fri, 27 Feb 2009 21:29:26 +0000 (22:29 +0100)]
ioctl(9): Add more ioctl chars plus a missing struct keyword in example.
Submitted-by: Stathis Kamperis <ekamperi@gmail.com>
Sepherosa Ziehau [Fri, 27 Feb 2009 13:36:39 +0000 (21:36 +0800)]
em(4): Reduce EM_TXDD_SAFE from 50 to 48.
With this change, the device will have at most 48 TX descriptors pending
to be write back. 48 is chosen according to the table listed on:
Intel 82571EB/82572EI Ethernet Controller Revision 6.0, Page 43,
Item 70. 82571/82572 Overwrites Transmit Descriptors in Internal Buffer.
Sepherosa Ziehau [Fri, 27 Feb 2009 13:30:25 +0000 (21:30 +0800)]
em(4): Don't write ITR, if the NIC is not running yet.
Sepherosa Ziehau [Fri, 27 Feb 2009 13:26:42 +0000 (21:26 +0800)]
em(4): We don't dynamicly config txd_cmd; there is no reason to keep it anymore.
Sepherosa Ziehau [Fri, 27 Feb 2009 13:14:43 +0000 (21:14 +0800)]
em(4): We don't embrace TIDV/TADV; nuke the related bits.
Sepherosa Ziehau [Fri, 27 Feb 2009 11:26:37 +0000 (19:26 +0800)]
em(4): Don't turn on/off TX descs' IDE bit in sysctl.
We don't use TIDV/TADV to implement TX interrupt moderation, i.e.
TX desc's IDE bit should always be off. When we set TX desc's RS
bit, we do want TX interrupt to come immediately after the TX
desc's DD bit is set by hardware.
Sepherosa Ziehau [Thu, 26 Feb 2009 11:58:23 +0000 (19:58 +0800)]
em(4): Adjust RDTR/RADV comment that they should not be used
Sepherosa Ziehau [Thu, 26 Feb 2009 11:42:05 +0000 (19:42 +0800)]
em(4): Don't configure RADV (default is 0), which is deprecated.
- In 82573 workaround, we still need to configure RADV, since RDTR is used.
- Revoke tunable/sysctl node for RADV.
Sepherosa Ziehau [Wed, 25 Feb 2009 13:35:33 +0000 (21:35 +0800)]
em(4): Add tunable for the 82573 workaround, enabled by default.
Given not all 82573 based NICs have this problem and RDTR is
deprecated, adding a tunable to disable the workaround for a bad
hardware design seems like a quite reasonable compromise ...
Sepherosa Ziehau [Wed, 25 Feb 2009 12:05:00 +0000 (20:05 +0800)]
em(4): Revoke tunable/sysctl node for RDTR, which is dangerous and deprecated.
Sepherosa Ziehau [Wed, 25 Feb 2009 11:33:05 +0000 (19:33 +0800)]
em(4): Make sure that the upper 16bits of ITR is 0.
Sepherosa Ziehau [Sun, 22 Feb 2009 09:57:22 +0000 (17:57 +0800)]
em(4): Reduce TX interrupt rate and device's TX desc write requests
The RS (report status) bit in the TX desc controls whether DD bit
should be set by device (via write request) and whether TX interrupt
should be generated. By setting RS bit in the last TX desc of
int_tx_nsegs TX descs, we greatly reduce the TX interrupt rate
(from 20000/s to 1200/s for full speed 1472bytes UDP datagrams) and
the number of device's TX desc write requests. This also gives me
additional +10Kpps on 82573E_IAMT. Add sysctl node for int_tx_nsegs,
its default value is 1/16 number of TX descs. The implementation
details are commented near struct adapter's related fields.
Sascha Wildner [Fri, 27 Feb 2009 13:27:08 +0000 (14:27 +0100)]
Sync em(4) manual page with FreeBSD.
Sascha Wildner [Fri, 27 Feb 2009 07:36:44 +0000 (08:36 +0100)]
Some small fixes.
Joe Talbott [Fri, 27 Feb 2009 00:53:15 +0000 (19:53 -0500)]
expr(1): Add support for -- as required by POSIX
Reported-By: vstemen on #dragonflybsd
Joe Talbott [Fri, 27 Feb 2009 00:48:16 +0000 (19:48 -0500)]
Merge branch 'master' of git://venus/dragonfly
Sascha Wildner [Thu, 26 Feb 2009 22:45:32 +0000 (23:45 +0100)]
atacontrol(8): Fix amd64 warnings.
Sascha Wildner [Thu, 26 Feb 2009 22:15:06 +0000 (23:15 +0100)]
pppoed(8): Fix amd64 warnings.
Sascha Wildner [Thu, 26 Feb 2009 21:08:49 +0000 (22:08 +0100)]
Add OFF_MIN and OFF_MAX to limits.h.
While here, clean up the comments in amd64's limits.h a bit.
Sascha Wildner [Thu, 26 Feb 2009 20:51:57 +0000 (21:51 +0100)]
sail(6): Fix amd64 warnings.
The Write() function was being used for printing both numbers and strings
in an unportable way. Split it into Write() for numbers and Writestr()
for strings.
Taken-from: NetBSD
Simon Schubert [Thu, 26 Feb 2009 13:04:00 +0000 (14:04 +0100)]
libopie: on update, 0-pad the sequence integers to keep seed length
OPIE requires a certain seed length and generates a default seed, using
a 0-padded random number. Subsequently changing the password will
increment this seed. The code missed 0-padding this increased integer,
so opiepasswd would advance the seed from e.g. "la0092" to "la93". This
would prevent opiekey(1) from working, complaining about a too short
seed.
Simon Schubert [Tue, 10 Feb 2009 18:58:23 +0000 (19:58 +0100)]
syntax cleanup to unbreak code highlighting
Simon Schubert [Tue, 10 Feb 2009 14:04:21 +0000 (15:04 +0100)]
mtree: create usr/include/dev/misc/ppi to properly install headers
Stathis Kamperis [Thu, 5 Feb 2009 18:51:08 +0000 (18:51 +0000)]
Return EBUSY if we're detaching a vn with vnode refs to it.
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue998>
Sascha Wildner [Thu, 26 Feb 2009 05:47:49 +0000 (06:47 +0100)]
pax(1): Fix amd64 warnings.
Sascha Wildner [Thu, 26 Feb 2009 05:34:09 +0000 (06:34 +0100)]
rcp(1): Fix amd64 warnings.
Sascha Wildner [Thu, 26 Feb 2009 05:22:48 +0000 (06:22 +0100)]
ls(1): Fix amd64 warnings.
Sascha Wildner [Thu, 26 Feb 2009 04:54:04 +0000 (05:54 +0100)]
df(1): Fix amd64 warnings (type widths).
Taken-from: FreeBSD
Matthew Dillon [Wed, 25 Feb 2009 23:59:56 +0000 (15:59 -0800)]
HAMMER Utiliites: undo can now detect all prior replacements of a file.
The undo code will now iterate the history of the parent directory and
attempt to locate all versions of the requested file even if the inode
number changes due to the file being deleted and recreated, or
renamed-over.
undo -i attempts to show inode number changes and deletions in the list.
undo -a (-d/-D) is now able to span inode number changes.
Suggested-by: corecode
Matthew Dillon [Wed, 25 Feb 2009 22:27:44 +0000 (14:27 -0800)]
HAMMER VFS: Allow the form ".@@<snapshot>"
Normally "." is processed by the kernel, but since extended snapshot
filenames are handled by the VFS trying to access a snapshot of "."
is passed through. Handle it properly.
Note that the "..@@<snapshot>" form is not handled.
Matthew Dillon [Wed, 25 Feb 2009 22:24:23 +0000 (14:24 -0800)]
HAMMER Utilities: Use a Red-Black tree to track HAMMER TIDs, use diff -N
Begin using a red-black tree to track the TIDs used to generate diff sets.
Use diff -N to deal with pre-creation/post-creation undo diffs.
Use diff -r. However, running undo -a -d on a directory is not yet
meaningful because only the directory TIDs are used right now.
Matthew Dillon [Wed, 25 Feb 2009 22:16:15 +0000 (14:16 -0800)]
Remove the horribly designed RB_AUGMENT.
Matthew Dillon [Wed, 25 Feb 2009 18:41:16 +0000 (10:41 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 25 Feb 2009 18:39:42 +0000 (10:39 -0800)]
HAMMER VFS: Add missing hammer_rel_volume() call in deadlock/retry case.
A late collision in hammer_get_buffer() could result in a ref count leak
on a hammer_volume structure. Fix the leak.
Matthew Dillon [Wed, 25 Feb 2009 17:32:36 +0000 (09:32 -0800)]
HAMMER Utility: Allow -b to specify bytes per second if no suffix is supplied
Matthew Dillon [Wed, 25 Feb 2009 17:20:00 +0000 (09:20 -0800)]
Allow fractional delay specs for iostats and bstats, set lower limit to 0.001.
Suggested-by: cmpgt <cmpgt00@gmail.com>
Sascha Wildner [Wed, 25 Feb 2009 14:21:48 +0000 (15:21 +0100)]
dntpd(8): Fix amd64 warnings.
Sascha Wildner [Wed, 25 Feb 2009 14:21:01 +0000 (15:21 +0100)]
pctrack(8): Fix amd64 warnings.
Sascha Wildner [Wed, 25 Feb 2009 14:21:25 +0000 (15:21 +0100)]
sockstat(1): Fix amd64 warnings.
Sascha Wildner [Wed, 25 Feb 2009 14:20:33 +0000 (15:20 +0100)]
rconfig(8): Fix amd64 warnings.
Sascha Wildner [Wed, 25 Feb 2009 14:20:09 +0000 (15:20 +0100)]
init(8): Fix amd64 warnings.
Sascha Wildner [Wed, 25 Feb 2009 14:19:46 +0000 (15:19 +0100)]
disklabel(8): Fix amd64 warnings.
Sascha Wildner [Tue, 24 Feb 2009 21:58:10 +0000 (22:58 +0100)]
pax(1): Raise WARNS to 2.
Sascha Wildner [Tue, 24 Feb 2009 22:00:55 +0000 (23:00 +0100)]
dma(8): Raise WARNS to 6.
Sepherosa Ziehau [Tue, 24 Feb 2009 11:26:54 +0000 (19:26 +0800)]
systat(1): Fix 'systat -ip' support
Based-on: related implementation in netstat(1)
Reported-by: ruse39 on EFNET #dragonflybsd
Sepherosa Ziehau [Sat, 21 Feb 2009 05:36:30 +0000 (13:36 +0800)]
em(4): Correct the conditions to be asserted
Sepherosa Ziehau [Fri, 20 Feb 2009 14:00:32 +0000 (22:00 +0800)]
em(4): Turn on/off SPEED_MODE according to the current link speed.
Sepherosa Ziehau [Fri, 20 Feb 2009 11:21:53 +0000 (19:21 +0800)]
em(4): Avoid allocating a csum offloading TX desc whenever possible.
According to Intel's PCIe GbE Controllers Open Source Software
Developer's Manual Revision 1.8: a csum offloading TX desc will
prevent TX data read requests from being pipelined, thus reduce TX
performance. The pipelining effect is not obvious when transmitting
bulk data (e.g. 1472 bytes UDP datagram), but it could be dominant
when transmitting tiny packets. So we should avoid allocating a
csum offloading TX desc whenever possible to take advantage of the
pipelining effect.
On 82573E_IAMT,
Before this commit: ~700Kpps
After this commit: ~990Kpps
The funny thing about this commit is:
Old driver code from Intel's FreeBSD driver 6.2.9 roughly did what
we are doing in this commit, while Intel's FreeBSD driver 6.9.6
simply follows Linux's way to flush the performance to the toilet ...
Sepherosa Ziehau [Thu, 19 Feb 2009 14:45:21 +0000 (22:45 +0800)]
pktgen: Put -DSMP under '.ifdef SMP'
Sepherosa Ziehau [Wed, 18 Feb 2009 10:38:24 +0000 (18:38 +0800)]
em(4): Free incomplete received packet in em_stop().
Sepherosa Ziehau [Tue, 17 Feb 2009 12:58:57 +0000 (20:58 +0800)]
em(4): Put back the workaround and related comment for 82542 rev2
Sepherosa Ziehau [Mon, 16 Feb 2009 15:12:31 +0000 (23:12 +0800)]
em(4): On TX path, make sure that ether header and ip.ip_hl are contiguous.
This must be done mainly because if hardware TX csum offloading is enabled,
setting up context TX descriptor will need to access ip.ip_hl.
Sepherosa Ziehau [Sun, 15 Feb 2009 11:46:46 +0000 (19:46 +0800)]
em(4): Sync with Intel's em-6.9.6(FreeBSD)
In addition to adding support for some chips (e.g. 82574L), this also gives
me the chance to rearrange and clean up if_em.[ch] :)
Noticable changes to the FreeBSD driver:
- The hardware abstraction layer is put into a seperate module (ig_hal)
- IP csum offloading is supported when hardware TX csum offloading is enabled
- mbufs on RX/TX ring are freed in em_stop(), i.e. during "ifconfig emX down"
- TX pattern is adjusted that we test number of avaiable TX descs before
dequeuing mbuf from ifq. We also reserve double spare TX descs for 82544
cards on PCI-X bus, so we will not need to unload the loaded mbuf in the
mid way due to short of TX descs; this at least makes the logic a little
bit simpler.
Matthias Schmidt [Mon, 23 Feb 2009 22:16:30 +0000 (23:16 +0100)]
Add git commit template
Rename the old CVS template and add it to the repo. As git is a DSCM
you have to install the template yourself. Just use the following
command:
git config --add commit.template /usr/src/tools/gittemplate
Sascha Wildner [Tue, 24 Feb 2009 03:29:25 +0000 (04:29 +0100)]
mount_udf(8): Raise WARNS to 6 and fix warning.
Sascha Wildner [Tue, 24 Feb 2009 02:24:28 +0000 (03:24 +0100)]
dhclient(8): Raise WARNS to 2 and fix a warning.
Sascha Wildner [Tue, 24 Feb 2009 01:58:49 +0000 (02:58 +0100)]
libstand: Raise WARNS to 2 and fix warnings.
Sascha Wildner [Tue, 24 Feb 2009 01:22:48 +0000 (02:22 +0100)]
libpthread: Raise WARNS to 6 :)
Sascha Wildner [Tue, 24 Feb 2009 01:14:32 +0000 (02:14 +0100)]
libdevstat: Raise WARNS to 6 and fix warnings.
Sascha Wildner [Tue, 24 Feb 2009 01:02:03 +0000 (02:02 +0100)]
libbluetooth: Raise WARNS to 6.
Sascha Wildner [Tue, 24 Feb 2009 00:52:16 +0000 (01:52 +0100)]
libusbhid: Raise WARNS to 6.
YONETANI Tomokazu [Mon, 23 Feb 2009 14:35:04 +0000 (23:35 +0900)]
Fix side-effect of
a80e869f; -net 0.0.0.0 has been treated as 0.0.0.0/32.
Also bring the rest of the relavant fix r187384 from FreeBSD.
Sascha Wildner [Mon, 23 Feb 2009 12:43:55 +0000 (13:43 +0100)]
build(7): Mention development(7) in the description.
Sascha Wildner [Mon, 23 Feb 2009 11:21:11 +0000 (12:21 +0100)]
Silence some pointer arithmetic warnings in the kernel.
Sascha Wildner [Mon, 23 Feb 2009 11:19:38 +0000 (12:19 +0100)]
umodem(4) depends on ucom(4).
Sascha Wildner [Mon, 23 Feb 2009 09:47:54 +0000 (10:47 +0100)]
rpc(3): Adjust the manual page's struct XDR to reality.
Nicolas Thery [Sat, 21 Feb 2009 22:09:18 +0000 (23:09 +0100)]
msdosfs: remove useless code.
Sascha Wildner [Sun, 22 Feb 2009 08:46:13 +0000 (09:46 +0100)]
committer(7): Add some lines about MFCing.
Nicolas Thery [Sat, 21 Feb 2009 12:05:27 +0000 (13:05 +0100)]
Potential fix for panic during shutdown.
When a tty is revoked, the opencount of its associated vnode is forced to
zero and calling vop_stdclose() on this vnode causes a panic. Call therefore
vop_stdclose() from spec_close() if and only if the opencount is strictly
positive.
I haven't managed to reproduce the original panic locally, hence the
"potential" above.
Reported-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue715>
Nicolas Thery [Sat, 21 Feb 2009 10:39:04 +0000 (11:39 +0100)]
msdosfs: replace bzero() with M_ZERO.
Sascha Wildner [Sat, 21 Feb 2009 08:52:43 +0000 (09:52 +0100)]
installer: Re-add the TEST_DEV command which was removed accidentally.
This should make command_add_ensure_dev() work again (to test if a
partition exists and create it if it doesn't).
Reported-by: M.K. <mk@freeweb.ozi.nu>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1292>
Sascha Wildner [Sat, 21 Feb 2009 08:39:44 +0000 (09:39 +0100)]
asf(8): Fix example and clean up a bit.
While here, remove 's' from getopt() in asf.c since we do not support that
option (yet).
Sascha Wildner [Fri, 20 Feb 2009 15:10:12 +0000 (16:10 +0100)]
amr: style(9)
Matthias Schmidt [Fri, 20 Feb 2009 14:31:07 +0000 (15:31 +0100)]
Sync with FreeBSD
Sascha Wildner [Fri, 20 Feb 2009 12:15:15 +0000 (13:15 +0100)]
make/Makefile: Adjust hash table creation for pkgsrc.
Sascha Wildner [Fri, 20 Feb 2009 10:19:27 +0000 (11:19 +0100)]
make/Makefile: Remove CVS id handling.
Sascha Wildner [Fri, 20 Feb 2009 10:08:42 +0000 (11:08 +0100)]
makesyscalls.sh: Remove CVS id handling and clean up a bit.
Joe Talbott [Fri, 20 Feb 2009 03:52:06 +0000 (22:52 -0500)]
Merge branch 'master' of git://venus/dragonfly
Sascha Wildner [Thu, 19 Feb 2009 23:35:40 +0000 (00:35 +0100)]
Constify yp_dir in various places (unbreaks buildworld).
Sascha Wildner [Thu, 19 Feb 2009 21:49:43 +0000 (22:49 +0100)]
rpcgen(1): Raise WARNS to 6.
Sascha Wildner [Thu, 19 Feb 2009 20:57:31 +0000 (21:57 +0100)]
ypmatch(1): Raise WARNS to 6 & fix warnings.
Sascha Wildner [Thu, 19 Feb 2009 20:54:08 +0000 (21:54 +0100)]
nl(1): Raise WARNS to 6 & fix warnings.
Joe Talbott [Thu, 19 Feb 2009 19:21:04 +0000 (14:21 -0500)]
Merge branch 'master' of git://venus/dragonfly
Joe Talbott [Thu, 19 Feb 2009 19:19:48 +0000 (14:19 -0500)]
usched_set: Add USCHED_CPU_GET for retrieving the current CPU.
Sascha Wildner [Thu, 19 Feb 2009 16:53:34 +0000 (17:53 +0100)]
ypcat(1): Raise WARNS to 6 & fix warnings.
Sascha Wildner [Thu, 19 Feb 2009 13:23:59 +0000 (14:23 +0100)]
Remove cxconfig, which was never compiled and never installed.
Sascha Wildner [Thu, 19 Feb 2009 11:00:30 +0000 (12:00 +0100)]
ypxfr(8): Ansify, raise WARNS to 3, fix warnings.
Sascha Wildner [Thu, 19 Feb 2009 10:03:32 +0000 (11:03 +0100)]
man9/Makefile: Add missing backslash.
Sascha Wildner [Thu, 19 Feb 2009 09:30:16 +0000 (10:30 +0100)]
Add an ioctl(9) manual page.
Adapted-from: NetBSD
Submitted-by: Stathis Kamperis <ekamperi@gmail.com>