Peter Avalos [Sat, 12 Jul 2008 14:57:33 +0000 (14:57 +0000)]
Update build structure for libarchive-2.5.5.
Start building bsdcpio. It is not the default, but it can be installed by
setting WITH_BSDCPIO. bsdcpio will become the default in 2.1, and GNU cpio
will be removed in 2.3.
Peter Avalos [Sat, 12 Jul 2008 14:42:23 +0000 (14:42 +0000)]
Merge from vendor branch LIBARCHIVE:
Import libarchive-2.5.5.
Peter Avalos [Sat, 12 Jul 2008 14:42:23 +0000 (14:42 +0000)]
Import libarchive-2.5.5.
Sepherosa Ziehau [Sat, 12 Jul 2008 11:44:17 +0000 (11:44 +0000)]
- Check number of free TX descs before trying to xmit packets
- Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE
- Use dynamic segment limit for bus_dmamap_load() in nfe_encap()
This change gives me following result on AMD64X2 3600+ with MCP51:
10 seconds, TX 64bytes packets, before/after
256 TX desc
imtimer | packets | if_snd full | if_oerrors
-125 1.08M/1.08M 84532/82786 90/0
-250 990K/1.08M 3735886/157125 38872/0
4096 TX desc
imtimer | packets | if_snd full | if_oerrors
-125 1.08M/1.09M 0/0 45/0
-250 1.08M/1.10M 0/0 39/0
It gives great improvement when number of TX desc is 256 (default),
and it at least will not loose any packets if number TX desc is 4096.
Sepherosa Ziehau [Sat, 12 Jul 2008 09:31:08 +0000 (09:31 +0000)]
Add brief description about tx_ring_count
Sepherosa Ziehau [Sat, 12 Jul 2008 09:27:49 +0000 (09:27 +0000)]
Add tunable for number of TX desc
Sepherosa Ziehau [Sat, 12 Jul 2008 06:50:04 +0000 (06:50 +0000)]
Prepare to rework nfe_start():
Allow number of segments to exceeds the limit set by the caller; caller
detects and handles this error accordingly.
Sepherosa Ziehau [Sat, 12 Jul 2008 06:16:22 +0000 (06:16 +0000)]
- Decrease NFE_MAX_SCATTER to 32, should be enough
- Increase ifnet.if_snd length to (NFE_TX_RING_COUNT - 1)
Sepherosa Ziehau [Sat, 12 Jul 2008 06:01:37 +0000 (06:01 +0000)]
Use softc sc_rx_ring_count to allocate jumbo frame instead of nfe_rx_ring_count
Sepherosa Ziehau [Sat, 12 Jul 2008 05:48:32 +0000 (05:48 +0000)]
- Correct max segment size passed to various bus_dma_tag_create()
- Pass softc's sysctl context to SYSCTL_ADD_INT
- Allow jumbo frame allocation to fail during attach. If jumbo frame
allocation failed, then MTU was not allowed to set above ETHERMTU
- Don't reinitialize device, if MTU is changed but the device is not
running yet
Matthew Dillon [Sat, 12 Jul 2008 02:48:46 +0000 (02:48 +0000)]
HAMMER Utillities: Sync with 61D
* Add the new pfs-upgrade, pfs-downgrade, and pfs-destroy directives.
* Add more safeties to the PFS directives.
Matthew Dillon [Sat, 12 Jul 2008 02:47:39 +0000 (02:47 +0000)]
HAMMER 61D/Many: Mirroring features
* Split PFS ioctls into their own source file.
* Add additional PFS/mirroring directives: pfs-upgrade, pfs-downgrade, and
finish implementing pfs-destroy. (Yes, that means you can change the
master/slave mode for a PFS now).
* Consolidate some of the B-Tree deletion code.
* Fix another sync_lock deadlock.
Matthew Dillon [Sat, 12 Jul 2008 02:44:59 +0000 (02:44 +0000)]
Correct a bug in the last commit.
Matthew Dillon [Sat, 12 Jul 2008 01:09:46 +0000 (01:09 +0000)]
Add a vclean_unlocked() call that allows HAMMER to try to get rid of a
vnode.
Thomas Nikolajsen [Fri, 11 Jul 2008 23:42:46 +0000 (23:42 +0000)]
Tunables are called loader tunables; fix this in a few places.
Thomas Nikolajsen [Fri, 11 Jul 2008 23:09:18 +0000 (23:09 +0000)]
Update netstat help:
- sync usage() with netstat.1
- describe that -W shows MPLS label operations
- add description of protocol families and carp(4)
- add cross references to inet6(4) and carp(4)
Jeremy C. Reed [Fri, 11 Jul 2008 22:42:30 +0000 (22:42 +0000)]
Add patch from 9.3.5 to 9.3.5-P1. This is for adding randomization
for every query.
The patch for the security issues from 9.3.5 to 9.3.5-P1 (minus
win32 and doc) applies fine to HEAD contrib/bind-9.3 (which is
9.3.4-P1) other than a few RCS ident conflicts.
I made up my own version name for this for DragonFly: 9.3.4-P2.
This is for
http://www.kb.cert.org/vuls/id/800113
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1447
Note that this -P1 patch is the unoptimized version.
Also on busy recursive caching systems you may need to set limits
to allow many sockets.
This also removes comment from DragonFly's named.conf as
that is now a "warning" and is not recommended. Remove any
query-source restriction for one port or this patch will not be used.
Thomas Nikolajsen [Fri, 11 Jul 2008 18:42:14 +0000 (18:42 +0000)]
Update LINT:
- add reference to kernconf(5)
- copy description of SMP from GENERIC,
espcially that APIC_IO can be laft out
- truncate description of polling(4) & dummynet(4),
ensure reference to polling(4) & dummynet(4).
This also removed outdated description of dependency on HZ.
Corret information is in manual pages; it is best to have it in one place.
- point out that SOFTUPDATES applies to UFS only.
- add HAMMER to list of filesystems which cant be build as module.
- point outthat ATA_STATIC_ID is for NATA also, not just ATA.
Sascha Wildner [Fri, 11 Jul 2008 11:59:44 +0000 (11:59 +0000)]
Add prototype for crc32_ext().
Thomas Nikolajsen [Fri, 11 Jul 2008 10:38:50 +0000 (10:38 +0000)]
Make support for polling(4) more visible,
by including a sentence; not only a cross reference to polling(4).
bce.4 and bge.4 was missing any refence to polling(4).
Also add sentence with general reference to ifconfig(8) in manual pages missing it.
Thomas Nikolajsen [Fri, 11 Jul 2008 09:28:20 +0000 (09:28 +0000)]
Change how `options INCLUDE_CONFIG_FILE' is fixed:
use gcc'ism, __used attribute,
instead of relying on compiler not doing global optimization.
This also doesn't introduce name space pollution.
Also add comment.
Suggested-by: corecode
Matthew Dillon [Fri, 11 Jul 2008 05:44:23 +0000 (05:44 +0000)]
HAMMER 61C/Many: Stabilization
* Clean up flusher sequencing for the mirroring, pruning, and reblocking
code. Check free space and don't let the buffer cache implode.
Matthew Dillon [Fri, 11 Jul 2008 01:22:29 +0000 (01:22 +0000)]
HAMMER 61B/Many: Stabilization
* Giving the sync_lock's exclusive locks priority over shared locks caused
a 3-way deadlock, revert to using normal shared locks.
* Move the syncer_lock deeper, closer to the code that actually needs to
hold but still paying attention to atomicy requirements. This reduces
lock contention and improves performance with parallel loads.
Reported-by: Michael Neumann (using his file-creator program)
Sascha Wildner [Thu, 10 Jul 2008 22:52:18 +0000 (22:52 +0000)]
Add remains from the libreadline removal.
Sascha Wildner [Thu, 10 Jul 2008 22:45:27 +0000 (22:45 +0000)]
Nuke libreadline, it's no longer being built.
Sascha Wildner [Thu, 10 Jul 2008 22:24:18 +0000 (22:24 +0000)]
Add some files that seem to have slipped during the conversion from
etc/Makefile to Makefile_upgrade.inc.
Matthew Dillon [Thu, 10 Jul 2008 21:23:58 +0000 (21:23 +0000)]
HAMMER 61A/Many: Stabilization
* Fix a buffer exhaustion issue. When creating large numbers of empty files
a single inode sync of the directory can exhaust the buffer cache because
not enough other things get dirty enough to force a flush.
Put a check in the record syncing code and do a partial finalization if
necessary to avoid deadlocking the buffer cache.
* Fix a panic caused by a missing call to hammer_cursor_deleted_element().
Reported-by: Michael Neumann <mneumann@ntecs.de>,
Gergo Szakal <bastyaelvtars@gmail.com>
Michael Neumann [Thu, 10 Jul 2008 18:47:22 +0000 (18:47 +0000)]
The symlink generated during "hammer snapshot" should be "/filesystem/@@0x.."
and not "/filesystem@@0x...".
Sascha Wildner [Thu, 10 Jul 2008 18:29:52 +0000 (18:29 +0000)]
style: compare return value of getopt() against -1 rather than EOF
Matthew Dillon [Thu, 10 Jul 2008 17:42:18 +0000 (17:42 +0000)]
Add crc32_ext() - allows continuation of a 32 bit crc.
Sascha Wildner [Thu, 10 Jul 2008 10:26:11 +0000 (10:26 +0000)]
Remove unused file.
Matthew Dillon [Thu, 10 Jul 2008 04:44:58 +0000 (04:44 +0000)]
HAMMER Utilities: Sync with 60J
* Minor changes, enhance mirror-dump a bit.
Matthew Dillon [Thu, 10 Jul 2008 04:44:33 +0000 (04:44 +0000)]
HAMMER 60J/Many: Mirroring
Finish implementing the core mirroring algorithm. The last bit was to add
support for no-history deletions on the master. The same support also covers
masters which have pruned records away prior to the mirroring operation.
As with the work done previously, the algorithm is 100% queue-less and
has no age limitations. You could wait a month, and then do a mirroring
update from master to slave, and the algorithm will efficiently handle it.
The basic issue that this commit tackles is what to do when records are
physically deleted from the master. When this occurs the mirror master
cannot provide a list of records to delete to its slaves.
The solution is to use the mirror TID propagation to physically identify
swaths of the B-Tree in which a deletion MAY have taken place. The
mirroring code uses this information to generate PASS and SKIP mrecords.
A PASS identifies a record (sans its data payload) that remains within
the identified swath and should already exist on the target. The
mirroring target does a simultanious iteration of the same swath on the
target B-Tree and deletes records not identified by the master.
A SKIP is the heart of the algorithm's efficiency. The same mirror TID
stored in the B-Tree can also identify large swaths of the B-Tree for which
*NO* deletions have taken place (which will be most of the B-Tree). One
SKIP Record can identify an arbitrarily large swath. The target uses
the SKIP record to skip that swath on the target. No scan takes place.
SKIP records can be generated from any internal node of the B-Tree and cover
that node's entire sub-tree.
This also provides us with the feature where the retention policy can be
completely different between a master and a mirror, or between mirrors.
When the slave identifies a record that must be deleted through the above
algorithm it only needs to mark it as historically deleted, it does not
have to physically delete the record.
Thomas Nikolajsen [Thu, 10 Jul 2008 03:15:56 +0000 (03:15 +0000)]
Update example disklabel to bigger slice,
using partition sizes from recommendation and
Hammer partition of more realistic size.
Syncronize disklabel64.8 with disklabel.8.
Delete comments on partition `c' from disklabel64.8,
as partition `c' isn't special in disklabel64 label.
Change `M' to `MB' in disklabel64 output for partition sizes,
to make unit more clear.
Thomas Nikolajsen [Thu, 10 Jul 2008 01:01:44 +0000 (01:01 +0000)]
Update recommendation for disk partition sizes;
with current abundance of disk space it is a bad idea to make scheme too tight.
Thomas Nikolajsen [Thu, 10 Jul 2008 00:46:57 +0000 (00:46 +0000)]
Update estimate of extra disk space for debug kernel from 10MB to 60MB.
Current extra disk space for GENERIC w/ modules is 53MB (make.conf empty),
these numbers usually grow in time (more features).
Thomas Nikolajsen [Thu, 10 Jul 2008 00:28:25 +0000 (00:28 +0000)]
Add some cross references.
Aggelos Economopoulos [Thu, 10 Jul 2008 00:19:27 +0000 (00:19 +0000)]
Fix sockopt syscalls for the Nth time.
- update linux sys_{g,s}etsockopt to do copy{in,out}
- make sure we don't try to kmalloc(0) (use NULL)
- only test non-NULL addresses with kva_p()
Thomas Nikolajsen [Wed, 9 Jul 2008 23:54:42 +0000 (23:54 +0000)]
Update FILES section and add a few extra cross references.
Thomas Nikolajsen [Wed, 9 Jul 2008 23:52:16 +0000 (23:52 +0000)]
Fix `option INCLUDE_CONFIG_FILE',
which was broken using gcc4.1.2 (default compiler).
Solution is to drop `static' for variable containing CONFIG.
Name of variable also change from config to config_INCLUDE_CONFIG_FILE,
to minimize chance of name clash, now that it is made public.
Variable isn't used, so gcc optimized it away.
Matthew Dillon [Wed, 9 Jul 2008 20:48:33 +0000 (20:48 +0000)]
HAMMER Utilities: Mirroring work
* Change the key used for the PFS config structure.
Sascha Wildner [Wed, 9 Jul 2008 20:33:32 +0000 (20:33 +0000)]
Include HAMMER file systems when checking for setuid diffs.
Sascha Wildner [Wed, 9 Jul 2008 19:53:27 +0000 (19:53 +0000)]
Add HAMMER to the list of file systems to be searched by locate.updatedb.
Sascha Wildner [Wed, 9 Jul 2008 18:32:19 +0000 (18:32 +0000)]
Clarify that the argument to -t is in seconds.
Thomas Nikolajsen [Wed, 9 Jul 2008 18:27:30 +0000 (18:27 +0000)]
Fix error: `#' can be escaped by `\', not `\\'.
Obtained-from: FreeBSD
Thomas Nikolajsen [Wed, 9 Jul 2008 18:19:39 +0000 (18:19 +0000)]
Fix typo.
Thomas Nikolajsen [Wed, 9 Jul 2008 18:15:10 +0000 (18:15 +0000)]
Fix typos.
Thomas Nikolajsen [Wed, 9 Jul 2008 17:50:44 +0000 (17:50 +0000)]
Change .Fx to .Dx where appropriate.
Thomas Nikolajsen [Wed, 9 Jul 2008 17:38:31 +0000 (17:38 +0000)]
Fix paths;
paths changed in the past when source tree restructured.
Thomas Nikolajsen [Wed, 9 Jul 2008 16:23:56 +0000 (16:23 +0000)]
In manual pages and LINT,
- Fix paths;
paths changed in past when source tree restructured.
- Change .Fx/FreeBSD to .Dx/DragonFly where appropriate.
Thomas Nikolajsen [Wed, 9 Jul 2008 15:51:43 +0000 (15:51 +0000)]
Change name of kernel tunable from imtime to imtimer,
to match name of corresponding sysctl variable.
Update nfe.4 with support for MCP73/77/79, and
add description of sysctl variables / tunables.
Sepherosa Ziehau [Wed, 9 Jul 2008 15:45:23 +0000 (15:45 +0000)]
Update et(4) manpage after recent change
Sepherosa Ziehau [Wed, 9 Jul 2008 15:42:12 +0000 (15:42 +0000)]
- Recollect TX descs, if et(4) is going to enter OACTIVE state.
- Add additional parameter to et_txeof(), so that calling et_txeof() in
et_start() will not create recursion.
- Increase TX segments per interrupt to 256 after above changes.
This gives me additional +10Kpps 64bytes packet TX performance improvement
(now 918Kpps) and interrupt rate reduction.
Sepherosa Ziehau [Wed, 9 Jul 2008 14:00:44 +0000 (14:00 +0000)]
Update et(4) manpage according to recent changes
Sepherosa Ziehau [Wed, 9 Jul 2008 13:57:59 +0000 (13:57 +0000)]
- Increase RX coalesced packets from 32 to 129 to avoid being livelocked when
~1.48Mpps 64bytes packets are injected.
- Increase RX coalescing ticks from 20 to 25 and correct the comment about its
unit: it is 4us instead of 10us (thanks go to jsg@openbsd.org for giving me
the informational material :).
# An interrupt is generated if
# (RX pkt count > ET_RX_INTR_NPKTS) || (timer > ET_RX_INTR_DELAY)
#
# I thought the interrupt generation condition was
# (RX pkt count > ET_RX_INTR_NPKTS) && (timer > ET_RX_INTR_DELAY)
Matthew Dillon [Wed, 9 Jul 2008 10:32:30 +0000 (10:32 +0000)]
HAMMER Utilities: Sync with 60I
* Changes in the way PFS's are created and managed.
* Replace the pfs-create directive with pfs-master and pfs-slave.
* Add more checks against stupid user errors.
* A cycle file is no longer needed when using mirror-copy. Mirror-copy
now uses a two-way protocol and figures out what TID ranges need to
be copied.
Matthew Dillon [Wed, 9 Jul 2008 10:29:20 +0000 (10:29 +0000)]
HAMMER 60I/Many: Mirroring
* Flesh out the mirroring code a lot. It is now 90% done.
* Change the way PFS's are managed. The PFS management structure is no
longer associated with the PFS root inode. Instead all PFS management
structures, for all PFSs, are associated with the master root inode.
This allows a mirroring slave to also mirror the root inode itself.
* Remove the directory localization hacks used to link a PFS to its parent.
PFS's are no longer linked to their parent. Instead, a special
@@PFS softlink is created.
* The master/slave mode must now be selected when a PFS is created and
cannot be changed.
* PFSs are accessed via a special @@PFS softlink created in the parent
directory. HAMMER manipulates this special softlink in the readlink()
command and returns a longer form to the kernel which changes whenever
the snapshot TID changes.
This allows updates to slave PFSs by mirroring commands to not create
stale system caches. Every time you CD through the special softlink
you get the most recent completed snapshot of the PFS.
* Userland now manipulates PFS ids as a simple integer in the range 0-65535.
Thomas Nikolajsen [Wed, 9 Jul 2008 09:29:17 +0000 (09:29 +0000)]
Add PF_MPLSOPS, route flag `m', to netstat.8.
Add mpls as -f option: `netstat -f mpls'.
Sascha Wildner [Wed, 9 Jul 2008 07:54:34 +0000 (07:54 +0000)]
Add some OLD_PKGSRC_PACKAGES again (accidentally removed in the last commit).
Sascha Wildner [Wed, 9 Jul 2008 07:21:03 +0000 (07:21 +0000)]
Build the installer as part of normal build-/installworld if WANT_INSTALLER
is set.
Clean up nrelease/Makefile to define WANT_INSTALLER if the 'installer'
target is specified.
Thomas Nikolajsen [Tue, 8 Jul 2008 15:12:36 +0000 (15:12 +0000)]
Add description for CVS_UPDATE and update description for SUP* variables.
Sepherosa Ziehau [Tue, 8 Jul 2008 14:36:02 +0000 (14:36 +0000)]
Make et(4) aware ETHER_INPUT_CHAIN and ETHER_INPUT2
Thomas Nikolajsen [Tue, 8 Jul 2008 14:12:45 +0000 (14:12 +0000)]
ata(4) isn't used in GENERIC anymore.
Thomas Nikolajsen [Tue, 8 Jul 2008 14:04:11 +0000 (14:04 +0000)]
Update file list and description.
Sepherosa Ziehau [Tue, 8 Jul 2008 13:50:52 +0000 (13:50 +0000)]
Handle MPLS on ETHER_INPUT2 code path
Thomas Nikolajsen [Tue, 8 Jul 2008 12:08:29 +0000 (12:08 +0000)]
Update names of rc.d diskless scripts.
Thomas Nikolajsen [Tue, 8 Jul 2008 11:59:15 +0000 (11:59 +0000)]
Add description of DragonFly-src-supfile.
Expand TABs.
Matthew Dillon [Tue, 8 Jul 2008 04:34:41 +0000 (04:34 +0000)]
HAMMER 60H/Many: Stabilization pass
* Fix races in the in-memory/B-Tree scanning code introduced by the
mirror_tid update code. This fixes two assertion panics.
* Remove compile-time reminder #warning that no longer applies.
(Sascha will be happy).
Matthew Dillon [Tue, 8 Jul 2008 03:34:27 +0000 (03:34 +0000)]
Cleanup - move a warning so it doesn't spam the screen so much, cleanup
some syntax.
Matthew Dillon [Tue, 8 Jul 2008 01:39:27 +0000 (01:39 +0000)]
Add the HAMMER filesystem to GENERIC and VKERNEL.
Nuno Antunes [Mon, 7 Jul 2008 23:11:54 +0000 (23:11 +0000)]
Add 'options MPLS' to LINT.
Remove comment.
Sascha Wildner [Mon, 7 Jul 2008 23:03:25 +0000 (23:03 +0000)]
The behavior of -m introduced in r1.4 leads to an error message upon
booting if (for example) a laptop with a mouse pad is booted with an
additional USB mouse attached and both moused_enable and usbd_enable
are set in rc.conf.
Therefore, go back to the old behavior again, which is to allow
enabling the mouse cursor more than once.
Matthew Dillon [Mon, 7 Jul 2008 22:42:35 +0000 (22:42 +0000)]
HAMMER 60G/Many: Mirroring, bug fixes
* Fix a bug in the mirror_tid propagation that could cause a delete_range
iteration to get way way off. B-Tree insertions were not calling
hammer_cursor_inserted_element().
* Fix an assertion in the delete_range iteration, delete-visibility could
cause the assert to trigger when it shouldn't.
* Add a new assertion testing that the iteration is still within the
inode object to catch any remaining mirror_tid propagation bugs.
* Minor code documentation adjustments.
Reported-by: Gergo Szakal <bastyaelvtars@gmail.com>
Nuno Antunes [Mon, 7 Jul 2008 22:02:10 +0000 (22:02 +0000)]
Introduce experimental MPLS over ethernet support. Add 'options MPLS'
to the kernel config file to enable it. This modification increases
the footprint of each route in the FIB by 12 bytes, used to hold up
to 3 label operations per route.
Hints-from: Ayame, NiSTswitch implementations.
Reviewed-by: dillon@, sephe@, hsu@, hasso@.
Matthew Dillon [Mon, 7 Jul 2008 17:31:07 +0000 (17:31 +0000)]
UFS+softupdates can build up thousands of dirty 1K buffers and run out
of buffers before it even hits the lodirtybufspace point. The buf_daemon
is never triggered. This case occurs rarely but can be triggered e.g.
by a cvs update.
Add dirtybufcount back in and flush if it exceeds (nbuf / 2) to handle
this degenerate case.
Reported-by: "Sepherosa Ziehau" <sepherosa@gmail.com>
Matthew Dillon [Mon, 7 Jul 2008 16:02:36 +0000 (16:02 +0000)]
Rename fid_reserved to fid_ext.
Sascha Wildner [Mon, 7 Jul 2008 15:29:51 +0000 (15:29 +0000)]
Sync zoneinfo database with tzdata2008d from elsie.
africa: 8.11 -> 8.13
asia: 8.20 -> 8.21
australasia: 8.8 -> 8.9
europe: 8.12 -> 8.14
northamerica: 8.23 -> 8.24
southamerica: 8.19 -> 8.26
zone.tab: 8.16 -> 8.18
From Arthur David Olson's and Paul Eggert's comments:
Changes affecting current and future time stamps:
* africa: changes to reflect Mauritius' 2008-2009 DST experiment
* southamerica and zone.tab: changes to reflect Brazilian time zone
realignments
* America/Eirunepe also changed from ACT (UTC-5) to AMT (UTC-4) on June 24
Changes affecting past time stamps:
* For Mauritius, also include the 1982/1983 DST as reported by
Steffen Thorsen
* For America/Argentina/San_Luis, redo the history from 1990 through 2000
to match what's in Shanks & Pottenger
The following changes should not affect externally visible behavior:
* australasia, europe and southamerica: changes by Halasz Sandor Viktor to
fix URLs
* Redo comments about Brazil to make it clearer about what west Para contains
* Update Brazil comments to mention Decree 6,212 (2007-09-26)
* Make comments a bit more concise for Brazil and Mauritius
* Redo comments about Argentina to reflect the fact that San Luis is now
separate
* Redo the daylight-saving rules for Berlin in 1945 to make it clearer that
these are for the Soviet Zone, not for Berlin in general
* Redo Bahamas rules to make it clearer that the rules after 1975 are the
same as the US
* Add comments about time in China from 1949 to 1980
(Thanks to Thomas S. Mullaney for this.)
Aggelos Economopoulos [Mon, 7 Jul 2008 14:35:12 +0000 (14:35 +0000)]
Do copy{in,out} early in the {g,s}etsockopt system call paths
so the rest of the kernel can assume it's dealing with a
kernel address in ->sopt_val. This means that soopt{,_m}copy{in,out}
are now seriously misnamed and should be replaced by soopt_{from,to}_*
Suggested-by: dillon@
Sepherosa Ziehau [Mon, 7 Jul 2008 13:14:23 +0000 (13:14 +0000)]
IFF_BROADCAST will never be changed
Sepherosa Ziehau [Mon, 7 Jul 2008 11:31:28 +0000 (11:31 +0000)]
White space
Sepherosa Ziehau [Mon, 7 Jul 2008 11:29:28 +0000 (11:29 +0000)]
The MAC address of nfe(4), whose device id is above MCP55, is saved in
different order than older ones. Model numbers from forthdeth.
Reported-by: Michael Neumann <mneumann@ntecs.de>
Matthew Dillon [Mon, 7 Jul 2008 03:51:29 +0000 (03:51 +0000)]
HAMMER Utilities: Sync with 60F
* Use sync_end_tid as the snapshot TID rather then sync_beg_tid.
* Initialize sync_beg_tid to 0 instead of 1 in PFS 0's pfsd structure.
* Reported the random fsid assigned by newfs_hammer to a new HAMMER
filesystem.
Matthew Dillon [Mon, 7 Jul 2008 03:49:51 +0000 (03:49 +0000)]
HAMMER 60F/Many: Mirroring
* Properly propagate mirror_tid when splitting B-Tree nodes.
* Arrange for the fsid reported as st_dev to be based on the shared_uuid,
so the same value is reported on the slaves as on the master.
Munge the fsid based on the asof timestamp to try to make snapshots look
different from current filesystems, so programs like 'diff' don't get
confused.
This allows one to run (tar cf - directory@@<timestamp> | md5) on a
slave and get the same answer as he got on the master. Note, however,
that the tar cannot include the root directory of the PFS or master
because the root directory inode is not mirrored (only files and directories
underneath it), and will mess up the MD5.
* Properly update vol0_next_tid when writing to a mirroring slave.
* Attempt to regenerate the inode for the root PFS when doing a name lookup
based on the current latest snapshot. This may need more work.
Matthew Dillon [Mon, 7 Jul 2008 01:29:32 +0000 (01:29 +0000)]
When creating a new HAMMER filesystem also create a PFS record for it,
setting the unique and shared uuids to the fsid in the volume header.
Matthew Dillon [Mon, 7 Jul 2008 00:27:22 +0000 (00:27 +0000)]
HAMMER Utilities: Sync with 60E
* Change the cycle file to hold an entire B-Tree base key, plus an optional
TID (used by the mirroring code).
* Flesh out the mirroring code. Add timeout (-t) support. Add cycle file
support.
* When mirror-copy is used have the target sync the filesystem
and acknowledge completion and store the completed TID in the cycle
file.
* Incremental mirroring now works when using mirror-copy with a cycle file.
* Add mirror-dump, aka hammer mirror-read ... | hammer mirror-dump, for
debugging.
Matthew Dillon [Mon, 7 Jul 2008 00:24:31 +0000 (00:24 +0000)]
HAMMER 60E/Many: Mirroring, bug fixes
* Work on the mirror_tid propagation code. The code now retries on
EDEADLK so propagation is guaranteed to reach the root.
* Get most of the mirror_write code working.
* Add PFS support for NFS exports. Change fid_reserved to fid_ext and use
it to store the localization parameter that selects the PFS. This isn't
well tested yet.
* BUGFIX: Fix a bug in vol0_last_tid updates. Flush sequences might
not always update the field, creating issues with mirroring and snapshots.
* BUGFIX: Properly update the volume header CRC.
* CLEANUP: Fix some obj_id's that were u_int64_t's. They should be int64_t's.
* CLEANUP: #if 0 out unused code, remove other bits of unused code.
Thomas Nikolajsen [Mon, 7 Jul 2008 00:00:56 +0000 (00:00 +0000)]
Ensure AP is associated before we return.
Otherwise further rc.d processing, eg dhclient,
can fail to get working network connection.
Thomas Nikolajsen [Sun, 6 Jul 2008 23:56:32 +0000 (23:56 +0000)]
Fix typo.
Thomas Nikolajsen [Sun, 6 Jul 2008 23:55:51 +0000 (23:55 +0000)]
Describe which FW package is causing error;
we have multiple FW packages in base system.
Thomas Nikolajsen [Sun, 6 Jul 2008 23:50:19 +0000 (23:50 +0000)]
Update etc/inetd.conf:
- uucp removed from base system 5 years ago
- kerberosIV removed from base system 4 years ago
- pcnfsd removed from base system 14 years ago
- change path in examples from /usr/local/ to /usr/pkg/
as we changed from ports to pkgsrc several years ago
Nicolas Thery [Sun, 6 Jul 2008 19:01:57 +0000 (19:01 +0000)]
Change soopt_mcopyin() and soopt_mcopyout() to not modify soopt_val and
soopt_valsize. This fixes a "already free" panic when so_pru_ctloutput()
kfree()'s soopt_val.
Reported-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
Reviewed-by: Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>
Michael Neumann [Sun, 6 Jul 2008 17:20:16 +0000 (17:20 +0000)]
Add Makefile that compiles serial port enabled boot loader.
Michael Neumann [Sun, 6 Jul 2008 17:17:01 +0000 (17:17 +0000)]
Extend boot loader so that it can be compiled to work over a serial port.
Obtained-From: FreeBSD
Sepherosa Ziehau [Sun, 6 Jul 2008 09:17:12 +0000 (09:17 +0000)]
Nuke unused macro and comment
Sepherosa Ziehau [Sun, 6 Jul 2008 08:46:33 +0000 (08:46 +0000)]
Print chip informantion in bge_attach() instead of bge_probe()
Sepherosa Ziehau [Sun, 6 Jul 2008 08:13:46 +0000 (08:13 +0000)]
Adjust default interrupt moderation variables
Sepherosa Ziehau [Sun, 6 Jul 2008 06:47:10 +0000 (06:47 +0000)]
For PCI Express devices:
1) Adjust max read request size to 4Kbytes
2) Turn on FIFO_LONG_BURST in RDMA during bge_blockinit()
Though 1) does not seem to have much to do with the poor TX performance (*)
observed on PCI Express bge(4), 2) does fix the problem.
Obtained-from: tg3
# (*)
# http://lists.freebsd.org/pipermail/freebsd-net/2007-June/014373.html
# FreeBSD kern/119361
Sepherosa Ziehau [Sun, 6 Jul 2008 05:54:09 +0000 (05:54 +0000)]
TX coalesce ticks can't be more than 1023
Obtained-from: tg3
Sepherosa Ziehau [Sun, 6 Jul 2008 05:47:14 +0000 (05:47 +0000)]
Add bits for PCI Express device control register
Matthew Dillon [Sat, 5 Jul 2008 23:59:38 +0000 (23:59 +0000)]
Error out if no volumes are specified instead of core-dumping.
Submitted-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>