dragonfly.git
8 months agoadd file pointer to dev_d*() functions cdevpriv
Johannes Hofmann [Wed, 18 Dec 2013 22:06:22 +0000 (23:06 +0100)]
add file pointer to dev_d*() functions

8 months agoadd devfs_*_cdevpriv() functions
Johannes Hofmann [Wed, 18 Dec 2013 22:05:42 +0000 (23:05 +0100)]
add devfs_*_cdevpriv() functions

8 months agokernel: forbid ptrace on system processes origin/master
Nicolas Thery [Wed, 18 Dec 2013 09:40:37 +0000 (10:40 +0100)]
kernel: forbid ptrace on system processes

The scenario that triggered this change is the GDB test suite which
tries to attach to process 0 (the swapper).  This dereferenced a NULL
pointer while reparenting the swapper to GDB as the former has no
parent.

ptrace(2) is intended for debugging user processes so prevent it
altogether on system processes as this is deadlock prone.

There were already calls to procfs for preventing accesses to registers
of system processes.  Remove the now superfluous comments but leave
these calls as they may be extended someday to check for more
conditions.

Dragonfly-bug: <http://bugs.dragonflybsd.org/issue2615>

8 months agoMark up some email addresses in various manual pages.
Sascha Wildner [Tue, 17 Dec 2013 12:59:21 +0000 (13:59 +0100)]
Mark up some email addresses in various manual pages.

8 months agonsdispatch.3: Use lists instead of displays to better handle nesting.
Sascha Wildner [Tue, 17 Dec 2013 12:46:20 +0000 (13:46 +0100)]
nsdispatch.3: Use lists instead of displays to better handle nesting.

While here, properly use .Vt and .Fa instead of .Va everywhere.

8 months agolibalias.3: Remove nested displays, we can live without them here.
Sascha Wildner [Tue, 17 Dec 2013 12:44:53 +0000 (13:44 +0100)]
libalias.3: Remove nested displays, we can live without them here.

8 months agodfregress.8: fix typo
Nicolas Thery [Mon, 16 Dec 2013 11:28:20 +0000 (12:28 +0100)]
dfregress.8: fix typo

8 months agoppp.8: Fix the last mandoc(1) warnings.
Sascha Wildner [Mon, 16 Dec 2013 10:55:23 +0000 (11:55 +0100)]
ppp.8: Fix the last mandoc(1) warnings.

Taken-from: OpenBSD

8 months agoUpdate the pciconf(8) database.
Sascha Wildner [Sun, 15 Dec 2013 22:26:41 +0000 (23:26 +0100)]
Update the pciconf(8) database.

December 10, 2013 snapshot from http://pciids.sourceforge.net/

8 months agostrlcpy.3: fix parameter name
Nicolas Thery [Sat, 14 Dec 2013 18:50:59 +0000 (19:50 +0100)]
strlcpy.3: fix parameter name

8 months agoRemove libxpg4 from bsd.libnames.mk too.
Sascha Wildner [Fri, 13 Dec 2013 04:07:54 +0000 (05:07 +0100)]
Remove libxpg4 from bsd.libnames.mk too.

8 months agohammer2 - Refactor file unlink w/open descriptor (3)
Matthew Dillon [Fri, 13 Dec 2013 01:24:47 +0000 (17:24 -0800)]
hammer2 - Refactor file unlink w/open descriptor (3)

* Fix a bug where hammer2_inode_connect() was not calling
  hammer2_chain_lookup() to properly adjust the parent chain pointer
  to the correct insertion point when moving an unlinked-but-open file
  to the hidden directory.

  (triggered with poudriere which uses open/unlinked filesystem FIFO nodes).

* Minor documentation cleanup.

8 months agokernel - Add cache_isopen()
Matthew Dillon [Thu, 12 Dec 2013 17:06:01 +0000 (09:06 -0800)]
kernel - Add cache_isopen()

* Add cache_isopen(), a function which nominally returns whether the
  file referenced by a namecache structure is active (opened or mmapped).

  The code currently just checks the ref-count on the underlying vnode
  if it is present, which should be sufficient.

* Used by HAMMER2.

8 months agokernel - Fix rare buffer cache deadlock
Matthew Dillon [Thu, 12 Dec 2013 17:01:40 +0000 (09:01 -0800)]
kernel - Fix rare buffer cache deadlock

* cluster_collectbufs() was improperly using a blocking vfs/bio calls
  to find nearby buffers, which can deadlock against multi-threaded
  filesystems.

* Only occurs in the write path, probably only H2 is affected.

8 months ago{ctype,iswalnum}_l.3: Remove references to non-existant is{w,}ascii_l().
Sascha Wildner [Thu, 12 Dec 2013 16:58:50 +0000 (17:58 +0100)]
{ctype,iswalnum}_l.3: Remove references to non-existant is{w,}ascii_l().

8 months agohammer2 - cleanup embedded data hacks
Matthew Dillon [Thu, 12 Dec 2013 07:17:41 +0000 (23:17 -0800)]
hammer2 - cleanup embedded data hacks

* Chains of type BREF_TYPE_INODE and BREF_TYPE_FREEMAP_LEAF were embedding
  their data (using a kmalloc()'d copy instead of a buffer-cache mapping).
  This was done due to recursive locking issues with struct buf's.

* With the new hammer2_dio.c module we no longer have to use this hack.
  Remove it and use device buffer mappings (via dio) for these two chain
  types.

* All chains except the embedded volume and freemap headers now use buffer
  maps.

* This should substantially reduce adhoc kernel memory use and improve
  performance as VOP calls no longer have to kmalloc/bcopy/kfree clean
  inode data on every call.

8 months agohammer2 - Refactor file unlink w/open descriptor (2)
Matthew Dillon [Thu, 12 Dec 2013 03:44:38 +0000 (19:44 -0800)]
hammer2 - Refactor file unlink w/open descriptor (2)

* Stabilization pass

* Fix various deadlocks.  When dealing with hardlinks lock the common
  parent directory before locking the source/target directories.
  Move cache_rename() outside of internal H2 locks.

* Fix an issue with nlinks counting.

* Remove some debugging.

8 months agohammer2 - Refactor file unlink w/open descriptor
Matthew Dillon [Wed, 11 Dec 2013 21:33:11 +0000 (13:33 -0800)]
hammer2 - Refactor file unlink w/open descriptor

* Remove the H2 special cases for the HAMMER2_CHAIN_DELETED flag.  These
  special cases existed to deal with the unlink-open-file case, but hackish
  and didn't deal with all the issues (such as bulk-free scan code losing
  track of the unlinked open file).

* Change the unlink case when the file is still open or mmap'd.  Instead of
  deleting the inode H2 will now move the inode to a hidden directory in
  the mount root.  This way the bulk freeing code still sees it.

  When the inode is moved it is re-keyed to its inode number, thus guaranteed
  not to conflict with anything else sitting in the hidden directory.

* Add code to create the hidden directory in the mount root if it does not
  exist.

* Add code to wipe the contents of the hidden directory on-mount (as a crash
  recovery mechanic).

8 months agordist.1: Untangle nested displays.
Sascha Wildner [Wed, 11 Dec 2013 17:00:28 +0000 (18:00 +0100)]
rdist.1: Untangle nested displays.

8 months agohammer2 - Refactor reserved block selection in freemap code (2)
Matthew Dillon [Wed, 11 Dec 2013 04:45:06 +0000 (20:45 -0800)]
hammer2 - Refactor reserved block selection in freemap code (2)

* Fix off-by-1 bug in last commit when calculating the new offset
  in the freemap code.

* Remove some debugging.

8 months agocallout: Fix callout_terminate() if the callout_reset() is never called
Sepherosa Ziehau [Tue, 10 Dec 2013 15:38:36 +0000 (23:38 +0800)]
callout: Fix callout_terminate() if the callout_reset() is never called

If callout_reset() is never called, then c_gd will be NULL

8 months agobnx: Bring in APE support from FreeBSD bge(4)
Sepherosa Ziehau [Tue, 10 Dec 2013 11:07:49 +0000 (19:07 +0800)]
bnx: Bring in APE support from FreeBSD bge(4)

Obtained-from: FreeBSD 241438 248226

8 months agobinutils 2.24 linkers: enable plugin capability
John Marino [Mon, 9 Dec 2013 23:00:24 +0000 (00:00 +0100)]
binutils 2.24 linkers: enable plugin capability

Binutils 2.22 linkers have plugins enabled already.

8 months agokernel - rate-limit the '%s: FAILURE - oversized DMA transfer' console msg
Matthew Dillon [Mon, 9 Dec 2013 22:50:47 +0000 (14:50 -0800)]
kernel - rate-limit the '%s: FAILURE - oversized DMA transfer' console msg

* Rate-limit an ATA console message which can wind up being printed a lot
  under certain circumstances.

8 months agohammer2 - Refactor reserved block selection in freemap code
Matthew Dillon [Mon, 9 Dec 2013 22:47:11 +0000 (14:47 -0800)]
hammer2 - Refactor reserved block selection in freemap code

* Refactor the reserved block selection in the freemap code.  Move from
  4 copies of each freemap block to 15 copies in order to ensure
  that any of the four volume header backups (which are rotated on each
  flush) can be used at mount-time.

* A better algorithm could use as few as 10 copies but for now I am using
  a more trivial algorithm which needs 15.

* No media changes, the 4MB/2GB of space already reserved had sufficient
  room.

8 months agoSet binutils 2.24 as primary, binutils 2.22 as alternate
John Marino [Fri, 6 Dec 2013 17:51:07 +0000 (18:51 +0100)]
Set binutils 2.24 as primary, binutils 2.22 as alternate

By default, world will now build with binutils 2.24 and objformat will
also default to these programs.  Previously binutils 2.22 has been
performing these duties.

8 months agosed(1): Per the resolution of POSIX bug 0000779 (note 0002050) add
Eitan Adler [Mon, 9 Dec 2013 19:19:39 +0000 (14:19 -0500)]
sed(1): Per the resolution of POSIX bug 0000779 (note 0002050) add
support for using 'i' as a case insensitive flag.

Obtained-from:   FreeBSD r259132

8 months agosysctl.3: Remove useless .Ns and use .Vt for types.
Sascha Wildner [Mon, 9 Dec 2013 18:31:50 +0000 (19:31 +0100)]
sysctl.3: Remove useless .Ns and use .Vt for types.

8 months agomakewhatis(8): replace mdoc(7) OS text macros
Franco Fichtner [Mon, 9 Dec 2013 18:40:33 +0000 (18:40 +0000)]
makewhatis(8): replace mdoc(7) OS text macros

8 months agomakewhatis(8): small cleanups, reduce diff against FreeBSD
Franco Fichtner [Mon, 9 Dec 2013 10:38:38 +0000 (10:38 +0000)]
makewhatis(8): small cleanups, reduce diff against FreeBSD

`.SS'-skipping-bit-taken-from: FreeBSD

8 months agomakewhatis(1): use static where appropriate
Eitan Adler [Sun, 8 Dec 2013 21:20:55 +0000 (16:20 -0500)]
makewhatis(1): use static where appropriate

8 months ago/etc/remote: Sort the explanation on the top of the file.
Eitan Adler [Sun, 8 Dec 2013 19:13:31 +0000 (14:13 -0500)]
/etc/remote: Sort the explanation on the top of the file.

Obtained-from:   FreeBSD

8 months agoRemove /usr/include/tzfile.h, since it is not supposed to be public.
Sascha Wildner [Sun, 8 Dec 2013 20:33:43 +0000 (21:33 +0100)]
Remove /usr/include/tzfile.h, since it is not supposed to be public.

Also see the comments at the top of it.

8 months agoAdd static where useful.
Eitan Adler [Sun, 8 Dec 2013 19:04:09 +0000 (14:04 -0500)]
Add static where useful.

8 months agomakewhatis(8): change index build logic
Franco Fichtner [Sun, 8 Dec 2013 13:38:50 +0000 (13:38 +0000)]
makewhatis(8): change index build logic

This commit reflects on issues brought up by swildner.  The idea
behind this change is simple:  track each manual page via
its inode and append all alternative names to the same struct.
The former logic missed references across sections, so the
manual page indexing now covers all sections before creating
the whatis database.

The index now only reflects the layout of /usr/share/man (or
the specified path), and *not* the contents of a manual page,
except for its description.

As a consequence, all MLINKS are now properly referenced in
the apropos(1) output.

I wanted to have the `real' file as the first name, but it's
better to keep the style consistent with `SEE ALSO' sections
by sorting per section, then per name.  Output as follows:

    # apropos vcd
    vcd(4), vkd(4), vke(4), vkernel(7) - virtual kernel architecture

8 months agobnx: Merge several recent bge changes
Sepherosa Ziehau [Sun, 8 Dec 2013 12:58:22 +0000 (20:58 +0800)]
bnx: Merge several recent bge changes

57b622244562b2b67b60bc5eeecd498f5946d359
f2ccc3cdd409facd7b596fcc3f6157e3a7029df2
e6fdacca28b0af2f878e74dd2acc6f40288a4cb3
b87c703422a52f1b874b6f00516b7a096f826b6a
9062031ed71445ef2de9bf9b4e0d96fd6cdf9c34
cc224beafa386c6a9777d1a3296217d768ea7405
0bf9631eae999627c5ae189775a5fe4b1ee75280
d05296cfacc7c2847af2f475bfb374ddf5f985ac

8 months agobge: Extend delay time for 5761 during firmware hand shaking
Sepherosa Ziehau [Sun, 8 Dec 2013 11:36:59 +0000 (19:36 +0800)]
bge: Extend delay time for 5761 during firmware hand shaking

So the firmware hand shaking will not time out on these chips.

8 months agobge: Bring in APE support from FreeBSD
Sepherosa Ziehau [Sun, 8 Dec 2013 11:14:09 +0000 (19:14 +0800)]
bge: Bring in APE support from FreeBSD

Obtained-from: FreeBSD 241438 248226

8 months agomake upgrade: Fix typo.
Sascha Wildner [Sat, 7 Dec 2013 21:08:16 +0000 (22:08 +0100)]
make upgrade: Fix typo.

8 months agomake upgrade: Remove old binutils manual pages, too.
Sascha Wildner [Sat, 7 Dec 2013 20:41:19 +0000 (21:41 +0100)]
make upgrade: Remove old binutils manual pages, too.

8 months agoUPDATING: Don't stop shouting in the middle of the sentence.
Sascha Wildner [Sat, 7 Dec 2013 11:36:14 +0000 (12:36 +0100)]
UPDATING: Don't stop shouting in the middle of the sentence.

8 months agoacpi utilities: Raise WARNS to 2, bump CSTD to gnu99, fix warnings.
Sascha Wildner [Sat, 7 Dec 2013 11:32:42 +0000 (12:32 +0100)]
acpi utilities: Raise WARNS to 2, bump CSTD to gnu99, fix warnings.

8 months agorogue(6): Fix a warning which crept up with -O2.
Sascha Wildner [Sat, 7 Dec 2013 09:30:12 +0000 (10:30 +0100)]
rogue(6): Fix a warning which crept up with -O2.

8 months agolibwrap: Raise WARNS to 2 and fix warnings.
Sascha Wildner [Fri, 6 Dec 2013 17:46:05 +0000 (18:46 +0100)]
libwrap: Raise WARNS to 2 and fix warnings.

8 months agogold 2.24: Sync with binutils 2.22
John Marino [Fri, 6 Dec 2013 16:11:17 +0000 (17:11 +0100)]
gold 2.24: Sync with binutils 2.22

I had forgotten that the build for gold changed on DragonFly between
binutils 2.21 and binutils 2.22.  When I based 2.24 on 2.21, I lost
these change (namely a common Makefile.gld and the support for the
new utility incremental dump).

I also forgot the update the generated yyscript.[ch] files.
This commit brings binutils 2.24 in-line with 2.22.

8 months agoRemoved the now-unused binutils 2.21 contrib directory
John Marino [Fri, 6 Dec 2013 14:13:03 +0000 (15:13 +0100)]
Removed the now-unused binutils 2.21 contrib directory

8 months agobinutils 2.24: Complete replacement of binutils 2.21
John Marino [Fri, 6 Dec 2013 14:08:44 +0000 (15:08 +0100)]
binutils 2.24: Complete replacement of binutils 2.21

* Binutils 2.22 is still default, pending package build test
* The world breakage cause by previous commit (intended) is fixed
* To use binutils2.24, WORLD_BINUTILS and BINUTILSVER env vars need to
  be set

8 months agoRename binutils221 to binutils224 as a new makefile base
John Marino [Fri, 6 Dec 2013 13:35:06 +0000 (14:35 +0100)]
Rename binutils221 to binutils224 as a new makefile base

* This immediately breaks binutils221 which will be removed imminently
* This temporarily breaks the build completely
* Makefile.buo was realigned to respect 75 characters
* Makefile.buo was tweaked to minimum necessary updates by using :S modifier
* Makefile.buo extra ".else" branches were removed
* NO_BINUTILS221 will be replaced with NO_ALTBINUTILS, this is first step

8 months agoBinutils 2.24: Add READMEs and local modifications
John Marino [Fri, 6 Dec 2013 13:12:06 +0000 (14:12 +0100)]
Binutils 2.24: Add READMEs and local modifications

8 months agoMerge branch 'vendor/BINUTILS224'
John Marino [Fri, 6 Dec 2013 15:13:54 +0000 (16:13 +0100)]
Merge branch 'vendor/BINUTILS224'

8 months agoInitial import of Binutils 2.24 on vendor branch origin/vendor/BINUTILS224
John Marino [Fri, 6 Dec 2013 15:12:33 +0000 (16:12 +0100)]
Initial import of Binutils 2.24 on vendor branch

8 months agoRemove unused file.
Sascha Wildner [Fri, 6 Dec 2013 15:02:27 +0000 (16:02 +0100)]
Remove unused file.

8 months agokernel/i386: Make digi(4) compilable into the kernel and add it to LINT.
Sascha Wildner [Fri, 6 Dec 2013 01:22:02 +0000 (02:22 +0100)]
kernel/i386: Make digi(4) compilable into the kernel and add it to LINT.

8 months agoLINT/LINT64: Additional adjustment for e19e3c77407.
Sascha Wildner [Fri, 6 Dec 2013 01:05:05 +0000 (02:05 +0100)]
LINT/LINT64: Additional adjustment for e19e3c77407.

8 months agokernel: Drop ISA support from most remaining drivers that had some.
Sascha Wildner [Fri, 6 Dec 2013 00:59:18 +0000 (01:59 +0100)]
kernel: Drop ISA support from most remaining drivers that had some.

After this commit we're only left with things like atkbd, sio, etc.
which have to stay.

8 months agokernel: Fix a bunch of drm warnings.
Sascha Wildner [Fri, 6 Dec 2013 00:45:44 +0000 (01:45 +0100)]
kernel: Fix a bunch of drm warnings.

8 months agokernel/i386: Remove some old devices from the userconfig list.
Sascha Wildner [Fri, 6 Dec 2013 00:06:26 +0000 (01:06 +0100)]
kernel/i386: Remove some old devices from the userconfig list.

8 months agoRemove libxpg4 stub which never played a role for DragonFly.
Sascha Wildner [Thu, 5 Dec 2013 23:26:04 +0000 (00:26 +0100)]
Remove libxpg4 stub which never played a role for DragonFly.

8 months agoipfw(8): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 22:06:28 +0000 (23:06 +0100)]
ipfw(8): Raise WARNS to 2 and fix warnings.

8 months agofsck(8): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 22:05:57 +0000 (23:05 +0100)]
fsck(8): Raise WARNS to 2 and fix warnings.

8 months agolibm: Properly end some comments before starting a new one.
Sascha Wildner [Thu, 5 Dec 2013 20:06:55 +0000 (21:06 +0100)]
libm: Properly end some comments before starting a new one.

8 months agodrm: Convert idr spinlocks to lockmgr locks
François Tigeot [Thu, 5 Dec 2013 12:39:36 +0000 (13:39 +0100)]
drm: Convert idr spinlocks to lockmgr locks

* Since the idr code uses blocking calls in some code paths we can't
  hold spin locks accross idr calls

* This commit and the idr infinite loop one fix system freeze issues
  with some Xorg operations involving a huge number of pixmaps

8 months agodrm: Reduce differences with Linux 3.8
François Tigeot [Thu, 5 Dec 2013 12:23:03 +0000 (13:23 +0100)]
drm: Reduce differences with Linux 3.8

Rename mode_config.lock to mode_config.mutex

8 months agodrm: Add linux/i2c.h
François Tigeot [Thu, 5 Dec 2013 11:56:40 +0000 (12:56 +0100)]
drm: Add linux/i2c.h

8 months agobge: Don't blindly clear GPIOs configuration.
Sepherosa Ziehau [Thu, 5 Dec 2013 13:27:38 +0000 (21:27 +0800)]
bge: Don't blindly clear GPIOs configuration.

Just use firmware configured one.  This change also fixes non-working
traffic LED on BCM57780.

Obtained-from: FreeBSD 252227

8 months agobge: Correct setting TX random backoff register.
Sepherosa Ziehau [Thu, 5 Dec 2013 13:20:32 +0000 (21:20 +0800)]
bge: Correct setting TX random backoff register.

Obtained-from: FreeBSD 251482

8 months agobge: Reorder reset sequence a little bit
Sepherosa Ziehau [Thu, 5 Dec 2013 13:05:38 +0000 (21:05 +0800)]
bge: Reorder reset sequence a little bit

Obtained-from: FreeBSD 241436

8 months agoidr: Fix an infinite loop issue
Matthew Dillon [Thu, 5 Dec 2013 09:25:23 +0000 (10:25 +0100)]
idr: Fix an infinite loop issue

* idr routines were doing an infinite loop when the array was full but element
  #0 was still free

* Because allocations start at 1, the low bound was not being taken account of
  in idr_find_free(), causing an infinite loop

* idr_get_new_above() couldn't allocate an id >= 1 and idr_pre_get() thought it
  didn't have to expand because id #0 was available

8 months agodrm: Rename drm_debug_flag to drm_debug
François Tigeot [Thu, 5 Dec 2013 07:42:22 +0000 (08:42 +0100)]
drm: Rename drm_debug_flag to drm_debug

8 months agolibopie: Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:44:11 +0000 (04:44 +0100)]
libopie: Raise WARNS to 2 and fix warnings.

8 months agotcpd{chk,match}(8): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:12:37 +0000 (04:12 +0100)]
tcpd{chk,match}(8): Raise WARNS to 2 and fix warnings.

8 months agosdpd(8): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:12:00 +0000 (04:12 +0100)]
sdpd(8): Raise WARNS to 2 and fix warnings.

8 months agorpcbind(8): Raise WARNS to 3 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:11:38 +0000 (04:11 +0100)]
rpcbind(8): Raise WARNS to 3 and fix warnings.

8 months agoifmcstat(8): Raise WARNS to 3 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:11:09 +0000 (04:11 +0100)]
ifmcstat(8): Raise WARNS to 3 and fix warnings.

8 months agocron(8): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Thu, 5 Dec 2013 03:10:35 +0000 (04:10 +0100)]
cron(8): Raise WARNS to 2 and fix warnings.

8 months agobootparamd/callbootd(8): Raise WARNS to 2.
Sascha Wildner [Thu, 5 Dec 2013 03:10:09 +0000 (04:10 +0100)]
bootparamd/callbootd(8): Raise WARNS to 2.

8 months agoidr: fix bounds checks
Johannes Hofmann [Wed, 4 Dec 2013 20:55:50 +0000 (21:55 +0100)]
idr: fix bounds checks

8 months agotbridge: fix include paths in sample/testk1.c
Johannes Hofmann [Wed, 4 Dec 2013 19:35:54 +0000 (20:35 +0100)]
tbridge: fix include paths in sample/testk1.c

8 months ago<sys/time.h>: setitimer() and utimes() are not BSD specific.
Sascha Wildner [Wed, 4 Dec 2013 18:17:48 +0000 (19:17 +0100)]
<sys/time.h>: setitimer() and utimes() are not BSD specific.

8 months agovgrind(1): Raise WARNS to 3 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:15:20 +0000 (19:15 +0100)]
vgrind(1): Raise WARNS to 3 and fix warnings.

8 months agotelnet(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:14:42 +0000 (19:14 +0100)]
telnet(1): Raise WARNS to 2 and fix warnings.

8 months agotcopy(1): Raise WARNS to 3 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:14:13 +0000 (19:14 +0100)]
tcopy(1): Raise WARNS to 3 and fix warnings.

8 months agosymorder(1): Raise WARNS to 2.
Sascha Wildner [Wed, 4 Dec 2013 18:13:40 +0000 (19:13 +0100)]
symorder(1): Raise WARNS to 2.

8 months agordist(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:12:45 +0000 (19:12 +0100)]
rdist(1): Raise WARNS to 2 and fix warnings.

8 months agoopie{info,key,passwd}(1): Raise WARNS to 2 or 3 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:11:10 +0000 (19:11 +0100)]
opie{info,key,passwd}(1): Raise WARNS to 2 or 3 and fix warnings.

8 months agonfsstat(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:09:11 +0000 (19:09 +0100)]
nfsstat(1): Raise WARNS to 2 and fix warnings.

8 months agomt(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:08:31 +0000 (19:08 +0100)]
mt(1): Raise WARNS to 2 and fix warnings.

8 months agomail(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:07:54 +0000 (19:07 +0100)]
mail(1): Raise WARNS to 2 and fix warnings.

8 months agoldd(1): Raise WARNS to 2 and fix warnings.
Sascha Wildner [Wed, 4 Dec 2013 18:06:46 +0000 (19:06 +0100)]
ldd(1): Raise WARNS to 2 and fix warnings.

8 months agodrill(1): Raise WARNS to 2.
Sascha Wildner [Wed, 4 Dec 2013 18:04:57 +0000 (19:04 +0100)]
drill(1): Raise WARNS to 2.

8 months agohammer2 - stabilization
Matthew Dillon [Wed, 4 Dec 2013 17:44:59 +0000 (09:44 -0800)]
hammer2 - stabilization

* Fix the hammer2_chain_assert_not_present() call in hammer2_chain_insert()
  to avoid SMP races that could cause it to trigger falsely.  Also fix a
  case where inserting a deleted chain was improperly calling it.

* Fix bugs in hammer2_combined_find().  It is possible for a deleted
  chain from a prior synchronization point to cover a matching media
  blockref from a later synchronization point.  When both a media block
  and an in-memory chain are found, do not just blindly choose the
  in-memory chain.  Choose based on the synchronization points.

* Refactor part of the hardlink code.  Do not create a dummy chain
  to place-hold the target when a hardlink has to be shifted up to
  a parent directory.  Allow hammer2_chain_duplicate() to do it.

8 months agomail(1): Fix an over 9 years old typo/bug.
Sascha Wildner [Wed, 4 Dec 2013 17:19:57 +0000 (18:19 +0100)]
mail(1): Fix an over 9 years old typo/bug.

8 months agoFix some mandoc warnings (tab in non-literal context).
Sascha Wildner [Wed, 4 Dec 2013 13:09:40 +0000 (14:09 +0100)]
Fix some mandoc warnings (tab in non-literal context).

8 months agobge: Move BCM5906 VCPU reset before global reset
Sepherosa Ziehau [Wed, 4 Dec 2013 12:13:24 +0000 (20:13 +0800)]
bge: Move BCM5906 VCPU reset before global reset

According to the datasheet, the VCPU of BCM5906 should set
BGE_VCPU_STATUS_DRV_RESET bit *before* VCPU reset or global reset.

Obtained-from: FreeBSD 241392

8 months agobge: Add delays after enable RX/TX MAC
Sepherosa Ziehau [Wed, 4 Dec 2013 12:07:30 +0000 (20:07 +0800)]
bge: Add delays after enable RX/TX MAC

Follows Broadcom's datasheet recommendation

Obtained-from: FreeBSD 241220

8 months agobge: Add 40us delay after updating MAC_MODE
Sepherosa Ziehau [Wed, 4 Dec 2013 12:04:33 +0000 (20:04 +0800)]
bge: Add 40us delay after updating MAC_MODE

As recommended by Broadcom data sheet.

Obtained-from: FreeBSD 241219

8 months agobge: Keep MAC_MODE accesses atomic
Sepherosa Ziehau [Wed, 4 Dec 2013 12:00:25 +0000 (20:00 +0800)]
bge: Keep MAC_MODE accesses atomic

APE firmware also touches MAC_MODE to keep the MAC connected to the
outside world, so keep the accesses atomic

Obtained-from: FreeBSD 241216

8 months agobge/bnx: Remove duplicated register names; keep names consistent w/ FreeBSD
Sepherosa Ziehau [Wed, 4 Dec 2013 09:43:05 +0000 (17:43 +0800)]
bge/bnx: Remove duplicated register names; keep names consistent w/ FreeBSD

8 months agohammer2 - stabilization, improvements
Matthew Dillon [Wed, 4 Dec 2013 01:52:24 +0000 (17:52 -0800)]
hammer2 - stabilization, improvements

* Improve hammer2_io hysteresis by keeping track of a simple activity
  metric when figuring out what to free.  Instead of cleaning out all
  free hammer2_io structures the code now tries to clean out only half
  of them when the hysteresis limit is reached.

* Remove some debug fields, add some debug fields.

* Refactor the memory load flush/wait code.  Instead of tracking the number
  of chain structures we track the number of MODIFIED chain structures,
  and stage early flushes and resource memory use waits based on that.

* Add temporary debug procedure hammer2_chain_assert_not_present() which
  asserts that a chain being created will not collide with a chain already
  present.

* Fix a bug related to freeing non-stale chains that could corrupt the
  flush algorithm.

* Fix bugs related to races between lookups and delete-duplicate operations.
  Races can occur because a delete-duplicate does not lock the chain->above
  core.

  This was a nasty one.  A delete-duplicate race can cause a lookup to
  find a DELETE+DUPLICATED chain, but just testing the DUPLICATED bit
  doesn't detect the race.  Instead we have to test whether the bit has
  changed between the spin-locked layer/RBTREE search and the locking of
  the chain that was found.

* Fix a bug in h2ignore_deleted().  When a chain is DUPLICATED, the
  delete_tid must be tested for any bref type.  Not testing this was
  allowing delete-duplicates on inodes to cause chains with the MOVED
  flag set to be left dangling in the in-memory topology and never
  get freed.

* Refactor the flush core a bit, in particular handle a case where
  we were improperly clearing the MOVED bit for a chain which had
  flush-deferred children.

* Remove some unused flags.

* Handle a hardlink shifted-upward race in hammer2_inode_lock_ex().

8 months agokernel - Fix SMP races with vnode cluster fields
Matthew Dillon [Wed, 4 Dec 2013 01:42:46 +0000 (17:42 -0800)]
kernel - Fix SMP races with vnode cluster fields

* The better concurrency we have due to the recent buffer cache work has
  revealed a SMP race in the vfs_cluster code.  Various fields used by
  cluster_write() can race and cause the wrong buffers to be clustered to
  the wrong disk offset, resulting in disk corruption.

* Rip the v_lastw, v_cstart, v_lasta, and v_clen fields out of struct vnode
  and replace with a global cluster state cache in vfs_cluster.c.

  The cache is implemented as a 512-entry hash table, 4-way set associative,
  and is more advanced than the original implementation in that it allows
  up to four different seek zones to be tracked on each vnode, instead of
  only one.  This should make buffered device I/O (used by filesystems)
  work better.

  Cache elements are heuristically locked with an atomic_swap_int().  If
  the code is unable to instantly acquire a lock on an element it will
  simply not cluster that particular I/O (instead of blocking).  Even though
  this is a global hash table, operations will have a tendancy to be
  localized to cache elements.

* Remove some manual clearing of fields in UFS's ffs_truncate() routine.
  It should have no material effect.