dragonfly.git
6 years agobootpd/wpa_supplicant: Fix some warnings.
Sascha Wildner [Sun, 8 Apr 2018 21:03:49 +0000 (23:03 +0200)]
bootpd/wpa_supplicant: Fix some warnings.

6 years agomtree/BSD.include.dist: Sort a bit.
Sascha Wildner [Sun, 8 Apr 2018 19:38:16 +0000 (21:38 +0200)]
mtree/BSD.include.dist: Sort a bit.

6 years agoRemove libalias headers and kernel module via 'make upgrade'.
Sascha Wildner [Sun, 8 Apr 2018 18:30:02 +0000 (20:30 +0200)]
Remove libalias headers and kernel module via 'make upgrade'.

6 years agoipfw3nat: move implimentation back to *.c file
Bill Yuan [Sun, 8 Apr 2018 13:51:25 +0000 (13:51 +0000)]
ipfw3nat: move implimentation back to *.c file

6 years agoipfw3nat: cleanup for LINT64 build
Bill Yuan [Sun, 8 Apr 2018 12:12:00 +0000 (12:12 +0000)]
ipfw3nat: cleanup for LINT64 build

6 years agoipfw3nat: standardize the function names
Bill Yuan [Sun, 8 Apr 2018 10:50:58 +0000 (10:50 +0000)]
ipfw3nat: standardize the function names

prefix:
    ip_fw3_  - function in kernel space
    ipfw_    - function in userland.

6 years agoipfw3nat: remove the module dependency
Bill Yuan [Sun, 8 Apr 2018 08:18:12 +0000 (08:18 +0000)]
ipfw3nat: remove the module dependency

6 years agoipfw3nat: cleanup 3
Bill Yuan [Sun, 8 Apr 2018 07:54:02 +0000 (07:54 +0000)]
ipfw3nat: cleanup 3

6 years agoipfw3nat: RB_tree to keep the translation records
Bill Yuan [Sun, 8 Apr 2018 07:50:55 +0000 (07:50 +0000)]
ipfw3nat: RB_tree to keep the translation records

6 years agoipfw3nat: cleanup 2
Bill Yuan [Sun, 8 Apr 2018 07:37:54 +0000 (07:37 +0000)]
ipfw3nat: cleanup 2

6 years agoipfw3nat: delete the libalias 3
Bill Yuan [Sun, 8 Apr 2018 07:04:17 +0000 (07:04 +0000)]
ipfw3nat: delete the libalias 3

6 years agoipfw3nat: delete the libalias 2
Bill Yuan [Sun, 8 Apr 2018 07:00:22 +0000 (07:00 +0000)]
ipfw3nat: delete the libalias 2

6 years agoipfw3nat: delete the libalias 1
Bill Yuan [Sun, 8 Apr 2018 06:54:50 +0000 (06:54 +0000)]
ipfw3nat: delete the libalias 1

6 years agoipfw3nat: cleanup
Bill Yuan [Sun, 8 Apr 2018 06:41:43 +0000 (06:41 +0000)]
ipfw3nat: cleanup

6 years agokernel - Change AcpiOs*Lock() operation to reduce freezes
Matthew Dillon [Sun, 8 Apr 2018 01:06:08 +0000 (18:06 -0700)]
kernel - Change AcpiOs*Lock() operation to reduce freezes

* Rework the AcpiOs*Lock() functions to use a lockmgr lock + critical
  section instead of a spin lock.  There are situations where the
  ACPI contrib code is holding one of these locks and then issues
  high level calls that might block.

* When called from the idle thread, AcpiOs*Lock() uses a separate
  spin-lock as before.  The idle thread of course is not allowed to
  block (except for HLT related activities).  This lock will be
  independent of the lockmgr lock, so we are assuming that cpu->idle
  operation is independent from ACPI execution on other cpu threads.

* Fixes at least one panic, and also possibly lockups here and
  there.

6 years agokernel - Fix pageout / sbusy race
Matthew Dillon [Sun, 8 Apr 2018 01:03:23 +0000 (18:03 -0700)]
kernel - Fix pageout / sbusy race

* For now, vm_page_sbusy_try() cannot safely increment m->busy_count,
  and then decrement it if it turns out to be busy.  This interferes
  with any other thread that is holding the page hard-busy and expects
  the soft-busy mask to remain 0.

* Eventually we should be able to rework the fetchadd optimization back
  in.  Use atomic_cmpset_*() for now though.

6 years agoufs: Rename a number of UFS constants throughout the tree.
Sascha Wildner [Sat, 7 Apr 2018 22:03:47 +0000 (00:03 +0200)]
ufs: Rename a number of UFS constants throughout the tree.

ROOTINO       -> UFS_ROOTINO
WINO          -> UFS_WINO
NDADDR        -> UFS_NDADDR
NIADDR        -> UFS_NIADDR
MAXSYMLINKLEN -> UFS1_MAXSYMLINKLEN

This helps to better sepate them from identically named EXT2 constants
which I'll rename in a later commit.

It also helps with my makefs(8) port.

I went with FreeBSD's names, so it is UFS1_MAXSYMLINKLEN even though
we'll probably never have UFS2, but since they are in public headers,
some stuff in dports might benefit from it in the future.

For safety, bump <sys/param.h> too.

6 years agogetty(8): Sync with FreeBSD.
Sascha Wildner [Sat, 7 Apr 2018 19:37:05 +0000 (21:37 +0200)]
getty(8): Sync with FreeBSD.

* Change gettytab's 'he' capability to accept a POSIX extended regexp
  to mess with the system's hostname better (r313107).

* Add a new 'iM' capability to specify a program to be run that
  generates the banner message displayed before the login prompt.
  This extends the functionality of 'im'.

* Do not loop indefinitely if the device node doesn't exist (think
  USB serial adapters e.g.).

* Various bug fixes and minor issue adjustments.

6 years agoRemove usage of syslog(3)'s LOG_ODELAY because it is the default.
Sascha Wildner [Sat, 7 Apr 2018 10:48:56 +0000 (12:48 +0200)]
Remove usage of syslog(3)'s LOG_ODELAY because it is the default.

6 years agosdp.3: Adjust protos to follow the code.
Sascha Wildner [Fri, 6 Apr 2018 06:34:19 +0000 (08:34 +0200)]
sdp.3: Adjust protos to follow the code.

6 years agoypclnt.3: Adjust yp_first() and yp_next() protos to follow the code.
Sascha Wildner [Fri, 6 Apr 2018 06:25:08 +0000 (08:25 +0200)]
ypclnt.3: Adjust yp_first() and yp_next() protos to follow the code.

6 years agoioctl.9: Remove ioctl() from SYNOPSIS, it's described in ioctl.2.
Sascha Wildner [Fri, 6 Apr 2018 06:18:01 +0000 (08:18 +0200)]
ioctl.9: Remove ioctl() from SYNOPSIS, it's described in ioctl.2.

6 years agozone.9: Update a bit better.
Sascha Wildner [Fri, 6 Apr 2018 06:10:19 +0000 (08:10 +0200)]
zone.9: Update a bit better.

* zinitna() doesn't take a vm_object anymore (see e16c650d787872d60f6ca),
  so this commit reverts 35f324174f2040a627e18e8b6f008e7a37d818e9.

* Use .Fn instead of .Fa for functions.

* Remove old documentation about the zone functions not being SMP-safe.

6 years agopax(8): Remove old prototypes.
Sascha Wildner [Thu, 5 Apr 2018 17:05:45 +0000 (19:05 +0200)]
pax(8): Remove old prototypes.

6 years agozone.9: Include <vm/vm_object.h> for struct vm_object.
Sascha Wildner [Thu, 5 Apr 2018 15:47:45 +0000 (17:47 +0200)]
zone.9: Include <vm/vm_object.h> for struct vm_object.

6 years agopax(8): Switch to using libc's pwcache instead of a local implementation.
Sascha Wildner [Thu, 5 Apr 2018 07:36:00 +0000 (09:36 +0200)]
pax(8): Switch to using libc's pwcache instead of a local implementation.

Based-on: NetBSD

6 years agolibc/pwcache: Some further work on the pwcache import.
Sascha Wildner [Wed, 4 Apr 2018 19:00:50 +0000 (21:00 +0200)]
libc/pwcache: Some further work on the pwcache import.

* Add prototypes

* Adjust Symbol.map and Versions.def

* Add MLINKS

* Bump .Dd in the manual page to the date it came into our tree

6 years agoUpdate pwcache(3) support files from NetBSD
François Tigeot [Wed, 4 Apr 2018 17:37:42 +0000 (19:37 +0200)]
Update pwcache(3) support files from NetBSD

* Bringing the API up-to-date with NetBSD and FreeBSD

* This effectively adds the uid_from_user() and gid_from_group()
  functions, the reverse of user_from_uid() and groups_from_gid()

* (void) casts for discarded return values have been removed

6 years agormt(8): Remove unneeded include of <sgtty.h>.
Sascha Wildner [Wed, 4 Apr 2018 09:04:10 +0000 (11:04 +0200)]
rmt(8): Remove unneeded include of <sgtty.h>.

6 years ago<sys/ioctl_compat.h>: Add a reminder comment about IOCTLTRIM.
Sascha Wildner [Wed, 4 Apr 2018 07:54:24 +0000 (09:54 +0200)]
<sys/ioctl_compat.h>: Add a reminder comment about IOCTLTRIM.

This ioctl really doesn't belong in this header. Unfortunately, it is
used by the benchmarks/fio port, so we can't fix it right away.

6 years agoioctl.9: Document that 'C' is used by some cam(4) ioctls as well.
Sascha Wildner [Wed, 4 Apr 2018 07:45:04 +0000 (09:45 +0200)]
ioctl.9: Document that 'C' is used by some cam(4) ioctls as well.

6 years agolibcompat: Remove the old and unused insque() and remque() functions.
Sascha Wildner [Tue, 3 Apr 2018 21:50:31 +0000 (23:50 +0200)]
libcompat: Remove the old and unused insque() and remque() functions.

We have a conforming implementation of those two functions in libc, so
nothing was taking the ones from libcompat. However, libcompat's
outdated manual pages were shadowing the good ones from libc.

Reported-by: zrj
6 years agokernel/vtnet: Add opt_ifpoll.h to the Makefile.
Sascha Wildner [Sun, 1 Apr 2018 18:13:31 +0000 (20:13 +0200)]
kernel/vtnet: Add opt_ifpoll.h to the Makefile.

6 years agoSync zoneinfo database with tzdata2018d from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Sun, 1 Apr 2018 12:24:15 +0000 (14:24 +0200)]
Sync zoneinfo database with tzdata2018d from ftp://ftp.iana.org/tz/releases

* Palestine started DST a week earlier, on March 24.

* Various changes to past time stamps and zone abbreviations.

For a detailed list of changes, see share/zoneinfo/NEWS.

6 years agore_format.7: Make regex.7 an MLINK.
Sascha Wildner [Sun, 1 Apr 2018 11:22:51 +0000 (13:22 +0200)]
re_format.7: Make regex.7 an MLINK.

Suggested-by: aly
6 years agoman(1): Make -a default.
Sascha Wildner [Sun, 1 Apr 2018 10:54:05 +0000 (12:54 +0200)]
man(1): Make -a default.

6 years agoFix -Wsizeof-pointer-memaccess better.
Sascha Wildner [Fri, 23 Mar 2018 09:19:01 +0000 (10:19 +0100)]
Fix -Wsizeof-pointer-memaccess better.

My previous commits:

56267d362d5769c8df07bf26d5e322610e0d24b4
562a180a58780b719830629307e6283c30c85229

caused out of bounds write by one byte. This commit fixes the
warning and restores the code what was there before.

6 years agokernel/vkernel: Add __printflike() to two internal functions, for -Wformat.
Sascha Wildner [Fri, 30 Mar 2018 09:04:48 +0000 (11:04 +0200)]
kernel/vkernel: Add __printflike() to two internal functions, for -Wformat.

6 years agoloader/menu: Fix 'vfs.root.real_root' to be 'vfs.root.realroot'
Aaron LI [Sun, 1 Apr 2018 06:28:45 +0000 (14:28 +0800)]
loader/menu: Fix 'vfs.root.real_root' to be 'vfs.root.realroot'

This should be the same variable as used in /boot/loader.conf to specify
the real root partition.  See loader(8) and mkinitrd(8) for more info.

The intent here by unsetting it for the *rescue boot mode* is to prevent
the real root been mounted, and hence the system will stay in the md0
rescue root.

Verified-by: Matt Dillon
6 years agocpdup(1): Fix a typo in the usage
Aaron LI [Sun, 21 Jan 2018 07:16:36 +0000 (15:16 +0800)]
cpdup(1): Fix a typo in the usage

6 years agohammer2 - Increase bulkfree buffer size request and cap
Matthew Dillon [Sun, 1 Apr 2018 05:02:22 +0000 (22:02 -0700)]
hammer2 - Increase bulkfree buffer size request and cap

* Increase the kernel buffer size cap for hammer2 cleanups
  (aka bulkfree's) from 64MB to 1/16 physical memory.  Systems
  with more memory can accomodate larger in-memory bulkfree bitmap
  buffers.  Systems with less memory simply do multiple scan
  passes as per usual.

* Increase the buffer size requested by the hammer2 utility
  from 8MB to 1/16 physical memory.  The actual amount of memory
  allocated by the kernel will be 32MB per 1TB of filesystem, up to
  the cap.

* This will generally reduce the number of scans required for
  a 4TB filesystem from 16 to 1, meaning that bulkfree will take
  1/16 the time as it did before for a filesystem of that size.

  For example, a system with 128GB of ram would be able to
  request up to 8GB of buffer which can accomodate a bulkfree
  operation on a 256TB filesystem in a single pass.

6 years agomkinitrd(8): Fix a wrong variable name, and more improvements
Aaron LI [Sat, 31 Mar 2018 02:37:53 +0000 (10:37 +0800)]
mkinitrd(8): Fix a wrong variable name, and more improvements

* Fix the wrong variable name 'CONTENT_DIR' to be 'CONTENT_DIRS', which is
  used in the configuration file as well as this tool.

* Add a function check_dirs() to check the existence of directories.

* Append the PID to the temporary build directory to make it unique.

* Remove the temporary build directory after use.

* Backup the old initrd.img.gz before copy the new one over.

6 years agoif_vtnet - Add polling support.
Imre Vadász [Thu, 29 Mar 2018 21:34:20 +0000 (23:34 +0200)]
if_vtnet - Add polling support.

* We need to tear down the interrupts, to reliably stop them from firing,
  when enabling polling. So when disabling polling, we need to hope that
  we can get all interrupts set up again, as before.

* When polling, handle the rx and tx virtqueues on the same cpu.

6 years agoif_vtnet - Factor out the virtio_bind_intr() calls into a separate function.
Imre Vadász [Thu, 29 Mar 2018 19:23:10 +0000 (21:23 +0200)]
if_vtnet - Factor out the virtio_bind_intr() calls into a separate function.

* And most importantly, store the bindings in the vtnet_softc struct, so we
  can restore the interrupt <-> virtqueue bindings when disabling polling
  mode.

6 years agomkinitrd(8): improve the man page and styles
Aaron LI [Fri, 30 Mar 2018 08:30:49 +0000 (16:30 +0800)]
mkinitrd(8): improve the man page and styles

Suggested-by: swildner
6 years agomkinitrd(8): determine the initrd size from the contents size
Aaron LI [Fri, 30 Mar 2018 06:32:59 +0000 (14:32 +0800)]
mkinitrd(8): determine the initrd size from the contents size

* Calculate the contents size to determine the required initrd size.

  The used initrd size is determined from the total contents size, rounded up
  to align with 1 MiB, added additional 1 MiB.

  The calculated initrd size is 12 MiB at the moment, so we have 3 MiB
  more usable memory now (compared to the fixed 15 MiB before).

* Add options "-s" to specify the required initrd size as before.  But a check
  against the above determined required initrd size is performance to avoid the
  out-of-space error, resulting in a broken initrd image.

* Add option "-S" to constrain the allowed maximum initrd size, because a too
  big initrd image will also lead to boot failure, due to the boot loader
  limitation.

* Some minor cleanups and improvements, better error handle and messages.

* Update the mkinitrd.conf and man page accordingly.

Reviewed-by: zrj
6 years agokernel/usb4bsd: Add missing descriptions for C610/X99 controllers.
zrj [Fri, 30 Mar 2018 06:22:21 +0000 (09:22 +0300)]
kernel/usb4bsd: Add missing descriptions for C610/X99 controllers.

Codename Wellsburg.

While there, fix few typos and match entries in share/misc/pci_vendors.

6 years agokernel - Fix UFS bug on filesystem full conditions
Matthew Dillon [Fri, 30 Mar 2018 05:12:35 +0000 (22:12 -0700)]
kernel - Fix UFS bug on filesystem full conditions

* UFS was not properly translating the lbn to a block offset
  when trying to back-out an indirect block allocation during
  a write() which fails due to lack of space.

* Fixes a panic which could occur in the above situation.

Reported-by: Aaron LI
6 years agorc.d: Add ipfw3 rc script
Aaron LI [Thu, 29 Mar 2018 14:12:33 +0000 (22:12 +0800)]
rc.d: Add ipfw3 rc script

To use ipfw3, add 'ipfw3_enable=YES' to /etc/rc.conf .  By default, only
the 'ipfw3' and 'ipfw3_basic' modules will be loaded.  If you need more
ipfw3 modules, set them with 'ipfw3_modules="<modules> ..."' in
/etc/rc.conf .  See also the rc.conf(5) man page.

This ipfw3 rc script is largely based on the ipfw script.

The /etc/ipfw3.rules (a shell script) should be present to setup the
firewall rules, otherwise the default setup will block all incoming
connections, including your current connection!

NOTE:
I wrote this script for use in my VPS last year, but switched to
PF later, so more tests and improvements (e.g., flush tables on stop)
to this script are needed.

Reviewed-by: swildner
6 years agorc.subr: Add _rc_subr_loaded to avoid sourcing it again
Aaron LI [Tue, 27 Mar 2018 15:52:35 +0000 (23:52 +0800)]
rc.subr: Add _rc_subr_loaded to avoid sourcing it again

* Once /etc/rc.subr been sourced, $_rc_subr_loaded="YES", then /etc/rc.subr
  takes care of avoiding sourcing it again. (obtained from FreeBSD)

* Remove the unnecessary "$_rc_subr_loaded" prefix from several rc scripts,
  which also make the "$_rc_subr_loaded . /etc/rc.subr" command fail.

6 years agorcorder(8): Multiple cleanups
Aaron LI [Thu, 15 Mar 2018 14:30:32 +0000 (22:30 +0800)]
rcorder(8): Multiple cleanups

* Add static for rcorder.c (obtained from FreeBSD)
* Remove commented lines (commit: 70c6c3571b5250b7cabfad3d20d4f7c09a5aadaf)
* Describe function arguments in hash.c
* Fix several typos (obtained from FreeBSD)
* Break two long lines
* Clean up whitespaces

6 years agovirtio_pci - Fix vtpci_reinit MSI-X vector reinitialization.
Imre Vadász [Thu, 29 Mar 2018 20:10:07 +0000 (22:10 +0200)]
virtio_pci - Fix vtpci_reinit MSI-X vector reinitialization.

6 years agoif_vtnet - Fixup serialized assertion in vtnet_is_link_up().
Imre Vadász [Thu, 29 Mar 2018 22:33:03 +0000 (00:33 +0200)]
if_vtnet - Fixup serialized assertion in vtnet_is_link_up().

* We check vtnet_is_link_up() from the config interrupt, which runs with
  just the sc->vtnet_slz serializer.

6 years agobridge - Fix dereference race
Matthew Dillon [Wed, 28 Mar 2018 22:09:18 +0000 (15:09 -0700)]
bridge - Fix dereference race

* bri->bri_dead can be set asynchronously vs gc scans, catching a
  scan in the middle.

* Add a ref count, bri_refs, to be able to properly determine when
  we can kfree() the bri.  Before we kfree()'d it in the last chained
  netisr, but that had the above race.

6 years agobridge - Fix arp issue
Matthew Dillon [Wed, 28 Mar 2018 00:41:04 +0000 (17:41 -0700)]
bridge - Fix arp issue

* Fix an issue when an arp route is associated with a bridge.  When an
  arp request comes in on an interface that is not destined for us, do
  not reply to it if the interface belongs to the bridge the arp route
  is associated with.

  Replying to such arp requests would result in a double-reply, one from
  the bridge MAC and one from the target MAC.

* The request will be relayed over the bridge normally, as intended.

6 years agoiwm - Always clear watchdog timer, when bringing down firmware state.
Imre Vadász [Wed, 28 Mar 2018 20:46:14 +0000 (22:46 +0200)]
iwm - Always clear watchdog timer, when bringing down firmware state.

6 years agoiwm - Clear Time Event active state, when receiving End Notification.
Imre Vadász [Wed, 28 Mar 2018 20:26:18 +0000 (22:26 +0200)]
iwm - Clear Time Event active state, when receiving End Notification.

* This hopefully avoids some firmware panics, I was occasionally seeing,
  when iwm disconnects upon losing signal to an access point at some point.

* This is synchronizing the if_iwm_time_event.c file a bit more from the
  corresponding Linux iwlwifi/mvm/time-event.c.

Taken-From: Linux iwlwifi

6 years agovtnet - Split up serializers, now has separate rx and tx serializers.
Imre Vadász [Sun, 10 Sep 2017 20:27:50 +0000 (22:27 +0200)]
vtnet - Split up serializers, now has separate rx and tx serializers.

* This uses the MULTI SERIALIZERS MODE in the DragonFly net framework.

* This allows the rx and tx paths of if_vtnet to run in parallel.

6 years agosys/file.h: Expand struct file for drm/linux shim
François Tigeot [Wed, 28 Mar 2018 06:07:04 +0000 (08:07 +0200)]
sys/file.h: Expand struct file for drm/linux shim

The struct file.private_data field will be used to pass drm_file information,
removing the need for some of the existing devfs cdevpriv code.

Distinct commit suggested-by: zrj

6 years agoMakefile.usr: allow easier change of repo URL and cleanups
Aaron LI [Wed, 28 Mar 2018 04:39:01 +0000 (12:39 +0800)]
Makefile.usr: allow easier change of repo URL and cleanups

* Introduce variables GITURL_SRC and GITURL_DPORTS to replace GITHOST and
  GITHOST_DPORTS, respectively, allowing easier change the git repo URLs, e.g.,
  changing to use the HTTPs clone from GitHub.

* Introduce variable BRANCH to specify the src branch to be checked out, either
  "master" (the development branch) or "DragonFly_RELEASE_x_y" (for stable
  releases).  Also print the checkout branch in the help.

* Simplify "src-create" and "src-create-shallow" targets to a one-line git clone
  command with the --depth and --branch options.

* Target "src-create-repo" is merged into "src-create", and target
  "src-checkout" is removed as it is no longer needed.

* Protect "release-sys-extract" target with the existence check of
  src-sys.tar.bz2 .

* Other minor updates and cleanups.

6 years agoChanges for DragonFly 5.3. v5.3.0
Justin C. Sherrill [Tue, 27 Mar 2018 22:41:29 +0000 (18:41 -0400)]
Changes for DragonFly 5.3.

6 years agoif_vtnet - Cleanup ifalt_subque handling a bit.
Imre Vadász [Tue, 27 Mar 2018 18:40:14 +0000 (20:40 +0200)]
if_vtnet - Cleanup ifalt_subque handling a bit.

6 years agokernel/{ext2,u}fs: Remove unused 'in_exists' from struct indir.
Sascha Wildner [Tue, 27 Mar 2018 18:39:48 +0000 (20:39 +0200)]
kernel/{ext2,u}fs: Remove unused 'in_exists' from struct indir.

6 years agoif_vtnet - Get rid of separate vtnet_{rx,tx}_intr_task functions.
Imre Vadász [Mon, 26 Mar 2018 21:44:30 +0000 (23:44 +0200)]
if_vtnet - Get rid of separate vtnet_{rx,tx}_intr_task functions.

* Just inline them into vtnet_rx_vq_intr and vtnet_tx_vq_intr respectively.

6 years agoif_vtnet - Fixup previous commit.
Imre Vadász [Mon, 26 Mar 2018 20:56:29 +0000 (22:56 +0200)]
if_vtnet - Fixup previous commit.

6 years agoif_vtnet - Use ifsq_watchdog_* functions as the watchdog.
Imre Vadász [Sun, 25 Mar 2018 23:17:40 +0000 (01:17 +0200)]
if_vtnet - Use ifsq_watchdog_* functions as the watchdog.

* The existing watchdog code was commented out.

6 years agosys/vfs/autofs: Cleanups (sync with NetBSD and OpenBSD)
Tomohiro Kusumi [Mon, 26 Mar 2018 15:12:59 +0000 (00:12 +0900)]
sys/vfs/autofs: Cleanups (sync with NetBSD and OpenBSD)

FreeBSD has these in autofs.c, but only vfsops needs init/uninit.

6 years agolocate.updatedb(8): improve default search paths with small updates
Aaron LI [Sat, 10 Mar 2018 04:12:11 +0000 (12:12 +0800)]
locate.updatedb(8): improve default search paths with small updates

* Make locate.updatedb(8) default to search from all mount points with
  the allowed filesystem types.  Therefore, it is allowed to exclude the
  root filesystem type, while still correctly index other mounted
  filesystem with allowed types.  Otherwise, the whole filesystem is
  simply ignored if the root filesystem type is excluded.

* Although we can now ignore the root filesystem type from being indexed,
  but this is generally a configuration mistake, so we warn about this.

* Use stat(1) instead of the obscure "find -c" to help check whether the
  created database is empty.

* Print out the full find command by default (to help config/debug), also print
  a message when the database is successfully built.

* Update locate.rc accordingly.

* Explain why use cat instead of cp for the final database creation.

6 years agoif_vtnet - Don't drop vtnet_slz in some of the virtqueue_notify() calls.
Imre Vadász [Sun, 25 Mar 2018 19:59:43 +0000 (21:59 +0200)]
if_vtnet - Don't drop vtnet_slz in some of the virtqueue_notify() calls.

* There are several cases where the vtnet_slz serializer is dropped around
  virtqueue_notify() calls, with the hope that this allows other cores to
  run if_vtnet code in parallel.

* In vtnet_exec_ctrl_cmd(), it shouldn't make a significant performance
  difference, and avoids some theoretical race possibilities.

* In the vtnet_init_rx_vq initialization code, it also is irrelevant for
  performance, and only complicates things.

* In the vtnet_rxeof() and vtnet_start() cases it might actually be relevant
  for performance, so we keep those for now. When changing the driver to
  use the MULTI_SERIALIZERS MODE, the serializer dropping can also be
  removed in those two cases.

6 years agoif_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.
Imre Vadász [Sun, 25 Mar 2018 19:05:04 +0000 (21:05 +0200)]
if_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.

* Forgot to remove the softc variables in the changes
  c5f8e1538bcc13f7a39b805bcc5b774780 and 603be9646446bdb4292b6cd27544788c2c.

* Also remove a leftover taskqueue_drain() call.

6 years agoif_vtnet - Pass the vtnet serializer in ether_ifattach().
Imre Vadász [Sun, 25 Mar 2018 18:55:23 +0000 (20:55 +0200)]
if_vtnet - Pass the vtnet serializer in ether_ifattach().

* This is likely just an intermediate step, the plan is to eventually use
  the MULTI SERIALIZER MODE.

6 years agoif_vtnet - Remove unused vtnet_tick() code.
Imre Vadász [Sun, 25 Mar 2018 18:54:41 +0000 (20:54 +0200)]
if_vtnet - Remove unused vtnet_tick() code.

6 years agoif_vtnet - No need to use the taskqueue to run vtnet_update_link_status().
Imre Vadász [Sun, 25 Mar 2018 14:35:18 +0000 (16:35 +0200)]
if_vtnet - No need to use the taskqueue to run vtnet_update_link_status().

6 years ago[pci_vendors] Update pci_vendors to 2018.03.21
Eitan Adler [Sun, 25 Mar 2018 17:18:02 +0000 (17:18 +0000)]
[pci_vendors] Update pci_vendors to 2018.03.21

6 years ago[test] Hi Fred :-)
Aaron LI [Sun, 25 Mar 2018 12:27:26 +0000 (20:27 +0800)]
[test] Hi Fred :-)

6 years agodrm/linux: Add signal_pending_state
François Tigeot [Sun, 25 Mar 2018 08:34:02 +0000 (10:34 +0200)]
drm/linux: Add signal_pending_state

6 years agovirtio - Get rid of unused flags option in virtio_alloc_virtqueues().
Imre Vadász [Thu, 22 Mar 2018 23:08:43 +0000 (00:08 +0100)]
virtio - Get rid of unused flags option in virtio_alloc_virtqueues().

6 years agovirtio - Explicitly teardown interrupts in driver detach methods.
Imre Vadász [Sat, 24 Mar 2018 13:44:19 +0000 (14:44 +0100)]
virtio - Explicitly teardown interrupts in driver detach methods.

* This seems to be an easy way to avoid potential races during driver
  detachements.

6 years agovirtio - Move virtqueue_pending() checks into the child driver.
Imre Vadász [Wed, 13 Sep 2017 19:59:25 +0000 (21:59 +0200)]
virtio - Move virtqueue_pending() checks into the child driver.

* This makes it easier for now, to deal with virtqueue locking, when
  multiple virtqueues are mapped to a single interrupt vector.

6 years agovirtio - Get rid of config_change devmethod, treat like vq interrupts.
Imre Vadász [Tue, 12 Sep 2017 22:32:22 +0000 (00:32 +0200)]
virtio - Get rid of config_change devmethod, treat like vq interrupts.

6 years agovirtio - Specify handler and argument in bind_intr, instead of vq alloc.
Imre Vadász [Mon, 11 Sep 2017 20:59:58 +0000 (22:59 +0200)]
virtio - Specify handler and argument in bind_intr, instead of vq alloc.

6 years agovirtio - Refactor virtio bus API, to untangle virtuques from IRQ allocation.
Imre Vadász [Thu, 7 Sep 2017 22:22:49 +0000 (00:22 +0200)]
virtio - Refactor virtio bus API, to untangle virtuques from IRQ allocation.

* These API changes allow each virtio device driver to explicitly control
  the assignment of virtqueues to IRQ vectors.

* This allows explicitly assigning IRQ vectors to cpus. And virtio device
  drivers also get to know, on which cpu each virtqueue interrupt is
  running.

6 years agogroff/tmac: Revert doc-common back to vendor state.
Sascha Wildner [Sat, 24 Mar 2018 14:15:34 +0000 (15:15 +0100)]
groff/tmac: Revert doc-common back to vendor state.

Missing .Fx etc. versions should be added to mdoc.local instead, so
add any which were not in it yet.

While here, fix a typo from 12041c96816e1e7cccac302fd5656529fe9c9e9b
and add NetBSD 9.0 for fstyp.8.

6 years agosys/vfs/autofs: Revert 1bfb99b1b1("prevent assert on unmount")
Tomohiro Kusumi [Sat, 24 Mar 2018 09:18:00 +0000 (18:18 +0900)]
sys/vfs/autofs: Revert 1bfb99b1b1("prevent assert on unmount")

1bfb99b1b1 originally brought from NetBSD was not correct.
Autofs can't unmount when more than one level of directories
are created via indirect map.

6 years agodrm/linux: Add cmpxchg_relaxed()
François Tigeot [Sat, 24 Mar 2018 07:21:31 +0000 (08:21 +0100)]
drm/linux: Add cmpxchg_relaxed()

Obtained-from: FreeBSD

6 years agokernel - Fix namecache leak / broken hysteresis
Matthew Dillon [Fri, 23 Mar 2018 23:18:22 +0000 (16:18 -0700)]
kernel - Fix namecache leak / broken hysteresis

* We were double-using NCF_DESTROYED for both dummy ncp's for
  list iteration and to indicate a removed ncp.  This prevented
  the hysteresis code from properly cleaning up such ncp's.

  Symptoms were growing stalls every few seconds on one cpu as
  the hysteresis code would try to futiley clean up excess
  namecache entries.

* Use NCF_DUMMY instead of NCF_DESTROYED to check for dummy
  list iterators in the hysteresis code, allowing it to process
  NCF_DESTROYED ncps.

* These ncps could accumulate only in situations where the vnode
  nlinks count is greater than 1, since a file deletion when nlinks
  is 1 will delete the vnode and all related ncp's.

  When nlinks is greater than 1, a file entry deletion does not
  necessarily cause the vnode to be deleted, leaving the namecache
  records intact, but flagged NCF_DESTROYED, and prevented the
  hystersis code from operating correctly.

Reported-by: ftigeot
6 years agokernel/machdep: Remove unused and #if 0'd finishidentcpu() prototype.
Sascha Wildner [Fri, 23 Mar 2018 20:15:34 +0000 (21:15 +0100)]
kernel/machdep: Remove unused and #if 0'd finishidentcpu() prototype.

6 years agodrm/linux: Add a few functions (mostly stubs)
François Tigeot [Fri, 23 Mar 2018 14:09:48 +0000 (15:09 +0100)]
drm/linux: Add a few functions (mostly stubs)

6 years agovfs_unmountall.9: Document the new halting argument.
Sascha Wildner [Fri, 23 Mar 2018 12:47:29 +0000 (13:47 +0100)]
vfs_unmountall.9: Document the new halting argument.

6 years agokernel: Add missing atomic_fcmpset_*() variants
François Tigeot [Fri, 23 Mar 2018 09:59:33 +0000 (10:59 +0100)]
kernel: Add missing atomic_fcmpset_*() variants

They will be useful for newer drm code from Linux 4.8.

6 years agokernel/devfs: Use 1UL << ... in bitmap bit operations.
Sascha Wildner [Fri, 23 Mar 2018 09:30:18 +0000 (10:30 +0100)]
kernel/devfs: Use 1UL << ... in bitmap bit operations.

6 years agoRemove obsolete stabs.7 manual page.
Sascha Wildner [Fri, 23 Mar 2018 08:15:41 +0000 (09:15 +0100)]
Remove obsolete stabs.7 manual page.

6 years agovirtio_blk - Inline vtblk_complete into vtblk_vq_intr. Dedup sglist_reset.
Imre Vadász [Sat, 11 Mar 2017 20:13:19 +0000 (21:13 +0100)]
virtio_blk - Inline vtblk_complete into vtblk_vq_intr. Dedup sglist_reset.

6 years agovirtio_pci - Remove int return value from interrupt handler functions.
Imre Vadász [Mon, 6 Mar 2017 19:33:56 +0000 (20:33 +0100)]
virtio_pci - Remove int return value from interrupt handler functions.

6 years agokernel - devfs cleanup
Matthew Dillon [Thu, 22 Mar 2018 16:38:09 +0000 (09:38 -0700)]
kernel - devfs cleanup

* staticize two functions, remove *_fff() from manual pages (now
  static).

* Adjust documentation.

* Rename internal function from devfs_clone_bitmap_resize() to
  devfs_clone_bitmap_extend().  Document the slight weirdness in
  the extent of the passed-in 'newchunks' parameter, but do not change
  the API.

Submitted-by: Aaron LI, with added code comments by Matt
6 years agokernel - Fix tapN creation >= 32 units, fix pty issues >= 32 ptys (2)
Matthew Dillon [Thu, 22 Mar 2018 16:09:50 +0000 (09:09 -0700)]
kernel - Fix tapN creation >= 32 units, fix pty issues >= 32 ptys (2)

* Also fix incorrect shift type in devfs_clone_bitmap_set().

Submitted-by: Aaron LI
6 years agokernel - Fix tapN creation >= 32 units, fix pty issues >= 32 ptys
Matthew Dillon [Thu, 22 Mar 2018 01:11:10 +0000 (18:11 -0700)]
kernel - Fix tapN creation >= 32 units, fix pty issues >= 32 ptys

* Fix ifconfig tapN create for N >= 32.

* devfs_clone_bitmap_chk(), which only if_tap uses, was returning
  the wrong default value for unit numbers beyond the current
  dynamic size of the bitmap.

* Both devfs_clone_bitmap_chk() and devfs_clone_bitmap_put()
  were improperly using (1 << unit) instead of (1L << unit)
  when masking the 64-bit (long) bitmap elements, resulting in
  chaos for units >= 32.

* This also should fix pty issues >= 32 ptys.

Reported-by: Aaron Li
6 years agoidr.9: Improve this manual page a bit.
Sascha Wildner [Wed, 21 Mar 2018 21:02:46 +0000 (22:02 +0100)]
idr.9: Improve this manual page a bit.

Based on a patch submitted by Aaron LI <aly@aaronly.me>.

6 years agokernel - Fix quickhalt panic-on-reboot
Matthew Dillon [Wed, 21 Mar 2018 18:22:14 +0000 (11:22 -0700)]
kernel - Fix quickhalt panic-on-reboot

* Fix an issue with the quickhalt feature that shortcuts the
  unmounting of procfs, devfs, and tmpfs.

* Fixes a panic-on-reboot due to quickhalt still cleaning out
  the vnode ops even though it leaves the vnodes intact.  Don't
  clean out the vnode ops.

Reported-by: zrj
6 years agoBSD.include.dist: Use spaces to indent (see etc/mtree/README).
Sascha Wildner [Wed, 21 Mar 2018 15:29:23 +0000 (16:29 +0100)]
BSD.include.dist: Use spaces to indent (see etc/mtree/README).