dragonfly.git
14 years agoAMD64 - Enable TSC functions.
Matthew Dillon [Thu, 13 Aug 2009 16:39:53 +0000 (09:39 -0700)]
AMD64 - Enable TSC functions.

14 years agoDEVTAB - dumpon now supports devtab
Matthew Dillon [Thu, 13 Aug 2009 15:19:08 +0000 (08:19 -0700)]
DEVTAB - dumpon now supports devtab

14 years agodevtab - swapon now supports /etc/devtab
Matthew Dillon [Wed, 12 Aug 2009 23:27:45 +0000 (16:27 -0700)]
devtab - swapon now supports /etc/devtab

14 years agoFix swaponvp prototype.
Matthew Dillon [Wed, 12 Aug 2009 22:21:05 +0000 (15:21 -0700)]
Fix swaponvp prototype.

Reported-by: Rumko
14 years agoDEVFS - change leak_count from size_t to long and use the correct atomic op.
Matthew Dillon [Wed, 12 Aug 2009 21:41:13 +0000 (14:41 -0700)]
DEVFS - change leak_count from size_t to long and use the correct atomic op.

14 years agoAMD64 - Change VM_SWZONE_SIZE_MAX from 32M to 512M
Matthew Dillon [Wed, 12 Aug 2009 21:38:50 +0000 (14:38 -0700)]
AMD64 - Change VM_SWZONE_SIZE_MAX from 32M to 512M

* Increase the KVM reservation for the swap zone structure on amd64.
  Space is reserved for enough swzone structures to cover around
  512G of swap.

14 years agoAMD64 - Fix bugs in pmap_growkernel()
Matthew Dillon [Wed, 12 Aug 2009 18:02:40 +0000 (11:02 -0700)]
AMD64 - Fix bugs in pmap_growkernel()

* The iterator was not being iterated when allocating a PDPE.

* pmap_zero_page() was being called with a vm_page_t instead of a physical
  address.  (FreeBSD's version uses a vm_page_t, ours uses a physical
  address).

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 12 Aug 2009 16:57:38 +0000 (09:57 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoAMD64 - Fix bug in pmap_prefault, adjust vn kprintfs to conform to amd64.
Matthew Dillon [Wed, 12 Aug 2009 16:56:03 +0000 (09:56 -0700)]
AMD64 - Fix bug in pmap_prefault, adjust vn kprintfs to conform to amd64.

* The pde was being indirected without first checking to see if it was NULL.

* Fix kprintf()'s in the VN device to build without warning on amd64.

14 years agoswap, amd64 - increase maximum swap space to 1TB x 4
Matthew Dillon [Wed, 12 Aug 2009 16:52:29 +0000 (09:52 -0700)]
swap, amd64 - increase maximum swap space to 1TB x 4

* The radix can overflow a 32 bit integer even if swblk_t fits in 32 bits.
  Expand the radix to 64 bits and thus allow the subr_blist code to operate
  up to 2 billion blocks (8TB total).

* Shortcut the common single-swap-device case.  We do not have to scan
  the radix tree to get available space in the single-device case.

* Change maxswzone and maxbcache to longs and add TUNABLE_LONG_FETCH().

* All the TUNEABLE_*_FETCH() calls and kgetenv_*() calls for integers
  call kgetenv_quad().

  Adjust kgetenv_quad() to accept a suffix for kilobytes, megabytes,
  gigabytes, and terrabytes.

14 years agodevfsctl(8): Add a manual page.
Sascha Wildner [Wed, 12 Aug 2009 10:49:48 +0000 (12:49 +0200)]
devfsctl(8): Add a manual page.

Submitted-by: alexh
14 years agoDisable telnet autologin by default.
Hasso Tepper [Wed, 12 Aug 2009 09:45:51 +0000 (12:45 +0300)]
Disable telnet autologin by default.

I doubt that anyone really uses it nowadayas, but it confuses a lot
a vendor "C" equipment making it to complain about missing kerberos
configuration.

14 years agoRemove historic _physadr and label_t typedefs.
Hasso Tepper [Wed, 12 Aug 2009 09:30:59 +0000 (12:30 +0300)]
Remove historic _physadr and label_t typedefs.

These were never used in DragonFly and conflict with some thirdparty
software.

14 years agoNFS - Implement statvfs to take advantage of 64-bit fields
Alex Hornung [Tue, 11 Aug 2009 22:33:20 +0000 (23:33 +0100)]
NFS - Implement statvfs to take advantage of 64-bit fields

* Implement statvfs vfsop to take advantage of statvfs' 64-bit fields
  instead of statfs 32-bit fields.
  This also solves an issue which caused incorrect display of space
  for large NFS mounts.

Dragonfly-Bug: http://bugs.dragonflybsd.org/issue1401
Reported-By: Simon "corecode" Schubert
14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 12 Aug 2009 04:53:45 +0000 (21:53 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoAMD64 - Sync additional modifications to amd64 test Makefile
Matthew Dillon [Wed, 12 Aug 2009 04:52:58 +0000 (21:52 -0700)]
AMD64 - Sync additional modifications to amd64 test Makefile

* ad1 becomes ad0 in the qemu-run amd64 kernel.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Wed, 12 Aug 2009 04:48:04 +0000 (21:48 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into amd64

14 years agoAMD64 - Sync additional modifications so amd64 kernel & world builds on i386.
Matthew Dillon [Wed, 12 Aug 2009 04:45:26 +0000 (21:45 -0700)]
AMD64 - Sync additional modifications so amd64 kernel & world builds on i386.

14 years agoAMD64 - Sync machine-dependent bits from smtms.
Matthew Dillon [Wed, 12 Aug 2009 04:43:23 +0000 (21:43 -0700)]
AMD64 - Sync machine-dependent bits from smtms.

Submitted-by: Jordan Gordeev <jgordeev@dir.bg>
14 years agoAMD64 - Sync machine-independant bits from smtms.
Matthew Dillon [Wed, 12 Aug 2009 04:41:31 +0000 (21:41 -0700)]
AMD64 - Sync machine-independant bits from smtms.

Submitted-by: Jordan Gordeev <jgordeev@dir.bg>
14 years agoCISS - Fake up SYNCHRONIZE_CACHE by default.
Matthew Dillon [Wed, 12 Aug 2009 00:36:53 +0000 (17:36 -0700)]
CISS - Fake up SYNCHRONIZE_CACHE by default.

Reported-by: =?ISO-8859-1?Q?Gy=F6rgy_Vilmos?= <vilmos.gyorgy@gmail.com>
14 years agomount - Finish refactoring mount -v and MOUNTCTL_MOUNTFLAGS
Matthew Dillon [Wed, 12 Aug 2009 00:09:59 +0000 (17:09 -0700)]
mount - Finish refactoring mount -v and MOUNTCTL_MOUNTFLAGS

* mount -v now uses MOUNTCTL_MOUNTFLAGS to retrieve the mount flags

* The kernel MOUNTCTL_MOUNTFLAGS implementation now makes it easy for
  a VFS (like HAMMER) to append its own flags.

Submitted-by: Antonio Huete
14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Tue, 11 Aug 2009 17:07:49 +0000 (10:07 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agodisklabel* - Make disk and filesystem types case insensitive.
Matthew Dillon [Tue, 11 Aug 2009 17:06:01 +0000 (10:06 -0700)]
disklabel* - Make disk and filesystem types case insensitive.

* e.g. allow 'hammer' or 'HAMMER' to be specified when configuring a
  filesystem type for a partition.  When displayed the proper case will be
  used.

  This reduces confusion for people trying to partition a disk manually.

14 years agoDEVFS - fix probing of label for MBR compat slice; cleanup whitespaces
Alex Hornung [Tue, 11 Aug 2009 16:04:33 +0000 (17:04 +0100)]
DEVFS - fix probing of label for MBR compat slice; cleanup whitespaces

* Also probe for labels if no real mbr but only a compat slice was
  "found" by subr_diskmbr. This avoided probing of the compat slice
  as for example described in vkernel(7)

* Clean up whitespaces

Reported-By: YONETANI Tomokazu
14 years agodevfsctl - Completely rewrite the parser;separate rule representation
Alex Hornung [Tue, 11 Aug 2009 14:05:16 +0000 (15:05 +0100)]
devfsctl - Completely rewrite the parser;separate rule representation

* Take over Simon "corecode" Schubert's changes to separate the rule
  representation in userland from the kernel representation, adapting
  it to the new parser.

* Completely rewrite the parser to be more maintainable, support a
  clearer and better rule format and give better warnings/errors.

14 years agocompilers.conf(5): Kick gcc44 from the config, now that it's in base.
Sascha Wildner [Tue, 11 Aug 2009 14:45:35 +0000 (16:45 +0200)]
compilers.conf(5): Kick gcc44 from the config, now that it's in base.

14 years agoboot2: prevent use of DEBUG_FLAGS
Sascha Wildner [Tue, 11 Aug 2009 14:28:35 +0000 (16:28 +0200)]
boot2: prevent use of DEBUG_FLAGS

When compiling with -g, gcc44 embeds debugging data into the boot2
binary which can not be stripped by objcopy. This results in boot2
being too large to fit into the boot sector.

Generally prevent changes to the fragile boot2 build by ignoring
DEBUG_FLAGS completely.

14 years agoAdd some documentation for fdevname() and fdevname_r() (thanks, alexh).
Sascha Wildner [Tue, 11 Aug 2009 13:38:11 +0000 (15:38 +0200)]
Add some documentation for fdevname() and fdevname_r() (thanks, alexh).

14 years agostdlib.h: Adjust indentation a bit.
Sascha Wildner [Tue, 11 Aug 2009 13:37:16 +0000 (15:37 +0200)]
stdlib.h: Adjust indentation a bit.

14 years agottyname(3) - Return EBADF if the fd passed is invalid
Alex Hornung [Tue, 11 Aug 2009 11:07:16 +0000 (12:07 +0100)]
ttyname(3) - Return EBADF if the fd passed is invalid

* Return EBADF instead of ENOTTY if the passed file descriptor is not
  valid to conform with standard.

14 years agofdevname - Set errno if fdevname_r call fails; don't prepend /dev
Alex Hornung [Tue, 11 Aug 2009 09:29:45 +0000 (10:29 +0100)]
fdevname - Set errno if fdevname_r call fails; don't prepend /dev

* Return EINVAL if the fd does not belong to a character device and
  return EBADF if the fd is not valid.

* If fdevname_r returns non-null when called from fdevname, set errno
  in fdevname to whatever *_r returned.

* Don't prepend "/dev/" string to the returned buffer, just put in
  the device name itself, without absolute path.

Reported-By: Sascha Wildner
14 years agottyname(3) - Set errno if ttyname_r call fails
Alex Hornung [Tue, 11 Aug 2009 09:19:57 +0000 (10:19 +0100)]
ttyname(3) - Set errno if ttyname_r call fails

* If ttyname_r returns non-null when called from ttyname, set errno
  in ttyname to whatever *_r returned.
  This also makes our ttyname comply with the standard.

Reported-By: Sascha Wildner
14 years agoinstaller: GC some dead code.
Sascha Wildner [Tue, 11 Aug 2009 09:01:31 +0000 (11:01 +0200)]
installer: GC some dead code.

14 years agoinstaller: use cmd_name()
Sascha Wildner [Tue, 11 Aug 2009 09:00:36 +0000 (11:00 +0200)]
installer: use cmd_name()

14 years agoDEVFS - Modification of clone behaviour; general cleanup; xtime
Alex Hornung [Mon, 10 Aug 2009 19:18:03 +0000 (20:18 +0100)]
DEVFS - Modification of clone behaviour; general cleanup; xtime

* Use default_dev_ops by default for make_autoclone_dev so that opens
  and other operations on it fail when it fails as a clone handler.

* Accept NULL as argument for bimtap for make_autoclone_dev, so that
  there's no explicit need for a clone bitmap to use this function.

* Add destroy_autoclone_dev as a counterpart to make_autoclone_dev.

* Const-ify a bunch of char *

* Use kstrdup instead of kmalloc + memcpy magic at a few places where
  this makes sense.

* Rework atime/mtime/ctime as advised by Simon Schubert on IRC.

* Clean up devfs_clone by getting rid of old code and return NULL
  if cloning fails, else return the cloned device.

* Sync up all pending devfs operations just before calling into the
  clone handler, so that issues with device deletion/creation are
  dealt with appropriately.

* Change cloning in devfs_spec_open to match devfs_clone changes and
  also check the return value of devfs_create_device_node, as it can
  return NULL. If cloning fails, the cloning device will be opened,
  which will have the default_ops and hence will fail returning
  ENODEV.

* Cosmetic changes

Suggested-By: Simon "corecode" Schubert
14 years ago'options DEVFS' isn't anymore, so remove useless VKERNEL_DEVFS config.
Sascha Wildner [Tue, 11 Aug 2009 08:12:40 +0000 (10:12 +0200)]
'options DEVFS' isn't anymore, so remove useless VKERNEL_DEVFS config.

14 years agoList NO_GCC44 in make.conf and add some lines to the manpage for it.
Sascha Wildner [Tue, 11 Aug 2009 02:19:14 +0000 (04:19 +0200)]
List NO_GCC44 in make.conf and add some lines to the manpage for it.

14 years agovkd(4): Comment out an unused variable (just like the code).
Sascha Wildner [Tue, 11 Aug 2009 01:59:10 +0000 (03:59 +0200)]
vkd(4): Comment out an unused variable (just like the code).

14 years agoi4b(4): Remove a declaration which is no longer needed.
Sascha Wildner [Tue, 11 Aug 2009 01:58:20 +0000 (03:58 +0200)]
i4b(4): Remove a declaration which is no longer needed.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Tue, 11 Aug 2009 02:13:58 +0000 (19:13 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agonrelease - adjust usb disk-key image generator
Matthew Dillon [Tue, 11 Aug 2009 02:11:35 +0000 (19:11 -0700)]
nrelease - adjust usb disk-key image generator

* Add an explicit vfs.root.mountfrom line in loader.conf to point
  the boot loader at da8.

* Makefile cleanup.  Remove the one-huge-sh line and properly dismount and
  unconfigure any left over VN from previous attempts.

14 years agocrget(): use M_ZERO instead of bzero()
Nicolas Thery [Mon, 10 Aug 2009 21:29:52 +0000 (23:29 +0200)]
crget(): use M_ZERO instead of bzero()

14 years agogcc44: fix buildworld on amd64
Thomas E. Spanjaard [Mon, 10 Aug 2009 20:20:51 +0000 (20:20 +0000)]
gcc44: fix buildworld on amd64

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 10 Aug 2009 16:32:13 +0000 (09:32 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoUSB - Clean up address setting and softc allocations
Matthew Dillon [Mon, 10 Aug 2009 16:30:27 +0000 (09:30 -0700)]
USB - Clean up address setting and softc allocations

* Zero out the softc structure being allocated for ehci and ohci.

* When establishing a new connection and allocating an address for
  further communications, disconnect and reconnect the default pipe
  instead of just ripping up the underlying address.

Research-done-by: Rumko <rumcic@gmail.com>
Partially-taken-from: FreeBSD

14 years agoEHCI - Fix early probing problems.
Matthew Dillon [Mon, 10 Aug 2009 16:27:42 +0000 (09:27 -0700)]
EHCI - Fix early probing problems.

* When polling is used an actual interrupt will clear pending status to
  prevent an interrupt livelock.  However, if this occurs the polling code
  can wind up believing that no status change has occured.

  Add the cleared pending status to sc->sc_dintrs and then reincorporate
  into the status check when polling or running a normal interrupt.

* Code cleanup: NULL out some fields on termination.

14 years agoshlock(1): Remove a wrong free() of a stack variable.
Sascha Wildner [Mon, 10 Aug 2009 14:17:48 +0000 (16:17 +0200)]
shlock(1): Remove a wrong free() of a stack variable.

14 years agoahci.4: Oops forgot one .Nm
Sascha Wildner [Mon, 10 Aug 2009 14:15:02 +0000 (16:15 +0200)]
ahci.4: Oops forgot one .Nm

14 years agodevelopment.7: Improve markup a bit, bump .Dd.
Sascha Wildner [Mon, 10 Aug 2009 14:08:26 +0000 (16:08 +0200)]
development.7: Improve markup a bit, bump .Dd.

14 years agoahci.4: Improve markup, begin sentences on a new line, bump .Dd.
Sascha Wildner [Mon, 10 Aug 2009 14:07:38 +0000 (16:07 +0200)]
ahci.4: Improve markup, begin sentences on a new line, bump .Dd.

14 years agochmod.2/mountctl.2: Remove trailing whitespace.
Sascha Wildner [Mon, 10 Aug 2009 14:05:14 +0000 (16:05 +0200)]
chmod.2/mountctl.2: Remove trailing whitespace.

14 years agohexdump: always stat input when skipping
Sascha Wildner [Mon, 10 Aug 2009 08:30:20 +0000 (10:30 +0200)]
hexdump: always stat input when skipping

The previous code would not fstat(2) the input, if operating on stdin.
Still, it would use the uninitialized struct stat to decide whether to
seek in the input or not.  This could either lead to hexdump reading the
skipped input, instead of directly seeking, or, worse, trying a seek
even though this not being possible.

Fix this issue by always fstat()ing the input.

Submitted-by: corecode
14 years agoee(1): Fix some wrong usage of NULL.
Sascha Wildner [Mon, 10 Aug 2009 08:23:04 +0000 (10:23 +0200)]
ee(1): Fix some wrong usage of NULL.

14 years agoNFS - Cleanly unmount NFS on halt/shutdown/reboot
Matthew Dillon [Mon, 10 Aug 2009 06:17:32 +0000 (23:17 -0700)]
NFS - Cleanly unmount NFS on halt/shutdown/reboot

* Abort any in-transit RPCs, disallow new RPCs, and disconnect the
  socket (aka if TCP) when doing a forced NFS unmount.

  This fixes left over TCP sockets when doing a normal halt/shutdown/reboot.

* Related user processes will also unblock, but the unmount code will
  still block trying to look up the path and this commit does not quite
  solve that problem.

14 years agoDEVFS - Make synchronization prior to mountroot more robust
Matthew Dillon [Mon, 10 Aug 2009 03:25:57 +0000 (20:25 -0700)]
DEVFS - Make synchronization prior to mountroot more robust

* A single disk_config() + devfs_config() isn't enough, call them twice.
  (tested with TWA driver which seems to trigger the problem).

  Not exactly sure why one pass doesn't do the job but I think
  pending devfs commands might trigger additional disk probe
  operations.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 10 Aug 2009 00:21:18 +0000 (17:21 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoDEVTAB - Add support in umount, fsck, and hammer, and add sample /etc/devtab.
Matthew Dillon [Mon, 10 Aug 2009 00:20:34 +0000 (17:20 -0700)]
DEVTAB - Add support in umount, fsck, and hammer, and add sample /etc/devtab.

14 years agomknod(2) man: fix incorrect include
Nicolas Thery [Sun, 9 Aug 2009 21:01:42 +0000 (23:01 +0200)]
mknod(2) man: fix incorrect include

14 years agoAMD64 - Fix prototypes for atomic_cmpset_long()
Matthew Dillon [Sun, 9 Aug 2009 18:22:30 +0000 (11:22 -0700)]
AMD64 - Fix prototypes for atomic_cmpset_long()

Reported-by: smtms
14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 9 Aug 2009 18:15:35 +0000 (11:15 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoAMD64 - Fix atomic_cmpset_long()
Matthew Dillon [Sun, 9 Aug 2009 18:15:14 +0000 (11:15 -0700)]
AMD64 - Fix atomic_cmpset_long()

14 years agoAMD64 - Fix 64 bit buildworld, missing compiler options in sys/boot
Matthew Dillon [Sun, 9 Aug 2009 18:14:33 +0000 (11:14 -0700)]
AMD64 - Fix 64 bit buildworld, missing compiler options in sys/boot

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 9 Aug 2009 17:23:57 +0000 (10:23 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoimprove a bit chmod(2) man page
Nicolas Thery [Sun, 9 Aug 2009 17:30:51 +0000 (19:30 +0200)]
improve a bit chmod(2) man page

14 years agoadd fchownat(2) system call
Nicolas Thery [Sun, 9 Aug 2009 17:33:23 +0000 (19:33 +0200)]
add fchownat(2) system call

Add also libc_r wrapper and man page.

14 years agoGCC - Add NO_GCC44 feature and use it in test/amd64/Makefile
Matthew Dillon [Sun, 9 Aug 2009 17:21:22 +0000 (10:21 -0700)]
GCC - Add NO_GCC44 feature and use it in test/amd64/Makefile

* Feature added primarily so we can get amd64 buildworlds working again,
  until gcc-4.4 starts building with it.

14 years agogcc44: adjust README.DELETED
Thomas E. Spanjaard [Sun, 9 Aug 2009 11:13:48 +0000 (11:13 +0000)]
gcc44: adjust README.DELETED

14 years agogcc44/gmp: add amd64 Makefile for gmp
Thomas E. Spanjaard [Sun, 9 Aug 2009 11:09:44 +0000 (11:09 +0000)]
gcc44/gmp: add amd64 Makefile for gmp

14 years agoMerge branch 'vendor/GCC44'
Thomas E. Spanjaard [Sun, 9 Aug 2009 10:59:53 +0000 (10:59 +0000)]
Merge branch 'vendor/GCC44'

14 years agogcc44: import forgotten file
Thomas E. Spanjaard [Sun, 9 Aug 2009 10:58:57 +0000 (10:58 +0000)]
gcc44: import forgotten file

14 years agonrelease: do not mount devfs for build
Simon Schubert [Sat, 8 Aug 2009 23:30:50 +0000 (01:30 +0200)]
nrelease: do not mount devfs for build

We should not rely on devfs being present on the build host, since it
might be running an older kernel (e.g. release).  Instead of mounting
/dev into the chroot via devfs, use a null mount of the host /dev.

Suggested-by: dillon@
14 years agogcc44: adjust README.DELETED
Simon Schubert [Sat, 8 Aug 2009 22:49:20 +0000 (00:49 +0200)]
gcc44: adjust README.DELETED

14 years agoMerge branch 'vendor/GCC44'
Simon Schubert [Sun, 9 Aug 2009 08:32:29 +0000 (10:32 +0200)]
Merge branch 'vendor/GCC44'

Merge commit '94905568eb324c454ac84bbe36580efad3a0a0a7' into HEAD

14 years agohammer util: rename function to match behavior
Simon Schubert [Tue, 4 Aug 2009 14:27:00 +0000 (16:27 +0200)]
hammer util: rename function to match behavior

cleanup_snapshots actually creates a snapshot

14 years agohammer util: avoid running concurrent cleanups
Simon Schubert [Tue, 4 Aug 2009 14:23:57 +0000 (16:23 +0200)]
hammer util: avoid running concurrent cleanups

If hammer cleanup gets called more frequently than the cleanup runs
take, they build up, all trying to run in parallel.  Prevent this by
locking the config file while cleanup is running.  If cleanup finds the
config file locked for a PFS, it will skip processing.

14 years agopcm: perform stereo volume mixing for vchans
Simon Schubert [Thu, 23 Jul 2009 14:09:15 +0000 (16:09 +0200)]
pcm: perform stereo volume mixing for vchans

The vchan code before only performed an average volume mix for both
channels, thus not allowing to pan between left and right vchan channel.
Now we perform actual stereo volume mixing for left and right channel.

14 years agobioq - Add a sysctl kern.bioq_barrier to control bioqdisksort()'s sorting.
Matthew Dillon [Sun, 9 Aug 2009 02:35:19 +0000 (19:35 -0700)]
bioq - Add a sysctl kern.bioq_barrier to control bioqdisksort()'s sorting.

Control how well sorted we want bioqdisksort() to be.  The value specified
in kern.bioq_barrier is the number of bio's that will be sorted until a
barrier is inserted, starting a new set.  The default value is 16.

This allows testing filesystem throughput under varying conditions.

Suggested-by: Jeffrey Hsu <hsu@dragonflybsd.org>
14 years agotsleep - close a tsleep/wakeup race.
Matthew Dillon [Sun, 9 Aug 2009 02:34:07 +0000 (19:34 -0700)]
tsleep - close a tsleep/wakeup race.

* Interlock the tsleep prior to releasing the current thread to close a
  sleep/wakeup race.

14 years agoPIPE - Fix bugs in pipe_shutdown(), and multiple readers.
Matthew Dillon [Sun, 9 Aug 2009 02:30:39 +0000 (19:30 -0700)]
PIPE - Fix bugs in pipe_shutdown(), and multiple readers.

* Pipe_shutdown() was setting the wrong EOF bits.

* When multiple readers are present pipe_end_uio() was trying test
  whether an unsigned value was negative, resulting in an endless
  tsleep().  Make the fields in question to signed.

Reported-by: Numerous people.
14 years agogcc44: import forgotten file
Simon Schubert [Sat, 8 Aug 2009 22:47:05 +0000 (00:47 +0200)]
gcc44: import forgotten file

14 years agoDEVFS - Cleanup. Remove svn_read() / svn_write() and specvnode_fileops.
Matthew Dillon [Sat, 8 Aug 2009 22:42:16 +0000 (15:42 -0700)]
DEVFS - Cleanup.  Remove svn_read() / svn_write() and specvnode_fileops.

14 years agofifos - fix broken mkfifo style fifos.
Matthew Dillon [Sat, 8 Aug 2009 22:40:57 +0000 (15:40 -0700)]
fifos - fix broken mkfifo style fifos.

* open()s of mkfifo style fifos with O_TRUNC were being disallow.
  Allow the flag (it is harmless and does nothing).

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 8 Aug 2009 22:09:51 +0000 (15:09 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agobioqdisksort - fixes to avoid starvation
Matthew Dillon [Sat, 8 Aug 2009 22:07:40 +0000 (15:07 -0700)]
bioqdisksort - fixes to avoid starvation

Long chains of pipelined write I/O were being sorted in front of other
requests.  Due to the pipelining these other requests would wind up
getting starved virtually permanently.

Prevent starvation by forcing one out of every 16 BIOs to be ordered.

This fixes issues with HAMMER which tends to have more of an absolute
ordering of meta data verses data then UFS.

14 years agoprintenv(1): Rework how env vars are looked up.
Stathis Kamperis [Fri, 24 Jul 2009 10:13:23 +0000 (13:13 +0300)]
printenv(1): Rework how env vars are looked up.

Before:
~% env foo=bar=lala printenv foo
bar=lala
~% env foo=bar=lala printenv foo=bar
lala
~%

After:
~% env foo=bar=lala printenv foo
bar=lala
~% env foo=bar=lala printenv foo=bar
~%

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

14 years agoDEVFS - More GPT fixes. Fix serial number aliases for slice 0.
Matthew Dillon [Sat, 8 Aug 2009 17:31:18 +0000 (10:31 -0700)]
DEVFS - More GPT fixes.  Fix serial number aliases for slice 0.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 8 Aug 2009 17:10:48 +0000 (10:10 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoDEVFS - Factor out recursive code into iterate_topology
Alex Hornung [Sat, 8 Aug 2009 16:42:02 +0000 (17:42 +0100)]
DEVFS - Factor out recursive code into iterate_topology

* Factor out the recursive code which scans through all nodes in
  the topology into a function, devfs_iterate_topology, which takes
  a callback as argument, which is called for every node.

* Create new callback functions for all functions that were recursive
  before, containing the code that was executed for each node.

* Change all callers of recursive functions to call
  devfs_iterate_topology with the respective callback function
  instead of having their own recursive functions.

14 years agoDEVFS - probe for disklabels in GPT slices.
Matthew Dillon [Sat, 8 Aug 2009 17:10:34 +0000 (10:10 -0700)]
DEVFS - probe for disklabels in GPT slices.

14 years agoDEVFS - Cleanup pass.
Matthew Dillon [Sat, 8 Aug 2009 17:10:14 +0000 (10:10 -0700)]
DEVFS - Cleanup pass.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 8 Aug 2009 16:45:45 +0000 (09:45 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoDEVFS - Refactor the loop in disk_probe() to fix GPT partition #0 (s0).
Matthew Dillon [Sat, 8 Aug 2009 16:45:15 +0000 (09:45 -0700)]
DEVFS - Refactor the loop in disk_probe() to fix GPT partition #0 (s0).

14 years agoDEVFS - (temporarily) fix LINT kernel build
Alex Hornung [Sat, 8 Aug 2009 14:38:40 +0000 (15:38 +0100)]
DEVFS - (temporarily) fix LINT kernel build

Fix building LINT by removing a stray dev_ops_add in fb and
temporarily removing vinum from the build.

14 years agoACPICA-UNIX: Building fixup
Sepherosa Ziehau [Sat, 8 Aug 2009 05:22:31 +0000 (13:22 +0800)]
ACPICA-UNIX: Building fixup

Submitted-by: Alexander Polakov<polachok@gmail.com> w/ modification
14 years agoMerge branch 'vendor/ACPICA-UNIX'
Sepherosa Ziehau [Sat, 8 Aug 2009 13:13:47 +0000 (21:13 +0800)]
Merge branch 'vendor/ACPICA-UNIX'

14 years agocproj.3: Add missing man page.
Stathis Kamperis [Sat, 8 Aug 2009 05:14:52 +0000 (08:14 +0300)]
cproj.3: Add missing man page.

14 years agoImport acpica-unix-20090521 vendor/ACPICA-UNIX
Sepherosa Ziehau [Sat, 8 Aug 2009 05:00:47 +0000 (13:00 +0800)]
Import acpica-unix-20090521

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 8 Aug 2009 00:37:19 +0000 (17:37 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agoDEVFS - Add required vget when disassociating a vnode from a node.
Matthew Dillon [Sat, 8 Aug 2009 00:35:36 +0000 (17:35 -0700)]
DEVFS - Add required vget when disassociating a vnode from a node.

* We have to protect the vnode when disconnecting the rdev and
  disassociating it from the devfs_node.

* This also has the side effect of properly cycling the vnode refs
  so the namecache gets cleaned up when a node is removed.  Otherwise
  the namecache entry will be left intact, resolved to the now dead
  vnode.