dragonfly.git
11 years agoDetach correctly so there is no need to panic during reattach.
Hasso Tepper [Fri, 8 Aug 2008 18:33:11 +0000 (18:33 +0000)]
Detach correctly so there is no need to panic during reattach.

11 years agoSilence two warnings by casting to time_t *.
Sascha Wildner [Thu, 7 Aug 2008 11:15:45 +0000 (11:15 +0000)]
Silence two warnings by casting to time_t *.

11 years agoWARNS is 6 for usr.bin/.
Sascha Wildner [Thu, 7 Aug 2008 10:45:58 +0000 (10:45 +0000)]
WARNS is 6 for usr.bin/.

11 years agoFix 'Used' column in -h/-H output by using int64_t.
Sascha Wildner [Thu, 7 Aug 2008 09:59:49 +0000 (09:59 +0000)]
Fix 'Used' column in -h/-H output by using int64_t.

11 years agoHAMMER 2.1:01 - Stability
Matthew Dillon [Wed, 6 Aug 2008 15:38:58 +0000 (15:38 +0000)]
HAMMER 2.1:01 - Stability

* Fix a bug in the B-Tree code.  Recursive deletions are done prior to
  marking a node as actually being empty, but setup for the deletion
  (by calling hammer_cursor_deleted_element()) must still occur prior
  to the recursrion so cursor indexes are properly adjusted for the
  possible removal.  If the recursion is not successful we can just leave
  the cursors post-adjusted since the subtree has an empty leaf anyway.

* Rename HAMMER_CURSOR_DELBTREE to HAMMER_CURSOR_RETEST so its function
  is more apparent.

* Properly set the HAMMER_CURSOR_RETEST flag when relocking a cursor
  that has tracked a ripout, so the cursor's new current element is
  re-tested by any iteration using the cursor.

* Remove code that allowed a SETUP record to be converted to a FLUSH
  record if the target inode is already in the correct flush group.
  The problem is that target inode has already setup its sync state
  for the backend and the nlinks count will not be correct if we
  add another directory ADD/DEL record to the flush.  While strictly
  a temporary nlinks mismatch (the next flush would correct it), a
  crash occuring here would result in inconsistent nlink counts on
  the media.

* Reference and release buffers instead of directly calling low level
  hammer_io_deallocate(), and generally reference and release buffers
  around reclamations in the buffer/io invalidation code to avoid
  races.  In particular, the buffer must be referenced during a
  call to hammer_io_clear_modify().

* Fix a buffer leak in hammer_del_buffers() which is not only bad unto
  itself, but can also cause reblocking assertions on the presence of
  buffer aliases later on.

* Return ENOTDIR if rmdir attempts to remove a non-directory.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org> (rmdir)
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx> (multiple)
11 years ago* Don't call ifp->if_output() from inside mpls_output(). Make the
Nuno Antunes [Tue, 5 Aug 2008 15:11:32 +0000 (15:11 +0000)]
* Don't call ifp->if_output() from inside mpls_output(). Make the
  caller responsible for sending the packet.

* Fix mpls gateway arp resoving.

* Introduce a new mbuf flag M_MPLSLABELED indicating that the packet
  has at least one valid mpls label on it.

* Use the new mbuf flag instead of forging a sockaddr_mpls to let
  ether_output() identify the mpls packets.

* Drop the packet when mpls ttl is exceeded (doesn't send an ICMP message yet).

* Fix compilation warning.

* Improve comments.

11 years ago- Use sysctl_int_range() for autoinc_step
Sepherosa Ziehau [Tue, 5 Aug 2008 11:57:40 +0000 (11:57 +0000)]
- Use sysctl_int_range() for autoinc_step
- Assert instead snaphot of autoinc_step is within range, instead of adjust it.

11 years ago- In dc_intr(), check IFF_RUNNING instead of IFF_UP; this closes a possible
Sepherosa Ziehau [Tue, 5 Aug 2008 11:23:01 +0000 (11:23 +0000)]
- In dc_intr(), check IFF_RUNNING instead of IFF_UP; this closes a possible
  time window between IFF_UP is set but not IFF_RUNNING.
- In dc_ioctl(), don't program multicast filter, if NIC is not running yet.
  Add assertion in Xircom's multicast filter programming function to make
  sure that NIC is running.
- Don't set IFF_RUNNING in Xircom's multicast filter programming function.
- Move setting IFF_RUNNING before programming multicast filter; just to keep
  the IFF_RUNNING assertion work.  Add comment about it

Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1106>
Tested-by: Tim <t-df@timdarby.net>
11 years ago- Add serializer assertion in all NIC driver's interfaces
Sepherosa Ziehau [Tue, 5 Aug 2008 11:08:30 +0000 (11:08 +0000)]
- Add serializer assertion in all NIC driver's interfaces
- Nuke bfe_miibus_statchg(), which serves no purpose

11 years agoRemove reference to expand_number(3). We'll bring in dehumanize_number(3)
Sascha Wildner [Mon, 4 Aug 2008 19:42:39 +0000 (19:42 +0000)]
Remove reference to expand_number(3). We'll bring in dehumanize_number(3)
at some point and it will be documented together with humanize_number(3).

11 years agoUse libutil's humanize_number(3) for -h.
Sascha Wildner [Mon, 4 Aug 2008 19:22:44 +0000 (19:22 +0000)]
Use libutil's humanize_number(3) for -h.

Submitted-by: Samuel J. Greear <sjg@evilcode.net>
Taken-from:   FreeBSD

11 years agoSync humanize_number(3) with FreeBSD.
Sascha Wildner [Mon, 4 Aug 2008 19:09:26 +0000 (19:09 +0000)]
Sync humanize_number(3) with FreeBSD.

As the code is coming from NetBSD, change the license to their
two clause flavor.

Submitted-by: Samuel J. Greear <sjg@evilcode.net>
11 years agoKeep UFS compatible on 32 and 64 bit builds by changing the 'time_t' embedded
Matthew Dillon [Mon, 4 Aug 2008 18:15:47 +0000 (18:15 +0000)]
Keep UFS compatible on 32 and 64 bit builds by changing the 'time_t' embedded
in its media structure to ufs_time_t.

11 years agoPromote sysctl_int_range()
Sepherosa Ziehau [Sun, 3 Aug 2008 11:00:32 +0000 (11:00 +0000)]
Promote sysctl_int_range()

11 years agoAdd serializer assertion in all NIC driver interfaces.
Sepherosa Ziehau [Sun, 3 Aug 2008 06:19:20 +0000 (06:19 +0000)]
Add serializer assertion in all NIC driver interfaces.

11 years agoWhite space
Sepherosa Ziehau [Sun, 3 Aug 2008 03:26:22 +0000 (03:26 +0000)]
White space

11 years agoFix a panic on boot that can occur if you hit keys on the keyboard
Matthew Dillon [Sun, 3 Aug 2008 03:00:21 +0000 (03:00 +0000)]
Fix a panic on boot that can occur if you hit keys on the keyboard
before the console device's high level initialization is run.

Reported-by: "Alexander Polakov" <polachok@gmail.com>,
     "David Rhodus" <sdrhodus@gmail.com>

11 years agoActually install the blacklists of compromised SSH keys into /etc when doing
Sascha Wildner [Sun, 3 Aug 2008 01:01:51 +0000 (01:01 +0000)]
Actually install the blacklists of compromised SSH keys into /etc when doing
'make upgrade'.

11 years agoForced commit to clarify the previous commit message:
Sascha Wildner [Sat, 2 Aug 2008 23:02:26 +0000 (23:02 +0000)]
Forced commit to clarify the previous commit message:

humanize_number() is in libutil, not libtool.

11 years agoUse humanize_number() from libtool instead of rolling our own version for
Sascha Wildner [Sat, 2 Aug 2008 22:56:52 +0000 (22:56 +0000)]
Use humanize_number() from libtool instead of rolling our own version for
-h and -H.

As a side effect, this fixes an issue with showing a negative value in
the 'Avail' column (for UFS file systems which are using the MINFREE
reserve) by casting f_bavail to signed when passing it to prthumanval(),
like it was done before already for fstoblk().

f_bavail used to be signed in struct fsstat but is now unsigned in struct
vfsstat (in accordance with SUS).

Taken-from: FreeBSD

11 years agoHAMMER: fsync blocking fixes
Matthew Dillon [Sat, 2 Aug 2008 21:21:28 +0000 (21:21 +0000)]
HAMMER: fsync blocking fixes

* Fix another case where fsync() can block indefinitely.

Reported-by: Michael Neumann, Kyle Butt, Gergo Szakal
11 years agoWe're really DragonFly, so bastardize the FreeBSD file.
Simon Schubert [Sat, 2 Aug 2008 15:30:28 +0000 (15:30 +0000)]
We're really DragonFly, so bastardize the FreeBSD file.

11 years agoMake vector selection easier to maintain.
Simon Schubert [Sat, 2 Aug 2008 15:29:53 +0000 (15:29 +0000)]
Make vector selection easier to maintain.

11 years agoIntroduce dynamic rule hash array generation, so that after possible blocking
Sepherosa Ziehau [Sat, 2 Aug 2008 11:39:00 +0000 (11:39 +0000)]
Introduce dynamic rule hash array generation, so that after possible blocking
packet sending we could know that the dynamic rule hash array was changed and
reiterate.  This is *necessary* even if BGL is still used.

11 years ago- Use NULL
Sepherosa Ziehau [Sat, 2 Aug 2008 07:05:48 +0000 (07:05 +0000)]
- Use NULL
- White space

11 years ago- Make dynamic rule allocation non-blocking
Sepherosa Ziehau [Sat, 2 Aug 2008 06:35:20 +0000 (06:35 +0000)]
- Make dynamic rule allocation non-blocking
- Make dynamic rule hash array allocaion non-blocking
  Old behaviour of the hash array allocation is changed in following aspects:
  o  Old hash array is freed only if new hash array allocation succeed
  o  Old hash array is reused, if the allocation makes the hash array size
     less than the old one

After this change, the static rules iteration is non-blocking, so we will not
have trouble to duplicate static rules (using netmsg forwarding) on all CPUs.

# send_reject() called in the rule iteration may block, but it is the last step
# in the rule iteration, so we don't need to worry about it.

11 years agoAdd amd64 files for the ISA and PCI busses and adjust the header files
Matthew Dillon [Sat, 2 Aug 2008 05:22:21 +0000 (05:22 +0000)]
Add amd64 files for the ISA and PCI busses and adjust the header files
to operate in more of a machine-independant fashion.

11 years ago- Add macro for cpu_portfn(0), on which all ipfw configuration should happen
Sepherosa Ziehau [Sat, 2 Aug 2008 03:32:38 +0000 (03:32 +0000)]
- Add macro for cpu_portfn(0), on which all ipfw configuration should happen
- Add assertion macro to make sure a msgport is IPFW_CFGPORT

11 years ago- ipfw_add_rule will never fail
Sepherosa Ziehau [Sat, 2 Aug 2008 03:03:06 +0000 (03:03 +0000)]
- ipfw_add_rule will never fail
- Make sure that ipfw_add_rule happens on CPU0
- Save a snapshot of autoinc_step, so sysctl will not interfering rule number
  assignment
- Add comment

11 years agoCreate an #include layer for bus/pci and bus/isa so source files do not
Matthew Dillon [Sat, 2 Aug 2008 01:14:43 +0000 (01:14 +0000)]
Create an #include layer for bus/pci and bus/isa so source files do not
have to dive into bus/xxx/i386 to access header files.

11 years agoAMD64 work:
Matthew Dillon [Fri, 1 Aug 2008 23:11:16 +0000 (23:11 +0000)]
AMD64 work:

* Sync elf64.h w/ Jordan's work + FreeBSD to get proper elf hash types

* Use proper elf types for symbol lookups

11 years agoCast to unsigned long to match the rest of the expression. This is just
Matthew Dillon [Fri, 1 Aug 2008 04:42:30 +0000 (04:42 +0000)]
Cast to unsigned long to match the rest of the expression.  This is just
a clean-up.

Reported-by: "Robin Carey" <robin.carey1@googlemail.com>
11 years agoHAMMER: Mirroring work
Matthew Dillon [Thu, 31 Jul 2008 22:30:33 +0000 (22:30 +0000)]
HAMMER: Mirroring work

* Fix an invalidation race that can be triggered by the mirroring or
  reblocking code.  The invalidation was being made before the direct IO
  completed rather then after.

* Fix an invalidation race.  hammer_io_inval() was cleaning out any
  pre-existing buffer cache buffer aliases but was not cleaning out the
  VM backing store, resulting in CRC assertions (but no on-media corruption)
  by the mirroring code.

* Change the bulk-record sequencing to avoid adding the record to
  the inode's record list until after the direct-io has been initiated.

* Change the mirror_read code to generate PASS records for deleted records
  whos create_tid is out of bounds, so we do not have to transport the
  data for deleted data records.  This greatly reduces the mirror bandwidth
  needed to mirror deletions.

  The mirror_write code similarly will issue delete_tid updates as
  appropriate when presented with a PASS record.

* Mirror targets no longer strip deleted records which had yet to be created
  on the target.  The record is now created so snapshot state is retained.

11 years agoFix 'unused variable' warning in case neither BOOTP nor NFS_ROOT are
Sascha Wildner [Thu, 31 Jul 2008 20:23:40 +0000 (20:23 +0000)]
Fix 'unused variable' warning in case neither BOOTP nor NFS_ROOT are
defined.

11 years agoSync zoneinfo database with tzdata2008e from elsie.
Sascha Wildner [Thu, 31 Jul 2008 20:05:47 +0000 (20:05 +0000)]
Sync zoneinfo database with tzdata2008e from elsie.

africa:         8.13 -> 8.15
asia:           8.21 -> 8.22
europe:         8.14 -> 8.17
leapseconds:    8.5  -> 8.6

From Arthur David Olson's comments:

* Changes for Mauritius in the "africa" file based on messages from
  Steffen Thorsen and Alex Krivenyshev: Mauritius will start and end
  their DST a few days earlier than previously announced
  (new start date: 2008-10-26, new end date: 2009-03-31).

* A fix for a typo in the "europe" file from Jesper Norgaard Welen (only
  affects 1945 time stamps).

* Changes to the "leapseconds" file to reflect the IERS announcement
  of a positive leap second at the end of 2008.

* Data file URL fixes from Halasz Sandor Viktor.

11 years agoAssert that static rules' count is only updated on CPU0
Sepherosa Ziehau [Thu, 31 Jul 2008 14:39:36 +0000 (14:39 +0000)]
Assert that static rules' count is only updated on CPU0

11 years agoWhite space and style changes
Sepherosa Ziehau [Thu, 31 Jul 2008 12:42:40 +0000 (12:42 +0000)]
White space and style changes

11 years agoWhite space and style changes
Sepherosa Ziehau [Thu, 31 Jul 2008 12:35:15 +0000 (12:35 +0000)]
White space and style changes

11 years ago- Undefine temporary macro
Sepherosa Ziehau [Thu, 31 Jul 2008 12:09:00 +0000 (12:09 +0000)]
- Undefine temporary macro
- White space changes
- Use "do {} while (0)" in macro

11 years agoWhite space and style changes
Sepherosa Ziehau [Thu, 31 Jul 2008 11:58:42 +0000 (11:58 +0000)]
White space and style changes

11 years agoWhite space and style changes
Sepherosa Ziehau [Thu, 31 Jul 2008 11:46:51 +0000 (11:46 +0000)]
White space and style changes

11 years agoRemove unused macro; undefine temporary macro
Sepherosa Ziehau [Thu, 31 Jul 2008 11:36:38 +0000 (11:36 +0000)]
Remove unused macro; undefine temporary macro

11 years agoHAMMER Utilities: Cleanup
Matthew Dillon [Thu, 31 Jul 2008 06:21:19 +0000 (06:21 +0000)]
HAMMER Utilities: Cleanup

* Fix a conditional that generated an extranious call to usage()

11 years agoHAMMER Utilities: Streaming mirroring!
Matthew Dillon [Thu, 31 Jul 2008 06:01:32 +0000 (06:01 +0000)]
HAMMER Utilities: Streaming mirroring!

* Add a new streaming mirroring feature called 'mirror-stream' which works
  like mirror-copy but does not exit unless the pipe is broken.  A simple
  script to sleep and re-run the command (to deal with the occassional
  broken tcp connection) is all that is needed.

* Add new options -b <bw> and -i <delay> to support bandwidth-limiting
  mirroring streams.  The bandwidth may be specified in bytes/sec or suffixed
  with 'k', 'm', or 'g' to specify kilobytes, megabytes, or gigabytes per
  second.

11 years agoHAMMER: Mirroring, misc bug fixes
Matthew Dillon [Thu, 31 Jul 2008 04:42:04 +0000 (04:42 +0000)]
HAMMER: Mirroring, misc bug fixes

* Adjust hammer_flusher_async() to queue an extra flush if called twice
  in quick succession.  This fixes the 'sync' command to properly sync
  the entire filesytem.  Previously two syncs were needed.

* Fix a bug where a user application could get stuck due to HAMMER
  losing track of an inode flush.

* Mirroring masters now use the most recent fully committed transaction
  id instead of the last flushed (but still subject to rollback) tid.

  This fixes an issue where a mirror could pass information still subject
  to crash recovery rollback to the slave.  Now only fully committed
  information is passed to the slave.

* Fix a transitory bug where the mirroring code would sometimes not
  sync the correct delete state to the slave.  The slave would always
  be corrected in the next pass, however.  Now the slave is correct
  at all times.

* Fix a bug in hammer_mirror_write() where a delete-to operation could
  livelock.

* Add a new HAMMER ioctl which waits for the committed data transaction
  id to change.  This will be used by the mirroring code to implement
  continuous streaming operation.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>,
     Michael Neumann <mneumann@crater.dragonflybsd.org>
     (the user application freeze bug)

11 years agoMinor white space and style changes
Sepherosa Ziehau [Wed, 30 Jul 2008 15:33:08 +0000 (15:33 +0000)]
Minor white space and style changes

11 years agoMinor white space and style changes
Sepherosa Ziehau [Wed, 30 Jul 2008 12:57:59 +0000 (12:57 +0000)]
Minor white space and style changes

11 years agoMinor white space and style changes
Sepherosa Ziehau [Wed, 30 Jul 2008 12:31:51 +0000 (12:31 +0000)]
Minor white space and style changes

11 years agoUnbreak world.
Simon Schubert [Wed, 30 Jul 2008 01:48:14 +0000 (01:48 +0000)]
Unbreak world.

11 years agoAdd a quick entry for the new 'gpt boot' directive.
Matthew Dillon [Wed, 30 Jul 2008 01:16:29 +0000 (01:16 +0000)]
Add a quick entry for the new 'gpt boot' directive.

11 years agoAdd a terrible hack to GPT which allows non-EFI BIOSes to boot from it.
Matthew Dillon [Wed, 30 Jul 2008 00:45:26 +0000 (00:45 +0000)]
Add a terrible hack to GPT which allows non-EFI BIOSes to boot from it.
With a freshly made gpt on a disk you can run 'gpt boot da0' (specifying
the correct whole-disk name) and GPT will do the following:

* It will create a 100MB partition #0 in the GPT

* It will fake up a slice 1 in the PMBR for the BIOS and the loader that
  aliases partition #0 in the GPT.

The BIOS and loader will see a bootable slice 1 while the kernel, once
booted, will see a GPT.  This can cause confusion because the kernel
will NOT see the fake slice 1 any more, and the partition number in the
GPT of the boot partition 0 (aka da0s0).

The boot partition (da0s0 from the point of view of the kernel) needs
to have a 32 bit disklabel and a UFS filesystem in da0s0a which contains
the kernel image and boot sub-directory.  In the boot sub-directory the
loader.conf file must contain a line that points to the root mount, which
say you may have created with gpt add as partition #1.

Older kernels may require the root mount to also be in a disklabel, so you
might have to put a 32 or 64 bit disklabel in partition #1 as well.
This requirement will be removed soon relative to this commit (since the
idea with GPT is to not have to use disklabels).

    vfs.root.mountfrom="ufs:ad0s1a"
    vfs.root.mountfrom="ufs:ad0s1"

11 years agoPass the correct string to md_mount() when doing a diskless nfs mount.
Matthew Dillon [Tue, 29 Jul 2008 16:21:52 +0000 (16:21 +0000)]
Pass the correct string to md_mount() when doing a diskless nfs mount.

Fix a bogus call to kfree() that panics the machine when a diskless nfs
mount fails.

11 years agoUpdate for 2.0.
Sascha Wildner [Tue, 29 Jul 2008 13:10:22 +0000 (13:10 +0000)]
Update for 2.0.

Reported-by: Michael Neumann <mneumann@ntecs.de>
11 years agoUnbreak kernel building.
Sepherosa Ziehau [Tue, 29 Jul 2008 11:17:49 +0000 (11:17 +0000)]
Unbreak kernel building.

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

11 years agoAllow gdb to be cross-compiled.
Simon Schubert [Mon, 28 Jul 2008 22:33:21 +0000 (22:33 +0000)]
Allow gdb to be cross-compiled.

If you compile gdb with TARGET_ARCH set, it will yield a on the
host runnable gdb which can debug ${TARGET_ARCH}.

Pay attention not to actually install this binary, or you won't have
a host debugger anymore.  Consider this a developer-only feature for now.

Requested-by: Jordan Gordeev
11 years agoDispatch ipfw control to netisr0. To avoid possible dangling netmsg handler,
Sepherosa Ziehau [Mon, 28 Jul 2008 15:07:28 +0000 (15:07 +0000)]
Dispatch ipfw control to netisr0.  To avoid possible dangling netmsg handler,
create ip_fw2_glue.c, which will be built if inet is built.  IPFW_LOADED is
checked again after netmsg's handler is running, since ipfw unload netmsg may
be processed before this ipfw control netmsg.

11 years agoUse seperate variable to indicate whether ipfw has been loaded or not, so
Sepherosa Ziehau [Mon, 28 Jul 2008 13:45:43 +0000 (13:45 +0000)]
Use seperate variable to indicate whether ipfw has been loaded or not, so
that following way could be used to protect various ipfw function pointers:
    ip_fw_loaded = 0;
    netmsg_service_sync();
    /* clear all ipfw function pointers */

11 years ago.Pp not needed.
Sascha Wildner [Mon, 28 Jul 2008 12:38:36 +0000 (12:38 +0000)]
.Pp not needed.

11 years agoArgument not needed.
Sascha Wildner [Mon, 28 Jul 2008 12:37:58 +0000 (12:37 +0000)]
Argument not needed.

11 years ago- Dispatch ipfw loading/unloading to netisr0
Sepherosa Ziehau [Mon, 28 Jul 2008 12:35:41 +0000 (12:35 +0000)]
- Dispatch ipfw loading/unloading to netisr0
- Minor style changes

11 years ago- Staticize ip_fw_default_rule
Sepherosa Ziehau [Mon, 28 Jul 2008 12:00:32 +0000 (12:00 +0000)]
- Staticize ip_fw_default_rule
- Remove old comment about ip_fw_default_rule; it no longer apples.
  ip_fw_default_rule has only served bookkeeping purpose for a long time.

11 years agoRemove some old driver remains.
Sascha Wildner [Mon, 28 Jul 2008 01:21:39 +0000 (01:21 +0000)]
Remove some old driver remains.

11 years agoUpdate hammer.8:
Thomas Nikolajsen [Mon, 28 Jul 2008 00:08:56 +0000 (00:08 +0000)]
Update hammer.8:
 * Drop superflous 'This variable contains'
 * Drop note that dhclient is ISC
 * Break network_interfaces item into ifconfig_interface etc. parts
 * Add Xref for rtadvd.8
 * Add /etc/startif.interface to FILES section
 * Improve markup

11 years agoRemove old TINDERBOX kernel config.
Sascha Wildner [Mon, 28 Jul 2008 00:07:55 +0000 (00:07 +0000)]
Remove old TINDERBOX kernel config.

11 years agoRemove old packages.
Sascha Wildner [Sun, 27 Jul 2008 23:48:40 +0000 (23:48 +0000)]
Remove old packages.

11 years agoBefore installing kernel modules, make sure that the /modules
Michael Neumann [Sun, 27 Jul 2008 23:38:27 +0000 (23:38 +0000)]
Before installing kernel modules, make sure that the /modules
directory exists. In case it did not exist, the modules ended up
being appended to the /modules *file* (not directory).

11 years agoHAMMER - fix kmalloc exhaustion w/ 3G ram
Matthew Dillon [Sun, 27 Jul 2008 23:01:25 +0000 (23:01 +0000)]
HAMMER - fix kmalloc exhaustion w/ 3G ram

* Give the hammer_inode structure its own kmalloc pool.

11 years agovnconfig doc update:
Thomas Nikolajsen [Sun, 27 Jul 2008 22:36:01 +0000 (22:36 +0000)]
vnconfig doc update:
 * Sync usage() to vnconfig.8
 * Use 'options' instead of 'option[,option...]'
 * Use 'options' consistently, not 'flags' sometimes

11 years agoAdd Xref to committer.7.
Thomas Nikolajsen [Sun, 27 Jul 2008 22:23:42 +0000 (22:23 +0000)]
Add Xref to committer.7.

11 years agoUpdate ffs.5:
Thomas Nikolajsen [Sun, 27 Jul 2008 22:21:11 +0000 (22:21 +0000)]
Update ffs.5:
 * Add 's0' as DragonFly needs this

11 years agoUpdate mount_cd9660.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 22:17:48 +0000 (22:17 +0000)]
Update mount_cd9660.8:
 * Fix SYNOPSIS

11 years agoUpdate fdisk.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 22:15:49 +0000 (22:15 +0000)]
Update fdisk.8:
 * Add note on 2TB limitation and hint on gpt.8

11 years agoWhitespace fix (cosmetic): delete empty line and tabs at end.
Thomas Nikolajsen [Sun, 27 Jul 2008 22:12:10 +0000 (22:12 +0000)]
Whitespace fix (cosmetic): delete empty line and tabs at end.

11 years agoActually install packages into ${ISOROOT}.
Sascha Wildner [Sun, 27 Jul 2008 22:10:53 +0000 (22:10 +0000)]
Actually install packages into ${ISOROOT}.

Submitted-by: corecode
Reported-by: M.K. <mk@freeweb.ozi.nu>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1092>

11 years agoUpdate hammer.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 21:59:44 +0000 (21:59 +0000)]
Update hammer.8:
 * Fix spelling error (dispaly)
 * Change Xref from hammer.5 to HAMMER.5
 * s/filesystem/file system/ (in text not commands) for consistent spelling
 * Improve markup

11 years agoImplement mounting of a Hammer filesystem as a root filesystem.
Michael Neumann [Sun, 27 Jul 2008 21:34:04 +0000 (21:34 +0000)]
Implement mounting of a Hammer filesystem as a root filesystem.

To mount a Hammer filesystem as root filesystem (e.g. /dev/ad0s1d),
you have to specify the following in /boot/loader.conf:

    vfs.root.mountfrom="hammer:ad0s1d"

11 years agoUpdate fstab.5:
Thomas Nikolajsen [Sun, 27 Jul 2008 21:16:00 +0000 (21:16 +0000)]
Update fstab.5:
 * Add HAMMER to list of common file systems
 * Remove note that block special files has to be used
 * Xref HAMMER.5 and ffs.5
 * Add a bit of markup
 * s/filesystem/file system/ to get consistent spelling

11 years agoFix comments.
Sascha Wildner [Sun, 27 Jul 2008 21:07:47 +0000 (21:07 +0000)]
Fix comments.

11 years agoUpdate gpt.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 21:05:10 +0000 (21:05 +0000)]
Update gpt.8:
 * Add note that GPT partitions are accessed as DragonFly disk slices
 * Describe that add command will print disk slice.
 * Correct default partition type: it is dfly, not UFS
 * Mention that dfly partition type is for disklabel64.5
 * Add FILES section
 * Add EXAMPLES section
 * Add some Xrefs
 * Mention that migrate command isn'r for DragonFly
 * Add note that booting from GPT isn't supported

11 years agoFix small mdoc issue.
Sascha Wildner [Sun, 27 Jul 2008 21:00:09 +0000 (21:00 +0000)]
Fix small mdoc issue.

11 years agoFix two small mdoc issues.
Sascha Wildner [Sun, 27 Jul 2008 20:58:33 +0000 (20:58 +0000)]
Fix two small mdoc issues.

11 years agoUpdate disklabel64.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 20:54:52 +0000 (20:54 +0000)]
Update disklabel64.8:
 * Update one line description to include '64 bit'
 * Update description of DragonFly disk slice numbering to include GPT
 * Remove specifications without relevance, left over from disklabel.8
 * Add Xrefs to uuid.3 and gpt.8
 * Add note that booting isn't supported
 * Enhance markup a bit

11 years agoUpdate disklabel.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 20:48:36 +0000 (20:48 +0000)]
Update disklabel.8:
 * Update description of DragonFly disk slice numbering to include GPT
 * Add note on 2TB limitation and hint on disklabel64
 * Enhance markup a bit

11 years agoRemove one .El too much.
Sascha Wildner [Sun, 27 Jul 2008 19:38:58 +0000 (19:38 +0000)]
Remove one .El too much.

11 years agoAdd stg(4) and digi(4)/dgb(4).
Sascha Wildner [Sun, 27 Jul 2008 19:26:24 +0000 (19:26 +0000)]
Add stg(4) and digi(4)/dgb(4).

11 years agoAdd ncv.4, nsp.4 and stg.4 manual pages.
Thomas Nikolajsen [Sun, 27 Jul 2008 18:42:15 +0000 (18:42 +0000)]
Add ncv.4, nsp.4 and stg.4 manual pages.

These drivers are already present in DragonFly,
they were present at initial import from FreeBSD,
but manual pages were added to FreeBSD after that time.

Obtained-from: FreeBSD

11 years agodigi/dgb update:
Thomas Nikolajsen [Sun, 27 Jul 2008 18:37:30 +0000 (18:37 +0000)]
digi/dgb update:
 * Add digi.4 manual page.
 * digi.4 is a copy of dgb.4 with minimal brush up.
 * Set dgb driver to deprecated status.
The digi driver was imported from FreeBSD 3+ years ago.

11 years agoAdd uuids.5 to build.
Thomas Nikolajsen [Sun, 27 Jul 2008 18:25:38 +0000 (18:25 +0000)]
Add uuids.5 to build.

11 years agoAdd uuids.5 manual page.
Thomas Nikolajsen [Sun, 27 Jul 2008 18:10:23 +0000 (18:10 +0000)]
Add uuids.5 manual page.

11 years agoFix tcsh crash when autologout is set.
Nuno Antunes [Sun, 27 Jul 2008 17:52:07 +0000 (17:52 +0000)]
Fix tcsh crash when autologout is set.

Note that even with this fix, inserting the correct password after the
autologout timer expires will only unlock the session for the root
user (i don't know why). Any other user will not get its password
accepted as correct, but at least it won't crash.

Obtained from: FreeBSD (PR bin/124191)
Discussed with: matthias

11 years agoAdjust the desiredvnodes (kern.maxvnodes) calculation for machines
Matthew Dillon [Sun, 27 Jul 2008 17:37:52 +0000 (17:37 +0000)]
Adjust the desiredvnodes (kern.maxvnodes) calculation for machines
with 3G+ of ram to prevent it from blowing out KVM.

Reported-by: Michael Neumann <mneumann@ntecs.de>
11 years agoUpdate mount_hammer.8
Thomas Nikolajsen [Sun, 27 Jul 2008 17:12:13 +0000 (17:12 +0000)]
Update mount_hammer.8
 * Update SYNOPSIS to reflect that ':' can be used as separator for specials
 * Rename `mount-options' to `options' to follow mount.8 and
save some space in SYNOPSIS
 * Add Xrefs for HAMMER.5 and gpt.8
 * Use consistent spelling for 'file system'
 * Add fstab(5) part to existing example
 * Add markup

11 years agoAdd description of how to specify sizes.
Thomas Nikolajsen [Sun, 27 Jul 2008 16:47:19 +0000 (16:47 +0000)]
Add description of how to specify sizes.

11 years agoUpdate newfs_hammer.8:
Thomas Nikolajsen [Sun, 27 Jul 2008 16:15:33 +0000 (16:15 +0000)]
Update newfs_hammer.8:
 * Add Xrefs for HAMMER.5 and gpt.8
 * Change Xrefs from disklabel[64].8 to .5
 * Add some markup

11 years agoAdd ifmedia(4) reference.
Sascha Wildner [Sun, 27 Jul 2008 12:46:14 +0000 (12:46 +0000)]
Add ifmedia(4) reference.

11 years agoAdd jme(4).
Sascha Wildner [Sun, 27 Jul 2008 12:02:51 +0000 (12:02 +0000)]
Add jme(4).

11 years agoAdd serializer assertion in all NIC driver interfaces
Sepherosa Ziehau [Sun, 27 Jul 2008 11:26:59 +0000 (11:26 +0000)]
Add serializer assertion in all NIC driver interfaces

11 years agoSwitch to ETHER_INPUT2 on ethernet input path by default:
Sepherosa Ziehau [Sun, 27 Jul 2008 10:06:57 +0000 (10:06 +0000)]
Switch to ETHER_INPUT2 on ethernet input path by default:
- Nuke old ether_input_chain and ether_demux_chain
- Nuke old vlan_input
- Nuke ETHER_INPUT2 kernel option
- Adjust comment about functions on old ether input path
- Adjust NIC drivers which aware ETHER_INPUT2

vlan(4):
Clearing of ifnet.if_vlantrunks is now protected in the following way
    trunks = ifp->if_vlantrunks;
    ifp->if_vlantrunks = NULL;
    netmsg_service_sync();
    kfree(trunks);
Users of ifnet.if_vlantrunks have already been adjusted to aware of this.

bridge(4):
Clearing of ifnet.if_bridge is now protected in the following way
    ifp->if_bridge = NULL;
    netmsg_service_sync();
Users of ifnet.if_bridge have already been adjusted to aware of this.

carp(4):
Remove the LK_NOWAIT lockmgr lock flags; using LK_NOWAIT was actually a
workaround for that lockmgr lock was used in NIC's interrupt routine
(i.e. old ether_input)
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue957>

ipflow:
- Now per-cpu ipflow hash table installs its own ipflow entry instead of
  having ipflow entry duplicated onto each cpu
- Remove the serializer parameter to ipflow_fastforward()
- Comment out ipflow_fastforward() in ef(4) and ppp(4), they need to be
  changed to fit the current ipflow cpu localization model

11 years agoStaticize ether_input
Sepherosa Ziehau [Sun, 27 Jul 2008 03:49:30 +0000 (03:49 +0000)]
Staticize ether_input

11 years agoBorrow comment from ether_input and ether_demux
Sepherosa Ziehau [Sun, 27 Jul 2008 02:52:36 +0000 (02:52 +0000)]
Borrow comment from ether_input and ether_demux