Stathis Kamperis [Wed, 7 Oct 2009 19:41:37 +0000 (19:41 +0000)]
mqueues: kdump: Ad-hoc translation for mq_open().
Stathis Kamperis [Wed, 7 Oct 2009 19:40:42 +0000 (19:40 +0000)]
mqueues: Add librt (realtime library).
Stathis Kamperis [Wed, 7 Oct 2009 19:42:08 +0000 (19:42 +0000)]
mqueues: kern_descrip.c: Make badfo*() functions non-static.
Stathis Kamperis [Wed, 7 Oct 2009 19:33:36 +0000 (19:33 +0000)]
mqueues: vfs_subr: Add vaccess() method consumed by POSIX mqueues.
There is already vop_access_helper() but operates on vnodes.
We may eventually move vaccess() to vfs_helper.c.
Stathis Kamperis [Wed, 7 Oct 2009 19:37:36 +0000 (19:37 +0000)]
mqueues: Add system calls.
Stathis Kamperis [Wed, 7 Oct 2009 20:03:34 +0000 (20:03 +0000)]
mqueues: Port POSIX message queues from NetBSD.
Peter Avalos [Sun, 11 Oct 2009 00:21:35 +0000 (00:21 +0000)]
Fix paren usage in <sys/mutex.h>.
Matthew Dillon [Sat, 10 Oct 2009 19:16:35 +0000 (12:16 -0700)]
kernel - Improve code documentation for vnode->v_token
Matthew Dillon [Sat, 10 Oct 2009 00:56:34 +0000 (17:56 -0700)]
NFS - Fix numerous issues with NFS root mounts, primarily for vkernels
vkernels do not inherit BOOTP data from PXE and because of this a number
of code paths are run which are not run in non-vkernel NFS mounts.
* Fix a kernel memory check that was failing for vkernels and causing a
panic.
* Change the default BOOTP socket type from UDP to TCP.
* Adjust the default vfs.nfs.maxasyncbio value based on available mbuf
clusters. The value will be adjusted down for systems with small
memory footprints.
Otherwise NFS can trivially run the system out of mbufs.
* Fix bugs in the NFS BIO queueing code related to values of
vfs.nfs.maxasyncbio lower then the maximum.
* Remove the BOOTP_NFSV3 option when probing for the type of NFS mount
(V2 or V3). The BOOTP_NFSV3 kernel option is no longer required for
root mounts to default to NFSv3.
This also works around a bug related to large write()s with NFSv2 which
has not yet been found.
Reported-by: Rumko <rumcic@gmail.com>
Matthew Dillon [Sat, 10 Oct 2009 00:54:06 +0000 (17:54 -0700)]
NFS - Change NFS root mount default from udp to tcp
We previously changed the default NFS mount type to tcp. Adjust
the default NFS root mount type to tcp as well. UDP mounts just
do not perform well when large numbers of RPCs are allowed to run
in parallel.
Sascha Wildner [Fri, 9 Oct 2009 19:09:01 +0000 (21:09 +0200)]
Add a watchdog(4) manual page (from OpenBSD).
Sascha Wildner [Fri, 9 Oct 2009 18:55:05 +0000 (20:55 +0200)]
rogue(6): Fix broken aliasing for -O2 or higher.
Fix taken from OpenBSD.
Submitted-by: Ulrich Spoerlein <uqs@spoerlein.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1551>
YONETANI Tomokazu [Fri, 9 Oct 2009 15:51:12 +0000 (00:51 +0900)]
Unbreak building vkernel by not linking against -lthread_xu.
Alex Hornung [Fri, 9 Oct 2009 15:53:15 +0000 (16:53 +0100)]
scsi_sg - cmd is now ap->a_cmd
* the cmd parameter for an ioctl routine is in the ap ioctl_args
structure since some time ago, so don't use the inexistant cmd
variable for the debug kprintf.
* This solves a compilation issue when building with scsi debug.
Reported-By: Jan Lentfer
Matthew Dillon [Thu, 8 Oct 2009 22:30:02 +0000 (15:30 -0700)]
kernel - Fix TCP MSS calculation
* When the default MSS was returned to 512 in commit bf18b4 it revealed
a bug in the tcp_mss() function which caused DragonFly senders to
always use a mss of 500 when sending data to non-local targets.
Fix the negotiation to use the offered MSS for non-local targets.
Matthew Dillon [Thu, 8 Oct 2009 21:20:13 +0000 (14:20 -0700)]
kernel - Major performance changes to VM page management.
This commit significantly changes the way the kernel caches VM pages.
Essentially what happens now is that vnodes and VM pages which are
accessed often wind up in the VM active queue and last on the list
for recyclement while vnodes and VM pages which are only accessed once
or twice wind up on the VM inactive queue and are inserted in the middle
of the list for recyclement.
Previously vnodes were essentially recycled in a LRU fashion and due
to algorithmic design issues VM pages associated with files scanned
via open()/read() were also winding up getting recycled in a LRU
fashion. This caused relatively often-used data to get recycled way
too early in the face of large filesystem scans (tar, rdist, cvs, etc).
In the new scheme vnodes and VM pages are essentially split into two
camps: Those which are used often and those which are only used once
or twice. The ones used often wind up in the VM active queue (and
their vnodes are last on the list of vnodes which can be recycled),
and the ones used only once or twice wind up in the VM inactive queue.
The cycling of a large number of files from single-use scans (tar, rdist,
cvs, etc on large data sets) now only recycles within the inactive set
and does not touch the active set AT ALL. So, for example, files
often-accessed by a shell or other programs tend to remain cached
permanently.
Permanance here is a relative term. Given enough memory pressure
such files WILL be recycled. But single-use scans even of huge
data sets will not create this sort of memory pressure. Examples
of how active VM pages and vnodes will get recycled include:
(1) Too many pages or vnodes wind up being marked as active.
(2) Memory pressure created by anonymous memory from running processes.
Technical Description of changes:
* The buffer cache is limited. For example, on a 3G system the buffer
cache only manages around 200MB. The VM page cache, on the otherhand
can cover all available memory.
This means that data can cycle in and out of buffer cache at a much
higher rate then it would from the VM page cache.
* VM pages were losing their activity history (m->act_count) when
wired to back buffer cache pages. Because the buffer cache only
manages around 200MB the VM pages were being cycled in and out
of the buffer cache on a shorter time period verses how long they
would be able to survive in the VM page queues.
This caused VM pages to get recycled in more of a LRU fashion instead
of based on usage, particularly the VM pages for files accessed with
open()/read().
VM pages now retain their activity history and it also gets updated
even while the VM pages are owned by the buffer cache.
* Files accessed just once, for example in a large 'tar', 'find', or 'ls',
could cause vnodes for files accessed numerous times to get kicked out
of the vnode free list. This could occur due to an edge case when
many tiny files are iterated (such as in a cvs update), on machines
with 2G or more of memory. In these cases the vnode cache would reach
its maximum number of vnodes without the VM page cache ever coming
under pressure, forcing the VM system to throw away vnodes. The VM
system invariably chose vnodes with small numbers of cached VM pages
(which is what we desire), but wound up chosing them in strict LRU
order regardless of whether the vnode was for a file accessed just
once or for a file accessed many times.
More technical Description of changes:
* The buffer cache now inherits the highest m->act_count from the VM
pages backing it, and updates its tracking b_act_count whenever the
buffer is getblk()'d (and HAMMER does it manually for buffers
it attaches to internal structures).
* VAGE in the vnode->v_flag field has been changed to VAGE0 and
VAGE1 (a 2 bit counter). Vnodes start out marked as being fully
aged (count of 3) and the count is decremented every time the
vnode is opened.
* When a vnode is placed in the vnode free list aged vnodes are
now inserted into the middle of the list while non-aged vnodes
are inserted at the end. So aged vnodes get recycled first.
* VM pages returned from the buffer cache are now placed in the
inactive queue or the active queue based on m->act_count. This
works properly now that we do not lose the activity state when
wiring and unwiring the VM page for buffer cache backings.
* The VM system now sets a much larger inactive page target, 1/4
of available memory. This combined with the vnode reclamation
algorithm which reclaims 1/10 of the active vnodes in the system
is now responsible for regulating the distribution of 'active'
pages verses 'inactive' pages.
It is important to note that the inactive page target and the
vnode reclamation algorithm sets a minimum size for pages and
vnodes intended to be on the inactive side of the ledger. Memory
pressure from having too many active pages or vnodes will cause
VM pages to move to the inactive side. But, as already mentioned,
the simple one-time cycling of files such as in a tar, rdist, or
other file scan will NOT cause this sort of memory pressure.
Negative aspects of the patch.
* Very large data sets which might have previously fit in memory
but do not fit in e.g. 1/2 of available memory will no longer
be fully cached.
This is an either-or type of deal. We can't prevent active pages
from getting recycled unless we reduce the amount of data we allow
to get cached from 'one time' uses before starting to recycle that
data.
-Matt
Simon Schubert [Wed, 7 Oct 2009 18:37:07 +0000 (20:37 +0200)]
thread libs: also remove the static libraries from /usr/lib
This is necessary, otherwise some software might want to link to the
static libc_r.a instead of leaving it alone alltogether.
Simon Schubert [Wed, 7 Oct 2009 18:26:05 +0000 (20:26 +0200)]
thread libs: migrate the libpthread.* symlinks on upgrade
Simon Schubert [Wed, 7 Oct 2009 12:15:15 +0000 (14:15 +0200)]
getopt.1: getopt is deprecated, add a reference to getopts
Simon Schubert [Wed, 7 Oct 2009 00:27:42 +0000 (02:27 +0200)]
thread libs: move libc_r and libthread_xu to /usr/lib/thread
This is so that badly written programs don't mistakenly pick up either
libc_r or libthread_xu. The only correct way to get threading support
is to link to libpthread.
By moving the underlaying thread libs to a directory that is not
searched by the linker, we can enforce this policy.
Requested-by: hasso@
Simon Schubert [Wed, 7 Oct 2009 00:26:12 +0000 (02:26 +0200)]
Makefile.inc1: make sure that mtree is run for quickworld
We need to run mtree in case new directories are added to the hierarchy
in case these directories are also used during the build.
Sascha Wildner [Wed, 7 Oct 2009 12:55:54 +0000 (14:55 +0200)]
watchdogd.8: Minor cleanup.
Simon Schubert [Tue, 6 Oct 2009 23:05:56 +0000 (01:05 +0200)]
move struct timespec into its own header
sys/stat.h needs to define struct timespec without polluting the
namespace with all <time.h> content, so factor out struct timespec into
its own header and use it at the appropriate places.
Thomas Nikolajsen [Sat, 18 Jul 2009 14:25:31 +0000 (16:25 +0200)]
rc.d/{initrandom,random}: Remove unneeded output
Sascha Wildner [Tue, 6 Oct 2009 20:38:40 +0000 (22:38 +0200)]
libexec/customcc: Set up the include paths a bit better.
Only use /usr/include and /usr/libdata/gcc41 prefixed by
${USRDATA_PREFIX}. This requires r83302 of LLVM/clang or
higher for the -nostdclanginc option.
While here, remove an 'else' I put in for debugging purposes
which is now useless.
Sascha Wildner [Tue, 6 Oct 2009 09:28:39 +0000 (11:28 +0200)]
Make padlock(4) compileable into the kernel and add it to LINT.
Sascha Wildner [Tue, 6 Oct 2009 06:58:49 +0000 (08:58 +0200)]
Add a glxsb(4) manual page.
Taken-from: FreeBSD
Sascha Wildner [Mon, 5 Oct 2009 08:45:34 +0000 (10:45 +0200)]
Add final newline.
YONETANI Tomokazu [Mon, 5 Oct 2009 01:04:20 +0000 (10:04 +0900)]
amd64 - mpt(4) should use {,u}int32_t for S32/U32
or else it uses {,un}signed long type which is of 64bits on 64-bit platforms.
Sascha Wildner [Sun, 4 Oct 2009 19:44:27 +0000 (21:44 +0200)]
md.4: Remove an unnecessary .Pp
Stathis Kamperis [Sun, 4 Oct 2009 19:27:56 +0000 (19:27 +0000)]
syscalls.master: Fix typo in comment.
Sascha Wildner [Sun, 4 Oct 2009 15:07:53 +0000 (17:07 +0200)]
bsd-family-tree: Update for DragonFly 2.4.
Taken-from: FreeBSD
Sascha Wildner [Sun, 4 Oct 2009 14:07:43 +0000 (16:07 +0200)]
include/Makefile: Revert part of the previous commit. This doesn't work.
Simon Schubert [Sun, 4 Oct 2009 13:36:23 +0000 (15:36 +0200)]
etc: no need to upgrade dma configs
Sascha Wildner [Sun, 4 Oct 2009 11:34:30 +0000 (13:34 +0200)]
<crypto/rijndael.h> is now taken from sys/crypto/rijndael/.
Sascha Wildner [Sun, 4 Oct 2009 10:57:33 +0000 (12:57 +0200)]
ipsec/esp: Move #include to silence 2 warnings.
Sascha Wildner [Sun, 4 Oct 2009 10:19:55 +0000 (12:19 +0200)]
ubsec(4): Silence some 'unused variable' warnings.
Alex Hornung [Fri, 2 Oct 2009 21:12:57 +0000 (22:12 +0100)]
config - Add new SOEKRIS config, add options to LINT
* Add a new SOEKRIS config, mostly specific to soekris net5501 but good
as an example for an embedded system.
* Also add all the new options to LINT config
Alex Hornung [Sun, 4 Oct 2009 10:53:15 +0000 (11:53 +0100)]
watchdogd - Adapt to our needs
Alex Hornung [Sun, 4 Oct 2009 10:27:36 +0000 (11:27 +0100)]
watchdogd - Import from OpenBSD
* Because the wdog kernel part was designed to be mostly compatible with
OpenBSD's API, we can import watchdogd from OpenBSD and just change a
bunch of things.
Obtained-from: OpenBSD
Alex Hornung [Fri, 2 Oct 2009 21:09:10 +0000 (22:09 +0100)]
pc32 files/options - Update glxsb, geode
* Add glxsb and cpu_geode options support.
Alex Hornung [Sat, 3 Oct 2009 15:35:00 +0000 (16:35 +0100)]
glxsb/nsclpcsio - cleanup
* Cleanup unused variables and incorrect includes.
* Add glxsb to sys/dev/crypto/Makefile.
Alex Hornung [Fri, 2 Oct 2009 21:12:30 +0000 (22:12 +0100)]
glxsb - Make it work for us
Alex Hornung [Sat, 26 Sep 2009 19:48:20 +0000 (20:48 +0100)]
glxsb - Initial import from FreeBSD
Obtained-from: FreeBSD
Alex Hornung [Fri, 2 Oct 2009 21:14:01 +0000 (22:14 +0100)]
kern_shutdown - Add led and wdog magic
* If the relevant options are set, try to enable the 'error' led and
disable the watchdog(s).
Alex Hornung [Sun, 4 Oct 2009 12:09:57 +0000 (13:09 +0100)]
geode/cs5536 - Add support for wdog/gpio/timers/identfication
* Add drivers for geode lx and cs5536 chips to register watchdogs,
timers and gpio these chips have.
* Add missing defines for the geode and cs5536 timers and pci device
ids.
Partially-Obtained-from: OpenBSD
Partially-Obtained-from: FreeBSD
Alex Hornung [Fri, 2 Oct 2009 21:03:28 +0000 (22:03 +0100)]
pc32 identcpu - Detect Geode LX
* Add identification of Geode LX CPUs.
Obtained-from: FreeBSD
Alex Hornung [Fri, 2 Oct 2009 21:02:19 +0000 (22:02 +0100)]
pc32 bios - Add bios_oem_strings from FreeBSD
* Import bios_oem_strings to search for specific strings in the BIOS to
identify vendors.
Obtained-from: FreeBSD
Alex Hornung [Fri, 2 Oct 2009 21:10:14 +0000 (22:10 +0100)]
options/files - Add support for wdog, gpio, nsclpcsio
* Add options and files support for wdog, gpio and nsclpcsio
Alex Hornung [Fri, 2 Oct 2009 21:11:08 +0000 (22:11 +0100)]
nsclpcsio - make it work for us
Alex Hornung [Sat, 26 Sep 2009 16:21:23 +0000 (17:21 +0100)]
nsclpcsio - Initial import from OpenBSD
Obtained-from: OpenBSD
Alex Hornung [Sun, 4 Oct 2009 12:09:33 +0000 (13:09 +0100)]
gpio - gpio framework, initial commit
* Initial commit of the new gpio framework,including a sample gpio
consumer driver, gpio_led.
While the framework is not directly based on OpenBSD's, some
structures and other similarities have been taken over to ease porting
of gpio drivers from OpenBSD.
Partially-Obtained-from: OpenBSD
Alex Hornung [Fri, 2 Oct 2009 20:59:22 +0000 (21:59 +0100)]
wdog - Watchdog framework, initial commit
* Initial commit of the new watchdog (wdog) framework.
Simon Schubert [Sun, 4 Oct 2009 00:55:32 +0000 (02:55 +0200)]
dma: move config files to source directory
Simon Schubert [Sat, 3 Oct 2009 22:06:49 +0000 (00:06 +0200)]
release engineering: DragonFly 2.5.1
Sascha Wildner [Sat, 3 Oct 2009 21:21:28 +0000 (23:21 +0200)]
larn(6): Remove some dead SYSV code.
Submitted-by: Ulrich Spoerlein <uqs@spoerlein.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1550>
Simon Schubert [Sat, 3 Oct 2009 19:38:06 +0000 (21:38 +0200)]
dma: add a plain Makefile for other systems
Submitted-by: Michel Salim <salimma@fedoraproject.org>
Simon Schubert [Sat, 3 Oct 2009 19:37:22 +0000 (21:37 +0200)]
dma: add DragonFly compat files
These are not used in DragonFly, but for compilation on other systems.
Simon Schubert [Sat, 3 Oct 2009 19:35:29 +0000 (21:35 +0200)]
dma: don't use sockaddr_storage.ss_len
sockaddr_storage.ss_len is not mandated by POSIX, so we shouldn't use
it. Instead, use addrinfo.ai_addrlen.
Simon Schubert [Sat, 3 Oct 2009 19:32:07 +0000 (21:32 +0200)]
dma: don't use __unused
__unused avoids a gcc warning that the parameter is not being used, but
this does not exist in other systems or is overloaded with a different
meaning.
Instead simply use a cast to (void) to silence gcc.
Simon Schubert [Sat, 3 Oct 2009 19:31:26 +0000 (21:31 +0200)]
dma: sort includes
Simon Schubert [Sat, 3 Oct 2009 19:18:45 +0000 (21:18 +0200)]
dma: use st_mtim to make source more POSIXy
Simon Schubert [Sat, 3 Oct 2009 19:41:51 +0000 (21:41 +0200)]
sys/stat.h: implement st_atim et al
SUS Issue 7 requires st_atim and friends, which were called st_atimespec
in BSD. Rename the fields to match SUS and provide compat defines for
both st_atimespec etc (for BSD) and st_atime (for old SUS/POSIX).
Discussed-with: beket@
Sascha Wildner [Sat, 3 Oct 2009 20:22:30 +0000 (22:22 +0200)]
Bring in a padlock(4) manual page and also sync crypto.4.
Taken-from: FreeBSD
Sascha Wildner [Sat, 3 Oct 2009 18:53:32 +0000 (20:53 +0200)]
gcc44 warnings: Shift in order to fit in 8 bits.
Alex Hornung [Sat, 3 Oct 2009 18:42:02 +0000 (19:42 +0100)]
amd64 - Add missing AMD64_CPU_FAMILY/MODEL
* Add missing AMD64_CPU_FAMILY and AMD64_CPU_MODEL and related stuff,
requred by the recent identcpu magic for VIA processors.
Reported-by: YONETANI Tomokazu
Obtained-from: FreeBSD
Alex Hornung [Sat, 3 Oct 2009 15:56:41 +0000 (16:56 +0100)]
tools/tools/crypto - Update from FreeBSD
Obtained-from: FreeBSD
YONETANI Tomokazu [Sat, 3 Oct 2009 10:19:08 +0000 (19:19 +0900)]
amd64 - add kvtop and add back ed(4) to AMD64_GENERIC
Alex Hornung [Sat, 3 Oct 2009 15:12:58 +0000 (16:12 +0100)]
amd64 - Add via variable decls to md_var.h
* Add extern decls of via_feature_rng and via_feature_xcrypt to pc64
md_var.h.
This should solve an issue when building crypto/via/padlock on amd64.
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1553
Reported-By: Simon "corecode" Schubert
Matthew Dillon [Sat, 3 Oct 2009 00:16:52 +0000 (17:16 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 3 Oct 2009 00:09:13 +0000 (17:09 -0700)]
NFS - Fix BIO size panics
* NFS calculates the BIO block size and stores it in mnt_stat.f_iosize.
This field was getting overwritten with default values by STATFS
being passing &mp->mnt_stat from the kernel.
Conditionalize the field so it no longer gets overwritten, and also
correct nm_rsize/nm_wsize tests to use the smaller of the two
specifications for the BIO block size.
* Fixes diskless NFS root mounts, and NFS mounts which use smaller
blocksizes.
Reported-by: Rumko <rumcic@gmail.com>, and others
Sascha Wildner [Fri, 2 Oct 2009 23:23:12 +0000 (01:23 +0200)]
hammer.sh: Adjust for devfs.
Matthew Dillon [Fri, 2 Oct 2009 22:59:51 +0000 (15:59 -0700)]
vkernel - Fix build after recent crypto import when IPSEC is defined.
Matthew Dillon [Fri, 2 Oct 2009 22:58:47 +0000 (15:58 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Fri, 2 Oct 2009 22:53:17 +0000 (15:53 -0700)]
vkernel - Fix FP corruption from preemptive thread switch
* Recent work on the vkernel enabled preemptive interrupt thread switching.
This introduced a race where the floating point state could change
out from under the vkernel's go_user() function, causing the FP state
in the virtual user process to become corrupt.
* Fixed by introducing a critical section which essentially defers any
preemptive thread switches inside go_user().
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Test-cases-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Sascha Wildner [Fri, 2 Oct 2009 22:38:29 +0000 (00:38 +0200)]
crypto.9: Sync with FreeBSD's crypto(9) manual page.
Also fix prototypes and MLINKS.
Various parts of the page are still outdated, though.
Alex Hornung [Fri, 2 Oct 2009 18:36:30 +0000 (19:36 +0100)]
taskqueue - Beautify thread names
* Beautify thread names by not printing _0 if only one thread for that
taskqueue is being started/created.
Alex Hornung [Fri, 2 Oct 2009 17:56:28 +0000 (18:56 +0100)]
taskqueue - Mark taskq threads MPSAFE again
Alex Hornung [Fri, 2 Oct 2009 17:49:50 +0000 (18:49 +0100)]
taskq - Make consumer tasks MPALMOSTSAFE
* All consumers of taskqueue_thread[cpu] have to be at least
MPALMOSTSAFE as they won't be called with the mplock held.
Matthew Dillon [Fri, 2 Oct 2009 18:16:30 +0000 (11:16 -0700)]
ktrace - Add kern.ktrace_suid, allowing suid/sgid execs to be ktraced.
* Defaults to off (secure). May be set to non-zero to allow ktraces to
ktrace through an suid/sgid exec, for debugging purposes only.
Matthew Dillon [Fri, 2 Oct 2009 18:15:46 +0000 (11:15 -0700)]
taskq - Fix SMP spinlock recursion
Matthew Dillon [Fri, 2 Oct 2009 18:05:39 +0000 (11:05 -0700)]
taskq - Fix SMP panic due to incorrect lwkt_setpri() call.
Matthew Dillon [Fri, 2 Oct 2009 18:04:46 +0000 (11:04 -0700)]
lwkt - Add lwkt_setpri_initial()
* Add a lwkt_setpri_initial() call which has no cpu restriction but which
requires the thread to not be scheduled.
Matthew Dillon [Fri, 2 Oct 2009 16:14:30 +0000 (09:14 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Fri, 2 Oct 2009 16:11:44 +0000 (09:11 -0700)]
HAMMER - Fix root inode creation for slave.
* The root inode for a PFS is only supposed to be created for PFS masters.
PFS slaves get their root inode from the mirroring operation. No longer
create the root inode for a PFS slave.
The root inode was being incorrectly created for slaves as well as
masters, causing the root inode from the mirroring operation to be
ignored.
This caused the root directory for a slave to show up as empty when
doing a mirror-copy from a HAMMER version 1 filesystem to a HAMMER
version 2 filesystem.
Reported-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
Alex Hornung [Fri, 2 Oct 2009 13:24:19 +0000 (14:24 +0100)]
opencrypto - Finish porting
* Fix all remaining porting issues from the original opencrypto WIP
commit.
* Remove clashes due to rebase.
Alex Hornung [Mon, 28 Sep 2009 09:52:32 +0000 (10:52 +0100)]
mbuf - Add m_apply and m_getptr
* Import m_apply and m_getptr from FreeBSD.
Obtained-from: FreeBSD
Sascha Wildner [Sun, 27 Sep 2009 12:49:00 +0000 (14:49 +0200)]
WIP crypto/opencrypto update
Sascha Wildner [Sat, 5 Sep 2009 06:36:27 +0000 (08:36 +0200)]
VIA CPU support: Detect and enable CPU features (RNG, ACE etc.).
Taken from: FreeBSD
Alex Hornung [Fri, 2 Oct 2009 13:55:25 +0000 (14:55 +0100)]
kern_descrip - Remove leftover debug from devfs
* Remove a leftover kprintf from the initial devfs development cycle.
Alex Hornung [Fri, 2 Oct 2009 12:48:22 +0000 (13:48 +0100)]
taskqueue.9 - Update to reflect ncpu changes
Alex Hornung [Fri, 2 Oct 2009 12:20:30 +0000 (13:20 +0100)]
taskqueue - Improve _start_threads, refactor code
* Change taskqueue_start_threads to take another argument, ncpu, which
specifies on what cpu the thread(s) should be created.
If ncpu is <= -1 and count is > 1, then each of the count threads is
allocated in a round robin fashion to each cpu.
* Switch the per-cpu taskqueues to use the new taskqueue threads API.
Discussed-with: Simon "corecode" Schubert
Peter Avalos [Thu, 1 Oct 2009 19:32:00 +0000 (19:32 +0000)]
Merge branch 'master' of /repository/git/dragonfly
Peter Avalos [Thu, 1 Oct 2009 19:20:28 +0000 (19:20 +0000)]
Update build for libarchive-2.7.1 import.
Peter Avalos [Thu, 1 Oct 2009 19:13:32 +0000 (19:13 +0000)]
Merge branch 'vendor/LIBARCHIVE'
Matthew Dillon [Thu, 1 Oct 2009 19:12:45 +0000 (12:12 -0700)]
AHCI - Minor fixes
* Fix a conditional testing for hot plug removal. This is mostly
cosmetic but prevents a bogus "Device removed" message when plugging
IN devices on ports which do not support hot-plug.
* Print the port capabilities out for each port during device probe.
This makes it easier to diagnose bug reports if people try to use
hot-plug on devices (usually old AHCI 1.0 chipsets) which do not
support hot-plug. These chipsets do not do device detection on
the port change event and also usually do not implement CLO, so
there isn't much the driver can do.
Peter Avalos [Thu, 1 Oct 2009 19:02:36 +0000 (19:02 +0000)]
Import libarchive-2.7.1.
* Suppress bogus warning about unxz
* Support lzma/xz files compressed with larger buffer sizes.
* Handle gzip files signed with OpenBSD "gzsig" program.
* Avoid false failures when reading from pipe.
Sascha Wildner [Thu, 1 Oct 2009 09:35:51 +0000 (11:35 +0200)]
Sync zoneinfo database with tzdata2009n from elsie.
asia: 8.40 -> 8.41
southamerica: 8.36 -> 8.37
* Pakistan ends DST on Oct 1, 2009
* Add some comments about Argentinian provinces oppsing 2009/10 DST.
Matthew Dillon [Wed, 30 Sep 2009 22:26:05 +0000 (15:26 -0700)]
CAM - Fix missing SIM lock in cam_periph_release()
* When releasing the last reference on a CAM peripheral which has been
marked invalid, the peripheral is then freed. Freeing the peripheral
requires the SIM lock.
Go through necessary tribulations to acquire the SIM lock. The lock order
is important (SIM lock first, XPT lock second), and the SIM lock may or
may not already be held by the thread.
* The bug could cause a crash after burning a CD as the CD becomes invalid
after the burn completes in order to reload its state.
Matthew Dillon [Wed, 30 Sep 2009 19:57:50 +0000 (12:57 -0700)]
kernel - add missing header commit to interrupt config hooks changes