rmacklem [Mon, 2 Aug 2010 23:57:50 +0000 (23:57 +0000)]
MFC: r210268
For the experimental NFSv4 server's dumplocks operation, add the
MPSAFE flag to cn_flags so that it doesn't panic. The panics weren't
seen since nfsdumpstate(8) is broken for the "-l" case, so this
was never done. I'll do a separate commit to fix nfsdumpstate(8).
gnn [Mon, 2 Aug 2010 19:56:07 +0000 (19:56 +0000)]
MFC: 210428
Fix a bug in the statistics code for tracking the head and
tail pointers of the tx and rx queues. We needed a SYSCTL_PROC
to correctly get the values at run time.
Submitted by: Andrew Boyer aboyer at averesystems.com
In reallocf(3), free the memory only when size != 0. Otherwise, when the
System V compatibility option (malloc "V" flag) is in effect a zero sized
reallocf() could cause a double free.
- Don't assign the return value from read(2) to a variable of type
int.
- Use errx(3) instead of err(3) to print the error message on short
reads in readlabel(). errno won't be set on short reads which can
easily occur here due to the fixed size read request.
rmacklem [Mon, 2 Aug 2010 00:37:33 +0000 (00:37 +0000)]
MFC: r210227
Add a call to nfscl_mustflush() in nfs_close() of the experimental
NFSv4 client, so that attributes are not acquired from the server
when a delegation for the file is held. This can reduce the number
of Getattr Ops significantly.
rmacklem [Sun, 1 Aug 2010 23:58:26 +0000 (23:58 +0000)]
MFC: r210201
Change the nfscl_mustflush() function in the experimental NFSv4
client to return a boolean_t in order to make it more compatible
with style(9).
rmacklem [Sun, 1 Aug 2010 23:36:39 +0000 (23:36 +0000)]
MFC: r210178
Patch the experimental NFSv4 server so that it acquires a reference
count on nfsv4rootfs_lock when dumping state, since these functions
are not called by nfsd threads. Without this reference count, it
is possible for an nfsd thread to acquire an exclusive lock on
nfsv4rootfs_lock while the dump is in progress and then change the
lists, potentially causing a crash.
rmacklem [Sun, 1 Aug 2010 15:34:29 +0000 (15:34 +0000)]
MFC: r210102
This patch fixes a bug in the experimental NFSv4 server where it
released a reference count on nfsv4rootfs_lock erroneously when
administrative revocation of state was done.
bcr [Sun, 1 Aug 2010 11:12:42 +0000 (11:12 +0000)]
MFC r210482:
Add an example to encourage people to have a look at either
make(1) or /usr/ports/ports-mgmt/portconf for port-specific
variables/options to compile a port.
PR: docs/145655
Submitted by: Armin Pirkovitsch (armin at frozen dash zone dot org)
Discussed with: dougb
edwin [Sun, 1 Aug 2010 09:08:33 +0000 (09:08 +0000)]
MFC of 210718, tzdata2010k:
- Daylight Saving Time will not be used in Egypt during Ramadan.
- Proper names for Pacific/Pohnpei and Pacific/Chuuk
- Fix historical information for Finland for 1981 and 1982
- No leap-second for December 2010.
- Fix historical information for Ontario (Canada)
rmacklem [Sun, 1 Aug 2010 02:11:12 +0000 (02:11 +0000)]
MFC: r210034
For the experimental NFSv4 client, make sure that attributes that
predate the issue of a delegation are not cached once the delegation
is held. This is necessary, since cached attributes remain valid
while the delegation is held.
MFC r210114:
Handle RUN->ASSOC->RUN transition correctly, as in not trigger a
firmware error. Convert if statements to a switch statement while
I'm here.
MFC r210209:
- Add new IDs for 6000 series devices.
- The 6000 series WiMAX devices need a separate firmware.
- The b-gen devices are not hooked because the hardware revision type
is not know.
Fix deadlock between GEOM class unloading and withering. Withering can't
proceed while g_unload_class() blocks the event thread. Fix this by not
running g_unload_class() as a GEOM event and dropping the topology lock
when withering needs to proceed.
- Use errx(3) instead of err(3) when checking if snprintf(3) succeeded.
snprintf(3) doesn't set errno in the tested cases.
- If the same argument reference (for example %1) was specified more than
once, the command didn't necessarily fit to the final command buffer. Fix
this using a dynamic sbuf buffer. Add a few regression tests for the case.
MFC r210408:
Document that SI unit suffixes are supported for -b and -s options
of add verb. Mention about maximum size limit for "freebsd-boot"
partition. It should be smaller than 545 KB (hardcoded in pmbr).
Show usage of SI unit suffixes in example.
MFC r210063, r210065:
Fix the way the segments are included in the gcore outputs (with the
default invokation):
- Right now if segments are not writable are not included. Remove this.
- Right now if a segment is mapped with NOCORE the check is not honoured.
Change this by checking the newly added flag, from libutil,
KVME_FLAG_NOCOREDUMP.
Besides that, add a new flag (-f) that forces a 'full' dump of all the
segments excluding just the malformed ones.
MFC r210443:
Remove extra commas from KTR_EVENT4() macro to match number of CTR6() args.
Comparing to other macros there should be strings concatenation, not a
separate arguments.
MFC 209948:
A previous change moved the GETATTR RPC for open() calls that hit in the
name cache up into nfs_lookup() instead of nfs_open(). Continue this
trend by flushing the attribute cache for leaf nodes in nfs_lookup() during
an open() if we do a LOOKUP RPC. For NFSv3 this should generally be a NOP
as the attributes are flushed before fetching the post-op attributes from
the LOOKUP RPC which most (all?) NFSv3 servers provide, so the post-op
attributes should populate the cache.
Now all NFS open() calls will always clear the cached attributes during the
nfs_lookup() prior to nfs_open() in the !NMODIFIED case to provide CTOC.
As a result, we can remove the conditional flushing of the attribute
cache from nfs_open().
MFC r209523:
Import the acpi_aibs(4) driver written by Constantine A. Murenin.
It has more features than acpi_aiboost(4) and it will eventually
replace acpi_aiboost(4).
Submitted by: Constantine A. Murenin <cnst at FreeBSD.org>
Reviewed by: freebsd-acpi, imp
MFC r209016, r209022:
Some odd APs send beacons on the same TX queue as non-beacons. This breaks
802.11 duplicate detection. Upon looking at the standard, we discover
that 802.11-2007 says:
"A receiving QoS STA is also required to keep only the most recent
cache entry per<Address 2, TID, sequence-number> triple, storing only
the most recently received fragment number for that triple. A receiving
STA may omit tuples obtained from broadcast/multicast or ATIM frames
from the cache."
To fix this, we just disable duplicate detection for multicast/broadcast
frames.
Truncate read request rather than returning EIO if the request is
larger than MAXPHYS + 1. This fixes a problem with cat(1) when it
uses a large I/O buffer.
MFC 209946:
- Add missing locking around flushing of an NFS node's attribute cache
in the NMODIFIED case of nfs_open().
- Cosmetic tweak to simplify an expression in nfs_lookup().
New relnotes item:
ddb(4) show ifnets/ifnet/lltables/lltable/llentry,
ddb(4) show vnet_sysinit/vnet_sysuninit,
UltraSPARC IV/IV+ support [sparc64],
if_bridge(4) MTU handling fix,
bwn(4) added,
em(4) 7.0.0,
igb(4) 1.9.3,
ixgbe(4) 2.1.7,
msk(4) interrupt moderation,
mxge(4) 1.4.50 firmware,
re(4) performance fix,
run(4) added,
sge(4) added,
flowtable IPv6 support,
LINKSTATE capability flag added to ifnet,
ipfw(4) improvements: ipfw0, IPv6 support of "me", IPv6 keep-alive fix,
lookup match option, ip.fw.one_pass fix,
memory alignment issue in ng_ppp and ng_ksocket fixed,
tap(4) now supports link state report,
more drivers to IFCAP_VLAN_HWTSO support list,
cam(3) ATA transport PUIS support,
glabel(8) per-FS enable/disable knobs,
gmultipath(8) destroy, rotate, getactive commands,
gsched(8) added,
msdosfs(5) MPSAFE,
UFS NFSv4 ACL support,
chgrp(1) and chown(8) -x flag support,
fnmatch(3) bug fix,
indent(1) -ta flag support,
libz optimization on i386/amd64,
netstat(1) -f netgraph bug fix,
/tmp/.snap now in $daily_clean_tmps_ignore used in periodic(8) script,
sed(1) -r flag (equivalent to -E) added,
db(3) style database of /etc/services added,
rc.d/ip6fw deprecated and integrated into rc.d/ipfw,
rc.c/tmp now uses a unique dirname for /tmp/.diskless,
rc.d/ubthidhci added,
ACPI-CA 20100304,
ISC BIND 9.6.2-P1,
netcat 4.7,
OpenSSH 5.4p1, and
tzdata2010i.
Fix two long-standing line wrapping bugs in VGA renderer for pixel mode.
Font size may be smaller than 16 and logical scan line may be larger than
the displayed scan line.
ken [Thu, 22 Jul 2010 15:38:36 +0000 (15:38 +0000)]
MFC 209599, 209960:
r209960 | marius
- Make the maxsize parameter of the data buffer DMA tag match maxio, which
was missed in r209599.
Reported and tested by: Michael Moll
- Declare mpt_dma_buf_alloc() static just like mpt_dma_buf_free(), both are
used in mpt.c only.
Reviewed by: ken
MFC after: r209599
r209599 | ken
Change the mpt driver to allow larger I/O sizes.
The mpt driver previously didn't report a 'maxio' size to CAM, and so the
da(4) driver limited I/O sizes to DFLTPHYS (64K) by default. The number
of scatter gather segments allowed, as reported to busdma, was
(128K / PAGE_SIZE) + 1, or 33 on architectures with 4K pages.
Change things around so that we wait until we've determined how many
segments the adapter can support before creating the busdma tag used for
buffers, so we can potentially support more S/G segments and therefore
larger I/O sizes.
Also, fix some things that were broken about the module unload path. It
still gets hung up inside CAM, though.
mpt.c: Move some busdma initialization calls in here, and call
them just after we've gotten the IOCFacts, and know how
many S/G segments this adapter can support.
mpt.h: Get rid of MPT_MAXPHYS, it is no longer used.
Add max_cam_seg_cnt, which is used to report our maximum
I/O size up to CAM.
mpt_cam.c: Use max_cam_seg_cnt to report our maximum I/O size to CAM.
Fix the locking in mpt_cam_detach().
mpt_pci.c: Pull some busdma initialization and teardown out and put
it in mpt.c. We now delay it until we know many scatter
gather segments the adapter can support, and therefore
how to setup our busdma tags.
mpt_raid.c: Make sure we wake up the right wait channel to get the
raid thread to wake up when we're trying to shut it down.
Update some release version numbers. The patch is based on the one
from the PR, but the version numbers reflect the newer ones from
http://security.freebsd.org/#sup
Fix an error in the EXAMPLES section of getopt(1), which is based on
the same fix present in NetBSD.
Note: the getopt man page contains more antique information like this.
An overhaul of the man page and/or sync with NetBSD would be the right
thing to do. But since this is out of the scope of the PR, I'll leave
it as it is for now.
PR: docs/133118
Submitted by: Oleg A. Mamontov (oleg at mamontov dot net)
Discussed with: jilles@
Add relnotes item for 8.1R (first round):
ddb(4) show mount improved,
fcntl(2) F_READAHEAD and F_RDAHEAD added,
lindev(4) added,
more dtrace probes,
SMP support in PowerPC G5,
ULE %CPU fix,
VIMAGE + SCTP build fix,
vfs.root.mountfrom space-separated list support added,
loader(8) memory range selection improved,
zfsloader added,
zfsboot and gptboot added,
adb(4) supports taps on ADB touchpad,
apt(4) added,
uart(4) NetMos NM9865 support added,
bge(4) 5761, 5784, 57780 support added,
cxgb(4) updated to T3 firmware 7.8.0,
msk(4) 88E8042, 88E8057 and DGE-560SX support added,
re(4) unnecessary reinitialization eliminated,
tsec(4) now supports ALTQ,
urtw(4) now supports RTL8187B,
net.inet.ipcomp.ipcomp_enable=1 by default,
IPV6_V6ONLY by default for IPv6 sockets in Linux emulation,
gmirror(8) priority change support,
gmirror(8) "load" balancing algorithm improved and now used as default,
"option ATA_CAM" added,
ata(4) fix for interrupt storms/command timeouts added,
ata(4) umass support removed,
ahd(4) error counter improved,
cam(3) SATA/PATA support improved,
bsnmpd(1) high CPU load issue fixed,
bzip2(1) multi-session bzip2 file handling fixed,
ee(1) crach fixed,
factor(6) performance issue fixed,
fetch(1) NO_PROXY handling fixed,
ifconfig(8) now supports NDP flag handling,
ntpd(8) no longer attempts to bind IPv6 anycast addresses,
unifdef(1) updated to 1.188,
ENOTCAPABLE new errno,
rc.d/static_arp added, and
ISC BIND 9.6.1-P2.
MFC r209388:
Remove G_TYPE_ASCLBA type and replace it with G_TYPE_STRING in gpart.
Move code that converts params from humanized numbers to sectors count
to subr.c and adjust comment.
Add post-processing for "size" and "start offset" params in gpart,
now they are properly converted to sectors count with known sector size
that can be greater that 512 bytes.
Also replace "unsigned long long" type to "off_t" for unify code since
it used for medium size in libgeom(3) and DIOCGMEDIASIZE ioctl.
PR: bin/146277
MFC r209392:
Check for overflow before it occurs. Also add check for
negative numbers.
- Move i386-inherited logic of building ACPI headers for acpi_wakeup.c into
better places and remove intermediate makefile and shell scripts. This
makes parallel kernel build little bit safer for amd64.
- Make SMP code path in acpi.c conditional at run-time.
- Define SMP unconditionally for amd64 and remove opt_global.h from SRCS in
sys/modules/acpi/acpi/Makefile. Note it is done just for correctness sake
because we do not build, ship, or support acpi.ko on amd64.
- According to ACPICA User Guide and Programmer Reference, the read data
must be zero extended to fill the 32-bit or 64-bit return value even if
the bit width of the port or location is less than 32 or 64.
- Use pmap_mapdev()/pmap_unmapdev() to map device memory instead of using
AcpiOsMapMemory()/AcpiOsUnmapMemory() (-> pmap_mapbios()/pmap_unmapbios())
for AcpiOsReadMemory() and AcpiOsWriteMemory(). Although they do not sound
too obvious, these functions are exclusively used to access memory mapped
IO in ACPICA.
- Remove 64-bit access from AcpiOsReadMemory() and AcpiOsWriteMemory().
These functions do not support 64-bit access. Likewise, return error when
64-bit access is requested for PCI configuration space.
- Simplify AcpiOsReadPort() and AcpiOsWritePort() with iodev_read_*() and
iodev_write_*(). This removes unnecessary uses of temporary macros as well.
There is no functional change after this (verified with md5(1) on amd64).