]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/log
FreeBSD/stable/8.git
12 years agoMFC: r221466, r221494 (partial), r224652
marius [Sat, 13 Aug 2011 13:18:39 +0000 (13:18 +0000)]
MFC: r221466, r221494 (partial), r224652

Change several archs to use makefs (from base) instead of mkisofs (from
ports) which makes release CD generation both faster and self-hosting.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224837 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224762
marius [Sat, 13 Aug 2011 13:15:27 +0000 (13:15 +0000)]
MFC: r224762

Sync makefs(8) ISO 9660 support with NetBSD:
o cd9960 -> cd9660
o Move inclusion of sys/endian.h from cd9660_eltorito.c to cd9660.h
  since actual user is not cd9660_eltorito.c but iso.h and
  cd9660_eltorito.h.

  Actually, include order/place of sys/endian.h doesn't matter on
  netbsd since it is always included by sys/types.h but it's not
  true on other system.  This should fix cross build breakage on
  freebsd introduced by rev. 1.16 of cd9660_eltorito.c.
  Problem reported and fix suggested on twitter.
o Fix fd leaks in error cases. Found by cppcheck.
o RRIP RE length should be 4, not 0
o Apply fixes for PR bin/44114 (makefs(8) -t cd9660 -o rockridge creates
  corrupted cd9660fs), iso9660_rrip.c part:
  - cd9660_rrip_finalize_node() should check rr_real_parent in node->parent,
    not in node itself in RRIP_PL case
  - cd9660_rrip_initialize_node() should update only node passed as arg
    so handle RRIP_PL in DOTDOT case

  Fixes malformed dotdot entries in deep (more than 8 level) directories
  moved into .rr_moved dir.

  Should be pulled up to netbsd-5.
  (no official ISO has such deep dirs, but cobalt restorecd is affected)

Reviewed by: mm
Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@224835 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224687
marius [Sat, 13 Aug 2011 13:09:43 +0000 (13:09 +0000)]
MFC: r224687

Compile fbsd-threads.c. Amongst others this is necessary for a working
kgdb(1).

PR: 158719
Reviewed by: marcel

git-svn-id: svn://svn.freebsd.org/base/stable/8@224832 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224686
marius [Sat, 13 Aug 2011 12:57:48 +0000 (12:57 +0000)]
MFC: r224686

Implement functions necessary for compiling fbsd-threads.c.

Reviewed by: marcel

git-svn-id: svn://svn.freebsd.org/base/stable/8@224830 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224685
marius [Sat, 13 Aug 2011 12:50:38 +0000 (12:50 +0000)]
MFC: r224685

Implement

Reviewed by: marcel

git-svn-id: svn://svn.freebsd.org/base/stable/8@224828 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224684
marius [Sat, 13 Aug 2011 12:49:00 +0000 (12:49 +0000)]
MFC: r224684

Use the size of struct fpreg rather than of the pointer to it when copying
the FPU state.

Reviewed by: marcel

git-svn-id: svn://svn.freebsd.org/base/stable/8@224826 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224683, r224693
marius [Sat, 13 Aug 2011 12:47:09 +0000 (12:47 +0000)]
MFC: r224683, r224693

The tid member of struct pthread actually is long so read it as such.
Accessing it as an int causes failure on big-endian LP64, i.e. mips64be,
powerpc64 and sparc64.

Reviewed by: marcel

git-svn-id: svn://svn.freebsd.org/base/stable/8@224824 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224682
marius [Sat, 13 Aug 2011 12:43:33 +0000 (12:43 +0000)]
MFC: r224682

- Merge from r147740:
  When the last, possibly partially filled buffer is flushed, we didn't
  reset fragsz to 0 and as such would stop reflecting reality.
- Use __FBSDID.
- Wrap a too long line.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224822 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224494, r224761
marius [Sat, 13 Aug 2011 12:37:22 +0000 (12:37 +0000)]
MFC: r224494, r224761

- Send the RELSIM_ADJUST_OPENINGS in response to a MPI_EVENT_QUEUE_FULL using
  the right SIM in case the HBA is RAID-capable but the target in question is
  not a hot spare or member of a RAID volume.
- Report the loss and addition of SAS and SATA targets detected via PHY link
  status changes and signalled by MPI_EVENT_SAS_DEVICE_STATUS_CHANGE to cam(4)
  as lost devices and trigger rescans as appropriate. Without this it can take
  quite some time until a lost device actually is no longer tried to be used,
  if it ever stops. [1]
- Handle MPI_EVENT_IR2, MPI_EVENT_LOG_ENTRY_ADDED, MPI_EVENT_SAS_DISCOVERY
  and MPI_EVENT_SAS_PHY_LINK_STATUS silently as these serve no additional
  purpose beyond adding cryptic entries to logs.
- Add a warning for MPI_EVENT_SAS_DISCOVERY_ERROR events, which can help
  identifying broken disks. [2]

Thanks to Hans-Joerg Sirtl for providing one of the HBAs these changes were
developed with and RIP to the mainboard that didn't survive testing them.

PR: 157534 [1]
Submitted by: Andrew Boyer [2]

git-svn-id: svn://svn.freebsd.org/base/stable/8@224820 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224493
marius [Sat, 13 Aug 2011 12:33:06 +0000 (12:33 +0000)]
MFC: r224493

- Staticize functions as appropriate and comment out unused ones.
- Sprinkle some const where appropriate.
- Consistently use target_id_t for the target parameter of mpt_map_physdisk()
  and mpt_is_raid_volume().
- Fix some whitespace bugs.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224818 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r223985
marius [Sat, 13 Aug 2011 12:28:58 +0000 (12:28 +0000)]
MFC: r223985

- For SAS but neither FC nor SPI controllers default to using MSI/MSI-X
  (still allowing their use to be disabled via device hints though). This
  matches what the corresponding Linux driver provided by LSI does. Tested
  with SAS1064.
- There's no need to keep track of the RIDs used.
- Don't allocate MSI/MSI-X as RF_SHAREABLE.
- Remove a comment which no longer applies since r209599 (MFC'ed to stable/8
  in r210376).
- Assign NULL rather than 0 to pointers.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224816 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224001:
delphij [Sat, 13 Aug 2011 00:56:42 +0000 (00:56 +0000)]
MFC r224001:

Use prototype.  While I'm there, add a pair of parenthesis to mark an if
statment's border.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224809 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224726:
dougb [Fri, 12 Aug 2011 21:40:24 +0000 (21:40 +0000)]
MFC r224726:

Make clear that the -U option can be dangerous.

In -p mode install the group file with the same permissions as normally
done in etc/Makefile.

Update the copyright.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224807 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224650:
emaste [Thu, 11 Aug 2011 02:50:18 +0000 (02:50 +0000)]
MFC r224650:
  Don't try to free() an address returned by mmap().  This appears to be
  triggered by the same .o being included twice on the command line.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224771 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223926:
delphij [Wed, 10 Aug 2011 08:55:46 +0000 (08:55 +0000)]
MFC r223926:

peeraddr is only used in sizeof() evaluations, so instead of declaring it
a variable, use typedef.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224756 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223925:
delphij [Wed, 10 Aug 2011 08:54:35 +0000 (08:54 +0000)]
MFC r223925:

Use %zu when printing size_t.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224755 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223924:
delphij [Wed, 10 Aug 2011 08:53:33 +0000 (08:53 +0000)]
MFC r223924:

Match size_t and ssize_t by using %zu and %zd instead of %d.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224754 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223922:
delphij [Wed, 10 Aug 2011 08:52:27 +0000 (08:52 +0000)]
MFC r223922:

Use strlcpy().

git-svn-id: svn://svn.freebsd.org/base/stable/8@224753 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224691, r224700 [1]:
mm [Wed, 10 Aug 2011 08:40:59 +0000 (08:40 +0000)]
MFC r224691, r224700 [1]:

MFC r224961:
Add compatibility for ISO images created with unfixed makefs that
violated ECMA-119 (ISO9660): allow reserved4 to be 0x20 in PVD.
This allows tar to read FreeBSD distribution ISO images created
with makefs prior to NetBSD bin/45217 bugfix (up to 9.0-BETA1).

In addition, merge following important bugfixes from
libarchive's release/2.8 branch:

Revision 2812:
Merge 2811 from trunk:  Don't try to verify that compression-level=0
produces larger results than the default compression, since this isn't
true for all versions of liblzma.

Revision 2817:
Merge 2814 from trunk: Fix Issue 121 (mtree parser error)
http://code.google.com/p/libarchive/issues/detail?id=121

Revision 2820:
Fix issue 119.
Change the file location check that a file location does not exceed
volume block. New one is that a file content does not exceed volume
block(end of an ISO image). It is better than previous check even
if the issue did not happen.

While reading an ISO image generated by an older version of mkisofs
utility, a file location indicates the end the ISO image if its file
size is zero and it is the last file of all files of the ISO image,
so it is possible that the location value is the same as the number
of the total block of the ISO image.

http://code.google.com/p/libarchive/issues/detail?id=119

Revision 2955:
Issue 134:  Fix libarchive 2.8 crashing in archive_write_finish() when
the open has failed and we're trying to write Zip format.

http://code.google.com/p/libarchive/issues/detail?id=134

Revision 2958:
Followup on Issue 134:
 1) Port test_open_failure to libarchive 2.8 branch to test
    the problem reported in Issue 134.
    This test also shows that archive_read_open() sometimes
    fails to report open errors correctly.
 2) Fix the bug in archive_read.c
 3) Comment out the tests that close functions are invoked
    promptly when open fails; that's fully fixed in libarchive 3.0,
    but I don't think it's worth fixing here.

Revision 3484:
Use uintmax_t with %ju

Revision 3487:
Fix issue 163.
Correctly allocate enough memory for a input buffer saved.

http://code.google.com/p/libarchive/issues/detail?id=163

Revision 3542:
Merge 2516, 2536 from trunk:  Allow path table offset values of
0 and 18, which are used by some ISO writers.

MFC r224700 [1]:
Merge revision 3554 from libarchive's release/2.8 branch:

Partial merge of 2431 from trunk:  Retry writes on EINTR.
This should fix the SIGINT handler in bsdtar.
Note:  The rest of r2431 can't be merged, since it interacts
with a big write-side rearchitecture.

PR: bin/149409 [1]
Reviewed by: kientzle

git-svn-id: svn://svn.freebsd.org/base/stable/8@224752 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoRemove svn:mergeinfo from files under usr.sbin/makefs
mm [Wed, 10 Aug 2011 08:33:45 +0000 (08:33 +0000)]
Remove svn:mergeinfo from files under usr.sbin/makefs

This is a direct commit to stable/8

git-svn-id: svn://svn.freebsd.org/base/stable/8@224750 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224690:
mm [Wed, 10 Aug 2011 08:21:39 +0000 (08:21 +0000)]
MFC r224690:

Fix NetBSD PR bin/44114:
makefs with -t cd9660 -o rockridge against directories with
deep structure creates a corrupted cd9660 image.

http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44114

Fix NetBSD PR bin/45217:
makefs creates ISO9660 images that violate the ECMA-119 (ISO9660)
specification. This is caused by erroneously writing 32 bytes
with value 0x20 to the volume_set_id field and 128 bytes with value 0x20
to the the following 37-byte fields in the PVD:
copyright_file_id, abstract_file_id, bibliographic_file_id

This causes, among other unwanted results the reserved4 field to be
overwritten with the value 0x20. To comply with the specification,
this field muse be zero. As a result, all FreeBSD distribution
ISO images created with makefs have not been 100% valid ISO9660 files.

http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45217

Reviewed by: kientzle
Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/8@224748 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224673:
dougb [Tue, 9 Aug 2011 20:41:43 +0000 (20:41 +0000)]
MFC r224673:

Put information about supported-but-deprecated headers in comments

git-svn-id: svn://svn.freebsd.org/base/stable/8@224741 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r208027:
dougb [Tue, 9 Aug 2011 20:38:21 +0000 (20:38 +0000)]
MFC r208027:

mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224740 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224672:
dougb [Tue, 9 Aug 2011 19:59:22 +0000 (19:59 +0000)]
MFC r224672:

Fix a silly typo on my part.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224737 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224613:
kib [Tue, 9 Aug 2011 08:09:32 +0000 (08:09 +0000)]
MFC r224613:
Corrections for the iBCS2 support.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224727 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224603:
mav [Tue, 9 Aug 2011 07:35:56 +0000 (07:35 +0000)]
MFC r224603:
Do not force AHCI mode on NVIDIA MCP89 SATA controllers.  Recent Apple
Mac with this chipset does not initialize AHCI mode unless it is started
from EFI loader.  However, legacy ATA mode works.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224725 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224047:
emaste [Mon, 8 Aug 2011 13:56:27 +0000 (13:56 +0000)]
MFC r224047:

  Remove note that claims pthread_set_name_np is for debugging only.

  As Garrett points out,
    It is no more a debugging interface than setproctitle(3), and has not
    been since the name started getting stuffed into the kernel. This
    statement may have made sense when the name was only visible in thread
    state dumps and the debugger.

PR: threads/158815

git-svn-id: svn://svn.freebsd.org/base/stable/8@224710 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224571:
pluknet [Mon, 8 Aug 2011 12:16:42 +0000 (12:16 +0000)]
MFC r224571:
 Add missing MODULE_VERSION() definition.

PR: kern/159345

git-svn-id: svn://svn.freebsd.org/base/stable/8@224706 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224581:
kib [Mon, 8 Aug 2011 08:22:15 +0000 (08:22 +0000)]
MFC r224581:
Fix the LK_NOSHARE lockmgr flag interaction with LK_UPGRADE and
LK_DOWNGRADE lock ops. Namely, the ops should be NOP since LK_NOSHARE
locks are always exclusive.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224704 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224497:
mav [Sun, 7 Aug 2011 17:30:03 +0000 (17:30 +0000)]
MFC r224497:
Add control for ATA disk read-ahead, alike to the previously added write
cache control. Some controller BIOS'es tend to disable read-ahead, that
dramatically reduces read performance. Previously ata(4) always enabled
read-ahead unconditionally.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224697 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224496:
mav [Sun, 7 Aug 2011 17:28:08 +0000 (17:28 +0000)]
MFC r224496:
In some cases failed SATA disks may report their presence, but don't
respond to any commands. I've found, that because of multiple command
retries, each of which cause 30s timeout, bus reset and another retry or
requeue for many commands, it may take ages to eventually drop the
failed device. The odd thing is that those retries continue even after
XPT considered device as dead and invalidated it.

This patch makes cam_periph_error() to block any command retries after
periph was marked as invalid. With that patch all activity completes in
1-2 minutes, just after several timeouts, required to consider device
death. This should make ZFS, gmirror, graid, etc. operation more robust.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224696 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224531:
mav [Sun, 7 Aug 2011 17:19:59 +0000 (17:19 +0000)]
MFC r224531:
Higher-priority initialization request can eat request scheduling done from
adaclose(). Add immediate_priority check into adaschedule() to restore it.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224695 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224498:
mav [Sun, 7 Aug 2011 17:18:22 +0000 (17:18 +0000)]
MFC r224498:
In some cases, at least on Marvell 88SE912x controllers, Current Command
Slot field of the PxCMD register may point to an empty command slot.
That breaks command timeout detection logic, making impossible to find
what command actually caused timeout, and leading to infinite wait.
Workaround that by checking whether pointed command slot is really used
and can timeout in its time. And if not, fallback to the dumb algorithm
used with FBS -- let all commands to time out and then fail all of them.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224694 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224522:
kib [Sat, 6 Aug 2011 11:33:17 +0000 (11:33 +0000)]
MFC r224522:
Fix a race in the device pager allocation. If another thread won and
allocated the device pager for the given handle, then the object
fictitious pages list and the object membership in the global object
list still need to be initialized. Otherwise, dev_pager_dealloc() will
traverse uninitialized pointers.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224676 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224523, r224524:
mm [Sat, 6 Aug 2011 07:00:26 +0000 (07:00 +0000)]
MFC r224523, r224524:

MFC r224523:
Fix invalid assertion of C++ external static data member declarations
as anonymous namespaces are local to the current translation.

MFC r224524:
Fix accidential dos-style endings to unix-style line endings
from last commit (r224523) to match the version approved by re@

GCC PR: c++/33094

Reviewed by: uqs
Obtained from: gcc (branches/redhat/gcc-4_1-branch, rev. 129554, GPLv2)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224670 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoProvide a more user friendly URL to the IETF site
gjb [Sat, 6 Aug 2011 00:44:52 +0000 (00:44 +0000)]
Provide a more user friendly URL to the IETF site

git-svn-id: svn://svn.freebsd.org/base/stable/8@224666 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoProvide a more user friendly URL to the IETF site
gjb [Sat, 6 Aug 2011 00:43:54 +0000 (00:43 +0000)]
Provide a more user friendly URL to the IETF site

git-svn-id: svn://svn.freebsd.org/base/stable/8@224664 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r208545, r208577 (unbreak make release):
mm [Thu, 4 Aug 2011 10:37:12 +0000 (10:37 +0000)]
MFC r208545, r208577 (unbreak make release):

MFC r208545 (delphij):
libarchive now needs libcrypto and liblzma.

MFC r208577 (delphij):
Reorder to have -lcrypto after -larchive.  Our linker doesn't seem to like
the current ordering :(

Reported by: olgeni

git-svn-id: svn://svn.freebsd.org/base/stable/8@224649 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224579:
mm [Thu, 4 Aug 2011 07:32:21 +0000 (07:32 +0000)]
MFC r224579:

Fix integer overflow in txg_delay() by initializing
the variable "timeout" as clock_t.

Filed as Illumos Bug #1313

Reviewed by: avg

git-svn-id: svn://svn.freebsd.org/base/stable/8@224647 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224566:
mm [Thu, 4 Aug 2011 07:29:08 +0000 (07:29 +0000)]
MFC r224566:

Correctly link bsdcpio and bsdtar against libmd and libcrpyto
by applying the change from r221472 (libarchive).

Reviewed by: kientzle

git-svn-id: svn://svn.freebsd.org/base/stable/8@224646 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224583:
delphij [Thu, 4 Aug 2011 03:04:05 +0000 (03:04 +0000)]
MFC r224583:

Add PCI ID for RocketRAID 4321 and 4322.  A FreeNAS user have tested the
change on RocketRAID 4322.

Sponsored by: iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224645 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224231,224251-224252:
delphij [Wed, 3 Aug 2011 18:11:53 +0000 (18:11 +0000)]
MFC r224231,224251-224252:

Make ZFS work better with respect to device nodes.

PR: kern/159010

git-svn-id: svn://svn.freebsd.org/base/stable/8@224636 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223988:
kib [Wed, 3 Aug 2011 14:29:20 +0000 (14:29 +0000)]
MFC r223988:
While fixing the looping of a thread while devfs vnode is reclaimed,
r179247 introduced a possibility of devfs_allocv() returning spurious
ENOENT. If the vnode is selected by vnlru daemon for reclamation, then
devfs_allocv() can get ENOENT from vget() due to devfs_close() dropping
vnode lock around the call to cdevsw d_close method.

Use LK_RETRY in the vget() call, and do some part of the devfs_reclaim()
work in devfs_allocv(), clearing vp->v_data and de->de_vnode. Retry the
allocation of the vnode, now with de->de_vnode == NULL.

The check vp->v_data == NULL at the start of devfs_close() cannot be
affected by the change, since vnode lock must be held while VI_DOOMED
is set, and only dropped after the check.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224635 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223753:
ae [Wed, 3 Aug 2011 04:27:47 +0000 (04:27 +0000)]
MFC r223753:
  ARP code reuses mbuf from ARP request to make a reply, but it does not
  reset rcvif to NULL. Since rcvif is not NULL, ipfw(4) supposes that ARP
  replies were received on specified interface.
  Reset rcvif to NULL for ARP replies to fix this issue.

  PR: kern/131817

git-svn-id: svn://svn.freebsd.org/base/stable/8@224622 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223976:
trociny [Tue, 2 Aug 2011 12:43:40 +0000 (12:43 +0000)]
MFC r223976:

When exiting with error because of an invalid command line argument
use errx(3), not err(3), and the exit code from sysexits(3).

git-svn-id: svn://svn.freebsd.org/base/stable/8@224610 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224526:
mm [Tue, 2 Aug 2011 11:34:59 +0000 (11:34 +0000)]
MFC r224526:
Fix serious bug in ZIL that can lead to pool corruption
in the case of a held dataset during remount.

Detailed description is available at:
https://www.illumos.org/issues/883

illumos-gate revision: 13380:161b964a0e10

Reviewed by: pjd
Obtained from: Illumos (Bug #883)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224608 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224525:
mm [Tue, 2 Aug 2011 11:33:19 +0000 (11:33 +0000)]
MFC r224525:
Fix wrong initialization of "cmd" for calling the jail/unjail ioctl.

Reviewed by: pjd@, delphij@

git-svn-id: svn://svn.freebsd.org/base/stable/8@224607 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFH r223715
uqs [Tue, 2 Aug 2011 09:06:04 +0000 (09:06 +0000)]
MFH r223715

- Fix typo in check_for_nested_with_variably_modified
- Implement -Wvariable-decl.
- Port -Wtrampolines support from gcc3.
    (all three also via OpenBSD)

PR: gnu/127136, gnu/157019
Submitted by: Henning Petersen, Pedro Giffuni

git-svn-id: svn://svn.freebsd.org/base/stable/8@224600 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoUpdate for version 9.6-ESV-R5
dougb [Tue, 2 Aug 2011 08:09:12 +0000 (08:09 +0000)]
Update for version 9.6-ESV-R5

git-svn-id: svn://svn.freebsd.org/base/stable/8@224598 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoUpdate for version 9.6-ESV-R5
dougb [Tue, 2 Aug 2011 08:08:31 +0000 (08:08 +0000)]
Update for version 9.6-ESV-R5

git-svn-id: svn://svn.freebsd.org/base/stable/8@224597 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoUpdate to version 9.6-ESV-R5 which contains various bug fixes
dougb [Tue, 2 Aug 2011 08:07:59 +0000 (08:07 +0000)]
Update to version 9.6-ESV-R5 which contains various bug fixes
and improvements:

ftp://ftp.isc.org/isc/bind9/9.6-ESV-R5/RELEASE-NOTES-BIND-9.6-ESV.html

git-svn-id: svn://svn.freebsd.org/base/stable/8@224596 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoNon-functional changes related to version 9.6-ESV-R5
dougb [Tue, 2 Aug 2011 05:45:14 +0000 (05:45 +0000)]
Non-functional changes related to version 9.6-ESV-R5
(format of time stamp in CVS $Id)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224592 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 224177:
mm [Mon, 1 Aug 2011 08:17:54 +0000 (08:17 +0000)]
MFC 224177:
ZFS tries to allocate blocks evenly across all devices. This means when
devices are imbalanced zfs will lots of CPU searching for space on devices
which tend to be pretty full. It should instead fail quickly on the full
devices and move onto devices which have more availability.

New loader tunable: vfs.zfs.mg_alloc_failures (min = 8)

Illumos-gate changeset: 13379:4df42cc92254

Obtained from: Illumos (Bug #1051)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224565 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 224174:
mm [Mon, 1 Aug 2011 08:14:16 +0000 (08:14 +0000)]
MFC 224174:
Resurrect the ZFS "aclmode" property
Change default of "aclmode" to "discard".

Illumos-gate changeset: 13370:8c04143bd318

Obtained from: Illumos (Feature #742)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224564 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoSync bsdtar with 9-CURRENT:
mm [Mon, 1 Aug 2011 08:00:46 +0000 (08:00 +0000)]
Sync bsdtar with 9-CURRENT:

MFC on usr.bin/bsdtar:
203569,203571,203586-203590,203593-203594,204329,205076,206463-206466,
206484-206485,206487,207786,207790-207791,208028,209152,210720,213469,
223541,223573,224153,224158

MFC 203569 (kientzle):
bsdtar doesn't actually know what compression is supported by libarchive
and it should not pretend that it does.  It should just pass along the
user's request and handle an error if it's not supported.

MFC 203571 (kientzle):
Fill in some missing error handling, be a little more careful about
error reporting, prefer int64_t to off_t.

MFC 203586 (kientzle):
Trim out some unused configuration variables, remove
some unused headers, etc.

MFC 203587 (kientzle):
Minor code rework.

MFC 203588 (kientzle):
Restructure the logic that determines when we're crossing a mount
point.  In particular, this carves out a place for detecting and
excluding synthetic or network filesystems.

MFC 203589 (kientzle):
Various portability workarounds for non-FreeBSD platforms.

MFC 203590 (kientzle):
Style & Portability:  Use archive_entry methods to examine
file information, change some functions to static, remove
some unused headers.

MFC 203593 (kientzle):
Merge a bunch of refactoring from Joerg Sonnenberger to
isolate common code used by tar and cpio (and useful to other
libarchive clients).  The functions here are prefixed with
"lafe" (libarchive front-end) to indicate their use.

MFC 203594 (kientzle):
Simplify, remove unnecessary code.

MFC 204329 (ru)
Fixed dependencies (make checkdpadd).

MFC 205076 (uqs):
Fix several typos in macros or macro misusage.

Found by: make manlint

MFC 206463 (kientzle):
Correct the markup for the -s option,
document the iso9660:rockridge and mtree:indent options

MFC 206464 (kientzle):
Remove an unnecessary include and conditionalize some code.

MFC 206465 (kientzle):
Consistently specify O_BINARY when opening files.

MFC 206466 (kientzle):
Fix -X.

MFC 206484 (kientzle):
Diff reduction against bsdtar 2.8.3

MFC 206485 (kientzle):
Diff reduction against bsdtar 2.8.3

MFC 206487 (kientzle):
If a file is specifically both included and excluded, then:
 * It is not extracted (because it is excluded)
 * If it's not present in the archive, then an error is
   reported (because the file was requested and not found)
 * If it is present in the archive, no error is reported.
Previously, this would always report an error because the
exclusion prevented the entry from matching the inclusion.

Also, tar is now more reluctant to report unmatched inclusions.
Previously, "tar x file1 'file*'" against an archive that contained a
single entry "file1" would match file1 and then report an error for
the second pattern because it wasn't matched.  It now considers both
inclusions to be matched and reports no error.

MFC 207786 (kientzle):
Various manpage updates, including many long-option synonyms that were previously
undocumented.

MFC 207790 (kientzle):
Config updates.

MFC 207791 (kientzle)
FreeBSD is now using bsdtar 2.8.3.

MFC 208028 (uqs):
mdoc: move remaining sections into consistent order

This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections.

Found by: mdocml lint run

MFC 209152 (kientzle):
If the compressed data is larger than the uncompressed,
report the compression ratio as 0% instead of displaying
nonsense triggered by numeric overflow.  This is common
when dealing with uncompressed files when the I/O blocking
causes there to be small transient differences in the
accounting.

Thanks to: Boris Samorodov

MFC 210720 (joel):
Fix typos.

MFC 213469 (kientzle):
Recognize both ! and ^ as markers for negated character classes.

Submitted by: Mykola Dzham

MFC 223541 (kientzle):
If there is a read error reading Y/N confirmation from the keyboard,
exit immediately with an error.

If there is an error opening or reading a file to put into the archive,
set the return value for a deferred error exit.

MFC 223573 (kientzle):
The --newer-than test should descend into old
directories to look for new files.

MFC 224153 (mm):
Update bsdtar to 2.8.4
Use common code from lib/libarchive/libarchive_fe

MFC 224158 (mm):
Fix accidential commit part:
Include "bsdtar_platform.h" instead of "lafe_platform.h"

git-svn-id: svn://svn.freebsd.org/base/stable/8@224563 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoSync bsdcpio with 9-CURRENT:
mm [Mon, 1 Aug 2011 07:59:54 +0000 (07:59 +0000)]
Sync bsdcpio with 9-CURRENT:

MFC on usr.bin/cpio:
203183,204329,207792,211054,211397,212263,224154-224155

MFC 203183 (kientzle):
Support -V option to print a dot for each file processed.
Also, change the existing -vi behavior to send the filenames to
stderr rather than stdout, as GNU cpio does.

PR: bin/141175
Submitted by: Philip Kizer

MFC 204329 (ru):
Fixed dependencies (make checkdpadd).

MFC 207792 (kientzle):
bsdcpio 2.8.3

MFC 211054 (kientzle):
Fix -R when used with -p.  Previously, the
uname and gname weren't overwritten, so the
disk restore would use those to lookup the
original uid/gid again.  Clearing the uname
and gname prevents this.

Reported by: swell.k

MFC 211397 (joel):
Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while
translating these manual pages.  Minor corrections by me.

Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>

MFC 212263 (gjb):
Fix typo in bsdcpio manual:
s/libarchive_formats/libarchive-formats

MFC 224154 (mm):
Update bsdcpio to 2.8.4
Use common code from lib/libarchive/libarchive_fe

MFC 224155 (mm):
Append to CPIO_SRCS instead of using TAR_SRCS,
the variable name is misleading

git-svn-id: svn://svn.freebsd.org/base/stable/8@224562 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoSync libarchive with 9-CURRENT:
mm [Mon, 1 Aug 2011 07:59:02 +0000 (07:59 +0000)]
Sync libarchive with 9-CURRENT:

MFC on lib/libarchive:
196961,200351,201077,201079-201097,201099-201112,201155-201157,
201159-201163,201165,201167-201171,201246-201250,201253,202868-202869,
202871-202873,203952,208027,208169,208184,208263,208291,210825,213573,
214822,214867,214905,216258,221472,224152

MFC 196961 (kientzle):
Update tests to match r195873, which corrected how hardlinked files
on iso9660 images were returned.  While I'm poking around, update
some comments around this area to try to clarify what's going on and
what still remains to be improved.

MFC 200351 (kientzle):
Merge two cpio fixes from libarchive.googlecode.com:
 1) Avoid an infinite loop in the header resync for certain malformed
    archives.
 2) Don't try to match hardlinks if the nlinks count is < 2.   This
    reduces the likelihood of a false hardlink match due to ino truncation.

MFC 201077 (kientzle):
Update format manpages for libarchive.

MFC 201079 (kientzle):
Update the hard-coded configuration for libarchive.

MFC 201080 (kientzle):
Remove some unused variables and dead assignments.

MFC 201081 (kientzle):
Remove a dead assignment.

MFC 201082 (kientzle):
Catch certain gzip failures at close time.

MFC 201083 (kientzle):
Compatibility fix for some older systems with non-POSIX getgrnam_r/getpwnam_r
and a minor style fix for the hash function.

MFC 201084 (kientzle):
Sync with googlecode some changes that have no impact on FreeBSD.

MFC 201085 (kientzle):
Compatibility:  I found some more compilers that don't like 'inline' keyword.
Protection:  Discourage people from using this header outside libarchive.

MFC 201086 (kientzle):
Discourage people from using this header outside of libarchive.

MFC 201087 (kientzle):
Enforce this as an internal-only header.

MFC 201088 (kientzle):
Allow more formats to be active at a time; discourage outside use.

MFC 201089 (kientzle):
Portability: terminate abnormally via abort() instead of segfault,
watch the return value from write(), and avoid signed arithmetic on
unsigned values.

MFC 201091 (kientzle):
Remove dead assignment.

MFC 201092 (kientzle):
Discourage outside use of this internal header.

MFC 201093 (kientzle):
Portability:  Set the file descriptor to binary mode on Win32

MFC 201094 (kientzle):
Eliminate an unused assignment.

MFC 201095 (kientzle):
Remove an unused variable and an unnecessary increment.

MFC 201096 (kientzle):
Various portability fixes, plus:
 * New "ino64" field.
 * New UTF8 interfaces for hardlink/symlink updates

MFC 201097 (kientzle):
Portability fixes.

MFC 201099 (kientzle):
Use new ino64 interface.

MFC 201110 (kientzle):
Clarify an example so Linux folks won't keep getting confused by this
point.

MFC 201111 (kientzle):
Remove some dead assignments, fix some declarations.

MFC 201112 (kientzle):
Portability.

MFC 201155 (kientzle):
64-bit ino support and discourage bad use of this header.

MFC 201156 (kientzle):
Various style and portability fixes, including:
 * Enforce option interface can only be used before the archive is opened
 * Correctly handle large skips on platforms with 32-bit off_t
 * Use int64_t instead of off_t

MFC 201157 (kientzle):
Catch decompression failures earlier.  In particular, this gives
immediate feedback if we fail to fork an external decompression program.

MFC 201159 (kientzle):
Various fixes when creating objects on disk:
 * Write xattrs last instead of first (required on platforms that use
   system xattrs for security attributes)
 * Better handling of chdir() failures
 * Don't bother trying to shorten files via seek()/write()
 * Fix build on systems that lack link()/symlink()/mknod()
 * Prefer futimens()/utimensat() when they're present

MFC 201160 (kientzle):
Various style fixes to the 'newc' cpio writer:
 * Warn about truncation of ino
 * Use a macro to hide the somewhat obscure pad-to-multiple-of-4 calculation
 * Eliminate some unused variables

MFC 201161 (kientzle):
Style fixes to tar reader:
  For portability, prefer int64_t to off_t.
  Improve numeric overflow handling when parsing.
  Fix some variable types.
  Eliminate some unused results.

MFC 201162 (kientzle):
Style and portability fixes for pax writer.  Mostly very routine, except for:
 * Use ino64 where appropriate
 * Don't pass atime or nsec to ustar formatter

MFC 201163 (kientzle):
Be a little more skeptical of dev/ino matches when reading cpio files.
This eliminates some false-positives in the hardlink detection logic.

MFC 201165 (kientzle):
Minor style fixes plus a fix for an obscure crash on certain malformed
mtree files.

MFC 201167 (kientzle):
If we're linking against liblzma, allow the decompressor to use up to
1<<30 bytes of memory, which is required for some streams.

Also, try to make the taster more discriminating about raw lzma streams.
The detection here is still really weak, though; please use xz instead
of lzma.

MFC 201168 (kientzle):
Zip write support for libarchive.

The initial implementation was developed by Anselm Strauss as part of
Google Summer of Code 2008, then completed by Joerg Sonnenberger.

MFC 201169 (kientzle):
Clear extraneous error messages.

MFC 201170 (kientzle):
Essentially eliminate problems with false hardlinks in POSIX cpio
archives by generating synthetic ino values and mapping values
from disk into the new values.

MFC 201171 (kientzle):
Rationalize the support for cryptographic hashes.

MFC 201246 (kientzle):
Merge Michihiro NAKAJIMA's significant work on the ISO9660 reader
from googlecode:
 * Support for zisofs compressed entries
 * Support for relocated deep directories
 * Direct calculation of link counts for accurate nlink values
   even on images that lack Rockridge extensions
 * Faster handling of the internal file lists.
 * Better detection of ISO variants

MFC 201247 (kientzle):
A raft of test changes and improvements from the Googlecode repository.
In particular, this includes tests for the new features I've merged
over the last few days.

MFC 201248 (kientzle):
UU decoder.  Now that libarchive can recursively taste input streams,
you can do things like this:  tar xvf archive.tar.gz.uu

MFC 201249 (kientzle):
Libarchive in FreeBSD is now synced up with 2.7.901a from
libarchive.googlecode.com

MFC 201250 (kientzle):
Reserve constants for RPM unwrapper and XAR reader.

MFC 201253 (kientzle):
Remove some test files that are no longer used.

MFC 202868 (kientzle):
Fix a memory leak when a filter fails to initialize.

MFC 202869 (kientzle):
Initialize the allocated 'struct zip'.

MFC 202871 (kientzle):
If we can't stat a file, return the correct ARCHIVE_FAILED (this entry can't
be processed any further) and a suitable error string.
In particular, this improves the error-reporting when cpio -o is
given a nonexistent filename.

MFC 202872 (kientzle):
Use a simpler memory-management strategy for the file objects.
Instead of trying to reference-count them and free them as soon
as they are no longer needed, we now just keep them around and free
them all when we release the archive object.  This fixes a number
of minor memory leaks, especially when reading damaged archives.

MFC 202873 (kientzle):
Don't try to hardlink block or character device nodes that come out
of cpio archives.

MFC 203952 (uqs):
Add missing newline in last line of file.

Uncovered via: fromcvs vs. svn

MFC 208027 (uqs):
mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by:       mdocml lint run

MFC 208169 (kientzle):
Reorganize slightly in preparation for making lzma and bz2 support
conditional.

MFC 208184 (delphij):
Fix build.

MFC 208263 (kientzle):
Retry reads that fail with EINTR.  This fixes a problem
with bsdtar failing on SIGINT.

MFC 208291 (uqs):
mdoc: consistently spell our email addresses <foo@FreeBSD.org>

MFC 210825 (joel):
Fix typo.

MFC 213573 (uqs):
mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd

MFC 214822 (kientzle):
Clarify the naming:  Methods that free an object should
be called "free".  Retain the old "finish" names to preserve
source compatibility for now.

MFC 214867 (uqs):
Fix manpage markup.

MFC 214905 (kientzle):
If the Zip reader doesn't see a PK signature block
because there's inter-entry garbage, just scan forward
to find the next one.  This allows us to handle a lot
of Zip archives that have been modified in-place.

Thanks to: Gleb Kurtsou for sending me a sample archive

MFC 216258 (kientzle):
Don't write data into an empty "file."

In particular, this check avoids a warning when
extracting directory entries from certain GNU tar
archives that store directory contents.

MFC 221472 (obrien):
libarchive is mixing libmd and libcrypto -- correct to use one or the other.
[mixing the two can be quite bad -- they define the same context structures,
 but with differing structure members (and sizes)]

MFC 224152 (mm):
- Update libarchive to 2.8.4
- Add support for extracting xar and rpm archives
- Add libarchive_fe subdir (common code for tar and cpio)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224561 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoCreate dummy opt_compat.h for i386 build to fix buildworld breakage
art [Mon, 1 Aug 2011 04:29:04 +0000 (04:29 +0000)]
Create dummy opt_compat.h for i386 build to fix buildworld breakage
when MODULES_WITH_WORLD is set.

PR: 157529
Submitted by: Eugene Grosbein
Approved by: avg (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224560 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224076:
dougb [Sun, 31 Jul 2011 23:09:11 +0000 (23:09 +0000)]
MFC r224076:

Handle the MK_BIND_XML option more intelligently

MFC r224129:

Fixes for WITH_BIND_LIBS

git-svn-id: svn://svn.freebsd.org/base/stable/8@224556 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224140:
marck [Sun, 31 Jul 2011 08:52:24 +0000 (08:52 +0000)]
MFC r224140:

  Correct small typo in a do{}while(0)

Approved by: kib

git-svn-id: svn://svn.freebsd.org/base/stable/8@224543 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r224117
rmacklem [Sat, 30 Jul 2011 23:42:15 +0000 (23:42 +0000)]
MFC: r224117
The new NFSv4 client handled NFSERR_GRACE as a fatal error
for the remove and rename operations. Some NFSv4 servers will
report NFSERR_GRACE for these operations. This patch changes
the behaviour of the client so that it handles NFSERR_GRACE
like NFSERR_DELAY for non-state related operations like
remove and rename. It also exempts the delegreturn operation
from handling within newnfs_request() for NFSERR_DELAY/NFSERR_GRACE
so that it can handle NFSERR_GRACE in the same manner as before.
This problem was resolved thanks to discussion with bfields at fieldses.org.
The problem was identified at the recent NFSv4 ineroperability
bakeathon.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224534 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoHost mergeinfo for 219400 up to sys/ and out of sys/geom/label.
jhb [Sat, 30 Jul 2011 21:28:34 +0000 (21:28 +0000)]
Host mergeinfo for 219400 up to sys/ and out of sys/geom/label.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224530 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agor224283:
mav [Sat, 30 Jul 2011 09:38:52 +0000 (09:38 +0000)]
r224283:
Do not try to execute FLUSHCACHE on close and print extra messages for
invalidated (considered lost) ada device. Exactly same already done for
the da devices.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224508 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216047 by kevlo:
jh [Sat, 30 Jul 2011 08:31:18 +0000 (08:31 +0000)]
MFC r216047 by kevlo:

Fix fd leak in get_font

MFC r222568:

Don't try to close the stream if fopen(3) fails.

PR: bin/155349

git-svn-id: svn://svn.freebsd.org/base/stable/8@224507 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223663: add SNDCTL_DSP_HALT specified by OSS
avg [Fri, 29 Jul 2011 22:00:32 +0000 (22:00 +0000)]
MFC r223663: add SNDCTL_DSP_HALT specified by OSS

PR: kern/156874

git-svn-id: svn://svn.freebsd.org/base/stable/8@224500 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224250:
mav [Fri, 29 Jul 2011 10:02:03 +0000 (10:02 +0000)]
MFC r224250:
Fix `diskinfo -t` operation for disks smaller then 8GB or bigger then 2TB.
Tested to work with 1.44MB floppy, 4GB USB stick and 4TB disk array.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224491 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224270:
mav [Fri, 29 Jul 2011 09:58:56 +0000 (09:58 +0000)]
MFC r224270:
 - Use mutex to serialize index/data register pair usage, when
accessing SATA registers. Unserialized access under heavy load caused
wrong speed reporting and potentially could cause device loss.
 - To free memory and other resources (including above), allocated
during chipinit() method call on attach, add new chipdeinit() method,
called during driver detach.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224490 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoUse calloc() instead of an explicit memset.
delphij [Fri, 29 Jul 2011 06:16:16 +0000 (06:16 +0000)]
Use calloc() instead of an explicit memset.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224489 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC rr224004,224025:
delphij [Fri, 29 Jul 2011 06:15:18 +0000 (06:15 +0000)]
MFC rr224004,224025:

Add a -l option to show file system's corresponding /dev/ufsid path.
This is useful for scripts that converts existing system's fstab to
use their /dev/ufsid devices.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224488 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r223971
rmacklem [Thu, 28 Jul 2011 21:00:46 +0000 (21:00 +0000)]
MFC: r223971
r222389 introduced a case where the NFSv4 client could
loop in nfscl_getcl() when a forced dismount is in progress,
because nfsv4_lock() will return 0 without sleeping when
MNTK_UNMOUNTF is set.
This patch fixes it so it won't loop calling nfsv4_lock()
for this case.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224487 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223437:
ae [Thu, 28 Jul 2011 10:16:30 +0000 (10:16 +0000)]
MFC r223437:
  Export AddLink() function from libalias.  It can be used when custom
  alias address needs to be specified.
  Add inbound handler to the alias_ftp module. It helps handle active
  FTP transfer mode for the case with external clients and FTP server behind
  NAT. Fix passive FTP transfer case for server behind NAT using redirect with
  external IP address different from NAT ip address.

  PR: kern/157957
  Submitted by: Alexander V. Chernikov

git-svn-id: svn://svn.freebsd.org/base/stable/8@224474 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223080:
ae [Thu, 28 Jul 2011 10:10:39 +0000 (10:10 +0000)]
MFC r223080:
  Implement "global" mode for ipfw nat. It is similar to natd(8)
  "globalport" option for multiple NAT instances.

  If ipfw rule contains "global" keyword instead of nat_number, then
  for each outgoing packet ipfw_nat looks up translation state in all
  configured nat instances. If an entry is found, packet aliased
  according to that entry, otherwise packet is passed unchanged.

  User can specify "skip_global" option in NAT configuration to exclude
  an instance from the lookup in global mode.

  PR: kern/157867
  Submitted by: Alexander V. Chernikov (previous version)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224473 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r223228
marius [Wed, 27 Jul 2011 11:21:49 +0000 (11:21 +0000)]
MFC: r223228

Merge from r161730:
o  Set TP using inline assembly to avoid dead code elimination.
o  Eliminate _tcb.

Merge from r161840:
Stylize: avoid using a global register variable.

Merge from r157461:
Simplify _get_curthread() and _tcb_ctor because libc and rtld now
already allocate thread pointer space in tls block for initial thread.

Merge from r177853:
Replace function _umtx_op with _umtx_op_err, the later function directly
returns errno, because errno can be mucked by user's signal handler and
most of pthread api heavily depends on errno to be correct, this change
should improve stability of the thread library.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224467 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223846 by thompsa: grab the rlock before checking if our
maxim [Wed, 27 Jul 2011 07:02:33 +0000 (07:02 +0000)]
MFC r223846 by thompsa: grab the rlock before checking if our
interface is enabled.

Approved by: thompsa

git-svn-id: svn://svn.freebsd.org/base/stable/8@224466 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216754:
ae [Wed, 27 Jul 2011 04:23:26 +0000 (04:23 +0000)]
MFC r216754:
  Make EBR probe method less strictly to be able detect EBRs with
  small non fatal inconsistency. EBR may contain boot loader and sometimes
  it just has some garbage data. Now this does not prevent FreeBSD to use
  extended partitions. But since we do not support bootcode for EBR we mark
  tables which have non empty boot area as corrupt. This does make them
  readonly and we can not damage this data.

MFC r223594:
  EBR could contain an early stage of boot code. But we do not support it.
  Remove message about non empty bootcode, we can not break something
  while GEOM_PART_EBR_COMPAT is defined.

  But without GEOM_PART_EBR_COMPAT any changes in EBR are allowed and we
  can accidentally wipe the boot code. To do not break anything save
  the first EBR chunk and keep it untouched each time when we are
  changing EBR. Note that we are still not support boot code for EBR.

  PR: kern/141235

git-svn-id: svn://svn.freebsd.org/base/stable/8@224465 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223587:
ae [Wed, 27 Jul 2011 04:10:32 +0000 (04:10 +0000)]
MFC r223587:
  MS Windows NT+ uses 4 bytes at offset 0x1b8 in the MBR to identify
  disk drive. The boot0cfg(8) utility preserves these 4 bytes when it is
  writing bootcode to keep a multiboot ability.
  Change gpart's bootcode method to keep DSN if it is not zero. Also
  do not allow writing bootcode with size not equal to MBRSIZE.

  PR: kern/157819

git-svn-id: svn://svn.freebsd.org/base/stable/8@224464 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 224286:
gjb [Wed, 27 Jul 2011 01:56:52 +0000 (01:56 +0000)]
MFC 224286:

Document the potential for jail escape.

PR: 142341

git-svn-id: svn://svn.freebsd.org/base/stable/8@224462 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r223954
rmacklem [Tue, 26 Jul 2011 20:51:58 +0000 (20:51 +0000)]
MFC: r223954
Try and fix the exports.5 man page so that it clarifies how
NFSv4 exports are handled. Improved by comments from
mckusick, kudak at mit.edu and bde.
This is a content change.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224461 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 223773:
gjb [Tue, 26 Jul 2011 19:05:10 +0000 (19:05 +0000)]
MFC 223773:

- General grammar and mdoc(7) fixes.
- While here, remove a paragraph about userspace operation
  that has been outdated for some time.

PR: 158623

git-svn-id: svn://svn.freebsd.org/base/stable/8@224459 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 202386, 224284:
gjb [Tue, 26 Jul 2011 17:38:49 +0000 (17:38 +0000)]
MFC 202386, 224284:

202386 (by ru):
Use the newly brought %U macro.

224284:
Fix various broken links in manual pages.

PR: 159130 159131 159132 159133
PR: 159134 159135 159144

git-svn-id: svn://svn.freebsd.org/base/stable/8@224456 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 224284:
gjb [Tue, 26 Jul 2011 17:16:13 +0000 (17:16 +0000)]
MFC 224284:
Fix various broken links in manual pages.

PR: 159136

git-svn-id: svn://svn.freebsd.org/base/stable/8@224454 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 224284:
gjb [Tue, 26 Jul 2011 17:09:44 +0000 (17:09 +0000)]
MFC 224284:
Fix various broken links in manual pages.

PR: 159137

git-svn-id: svn://svn.freebsd.org/base/stable/8@224452 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 202386, 224284:
gjb [Tue, 26 Jul 2011 17:02:17 +0000 (17:02 +0000)]
MFC 202386, 224284:

202386 (by ru):
Use the newly brought %U macro.

224284:
Fix various broken links in manual pages.

PR: 159138

git-svn-id: svn://svn.freebsd.org/base/stable/8@224450 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r214921, r219954, r219956, r221387, r221470, r221536, r222191
marius [Tue, 26 Jul 2011 14:41:54 +0000 (14:41 +0000)]
MFC: r214921, r219954, r219956, r221387, r221470, r221536, r222191

- Sync with the latest version from NetBSD. It notably addds ISO9660 support.
- Add support for synthesizing an APM partition map to map Mac PowerPC
  bootstrap partitions from the ISO9660 boot catalog. This preserves OS X's
  ability to mount the CD, while allowing us a way to provide HFS-ified
  bootstrap code for Open Firmware.
- Add analogs to the -chrp-boot and -prep-boot options to mkisofs.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224447 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC rr215733,217577,219024,219308,221118,221319: sync with head.
maxim [Tue, 26 Jul 2011 14:41:28 +0000 (14:41 +0000)]
MFC rr215733,217577,219024,219308,221118,221319: sync with head.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224446 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r210933 (partial)
marius [Tue, 26 Jul 2011 14:03:50 +0000 (14:03 +0000)]
MFC: r210933 (partial)

Fix typos and spelling mistakes.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224444 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r203059
marius [Tue, 26 Jul 2011 13:58:08 +0000 (13:58 +0000)]
MFC: r203059

Correct copy-paste typo from previous option description.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224442 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r220389, r220392
marius [Tue, 26 Jul 2011 13:29:11 +0000 (13:29 +0000)]
MFC: r220389, r220392

- Mark getc() as inline, this has no effect on gcc but helps clang.
- Move getc() body before xgetc() so gcc does not emit a warning about function
  having no body.

Approved by:    jhb

git-svn-id: svn://svn.freebsd.org/base/stable/8@224440 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r219452
marius [Tue, 26 Jul 2011 13:26:46 +0000 (13:26 +0000)]
MFC: r219452

Some more shrinking.

   o    bunch of variables are turned into uint8_t

   o    initial setting of namep[] in lookup() is removed
        as it's only overwritten a few lines down

   o    kname is explicitly initialized in main() as BSS
        in boot2 is not zeroed

   o    the setting and reading of "fmt" in load() is removed

   o    buf in printf() is made static to save space

Reviewed by:    jhb
Tested by:      me and Fabian Keil <freebsd-listen fabiankeil de>

git-svn-id: svn://svn.freebsd.org/base/stable/8@224438 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r219186
marius [Tue, 26 Jul 2011 13:24:52 +0000 (13:24 +0000)]
MFC: r219186

This patch shrinks boot2 a little.

o    It switches kname to be just a pointer instead of an array
     thus avoiding a couple of memcpy()s.

o    It changes ioctl to unsigned from uint8_t.

o    It changes the second keyhit limit to 3 seconds from 5
     so that constant propagation can take place.

o    It changes the ticks overflow computation as suggested by bde@.

o    It removes bi_basemem/bi_extmem/bi_memsizes_valid setting from
     bootinfo as it is unused.

Reviewed by: jhb

git-svn-id: svn://svn.freebsd.org/base/stable/8@224437 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r218926
marius [Tue, 26 Jul 2011 13:23:25 +0000 (13:23 +0000)]
MFC: r218926

In sys/boot/i386/boot2/boot2.c, change the type of the 'opts' variable
from uint16_t back to uint32_t.  The actual option bitmasks (RB_* and
RBX_*) assume at least a 32 bit variable.

Submitted by: rdivacky

git-svn-id: svn://svn.freebsd.org/base/stable/8@224434 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r218745
marius [Tue, 26 Jul 2011 13:22:12 +0000 (13:22 +0000)]
MFC: r218745

Remove reading of symbols from a.out loaded files.  Since we are tight
on space for clang and a.out support is only needed for /boot/loader,
they are excess bytes that serve no useful purpose other than to
support really old kernels (FreeBSD < 3.2 or so).  Prefer clang
support over support for these old kernels and remove this code.  We
gain about 100 bytes of space this way.

Reviewed by: rdivacky@

git-svn-id: svn://svn.freebsd.org/base/stable/8@224432 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r214210
marius [Tue, 26 Jul 2011 13:19:57 +0000 (13:19 +0000)]
MFC: r214210

Avoid using memcpy() for copying 32bit chunks. This shrinks
the resulting code a little.

Approved by:    rpaulo (mentor)
Reviewed by:    jhb

git-svn-id: svn://svn.freebsd.org/base/stable/8@224431 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r220685
marius [Tue, 26 Jul 2011 13:13:31 +0000 (13:13 +0000)]
MFC: r220685

MFi386: revisions 220389 and 220392

  - Mark getc() as inline, this has no effect on gcc but helps clang.
  - Move getc() body before xgetc() so gcc does not emit a warning about
    function having no body.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224428 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r219960
marius [Tue, 26 Jul 2011 13:12:09 +0000 (13:12 +0000)]
MFC: r219960

MFi386: the part of 219452

  - bunch of variables are turned into uint8_t.
  - the setting and reading of "fmt" in load() is removed.
  - buf in printf() is made static to save space.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224427 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r219225
marius [Tue, 26 Jul 2011 13:06:21 +0000 (13:06 +0000)]
MFC: r219225

MFi386: revision 219186

  This patch shrinks boot2 a little.

  o    It switches kname to be just a pointer instead of an array.
  o    It changes ioctl to unsigned from uint8_t.
  o    It changes the second keyhit limit to 3 seconds from 5.
  o    It removes bi_basemem/bi_extmem/bi_memsizes_valid setting.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224425 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r218842
marius [Tue, 26 Jul 2011 13:04:43 +0000 (13:04 +0000)]
MFC: r218842

MFi386: revision 218745

  Remove reading of symbols from a.out loaded files.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224422 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r218737, r218946
marius [Tue, 26 Jul 2011 13:01:14 +0000 (13:01 +0000)]
MFC: r218737, r218946

MFi386: revision 218713

  Apply a few small optimizations to boot2's code, to make it shrink a
  little further.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224421 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r214257
marius [Tue, 26 Jul 2011 12:58:29 +0000 (12:58 +0000)]
MFC: r214257

MFi386: revision 214210

  Avoid using memcpy() for copying 32bit chunks. This shrinks
  the resulting code a little.

git-svn-id: svn://svn.freebsd.org/base/stable/8@224418 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r212064, r212098
marius [Tue, 26 Jul 2011 12:57:23 +0000 (12:57 +0000)]
MFC: r212064, r212098

Use a cleaner expression to retrieve the memory size in pc98's boot2.c,
which also avoids NULL pointer arithmetic, as suggested by jhb.  The
available space goes from 11 bytes to 7.

Reviewed by: nyan
Approved by: rpaulo (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@224417 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f