dragonfly.git
2 years 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

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

2 years 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>

2 years 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.

2 years 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.

2 years 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.

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

2 years 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

2 years 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/

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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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().

2 years 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.

2 years 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.

2 years 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).

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

2 years 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.

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

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

2 years 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

2 years 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

2 years 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.

2 years 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

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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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

2 years 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

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

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

2 years 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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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).

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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().

2 years 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.