aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* wbwd: move to superio(4) busAndriy Gapon2019-10-162-340/+75
| | | | | | | | | | | | | | | | | | | | | This allows to remove a bunch of low level code. Also, superio(4) provides safer interaction with other drivers that work with Super I/O configuration registers. Tested only on PCengines APU2: superio0: <Nuvoton NCT5104D/NCT6102D/NCT6106D (rev. B+)> at port 0x2e-0x2f on isa0 wbwd0: <Nuvoton NCT6102 (0xc4/0x53) Watchdog Timer> at WDT ldn 0x08 on superio0 The watchdog output is incorrectly wired on that system and the watchdog does not really do it its job, but the pulse can be seen with a signal analyzer. Reviewed by: delphij, bcr (man page) MFC after: 19 days Differential Revision: https://reviews.freebsd.org/D21979 Notes: svn path=/head/; revision=353645
* libbe(3): add needed bits for be_destroy to auto-destroy some originsKyle Evans2019-10-163-2/+53
| | | | | | | | | | | | | | | | | | | New BEs can be created from either an existing snapshot or an existing BE. If an existing BE is chosen (either implicitly via 'bectl create' or explicitly via 'bectl create -e foo bar', for instance), then bectl will create a snapshot of the current BE or "foo" with be_snapshot, with a name formatted like: strftime("%F-%T") and a serial added to it. This commit adds the needed bits for libbe or consumers to determine if a snapshot names matches one of these auto-created snapshots (with some light validation of the date/time/serial), and also a be_destroy flag to specify that the origin should be automatically destroyed if possible. A future commit to bectl will specify BE_DESTROY_AUTOORIGIN by default so we clean up the origin in the most common case, non-user-managed snapshots. Notes: svn path=/head/; revision=353644
* move nctgpio to superio(4) busAndriy Gapon2019-10-161-218/+57
| | | | | | | | | | | | This is where it logically belongs. The change allows to drop a bunch of low lewel code. Reviewed by: gonzo MFC after: 19 days Differential Revision: https://reviews.freebsd.org/D21980 Notes: svn path=/head/; revision=353643
* dwc3: Use a pair of ()'s around arguments for some macrosEmmanuel Vadot2019-10-161-2/+2
| | | | | | | | | Reported by: hselasky MFC after: 1 week X-MFC-With: r353533 Notes: svn path=/head/; revision=353642
* Use tables to store the information to decode the arm64 ID registers.Andrew Turner2019-10-161-793/+552
| | | | | | | | | | | | Arm updates these with each new architecture revision. To help keep them updated use a collection of tables to hold the needed information to decode these registers. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22020 Notes: svn path=/head/; revision=353641
* Stop leaking information from the kernel through timespecAndrew Turner2019-10-161-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | The timespec struct holds a seconds value in a time_t and a nanoseconds value in a long. On most architectures these are the same size, however on 32-bit architectures other than i386 time_t is 8 bytes and long is 4 bytes. Most ABIs will then pad a struct holding an 8 byte and 4 byte value to 16 bytes with 4 bytes of padding. When copying one of these structs the compiler is free to copy the padding if it wishes. In this case the padding may contain kernel data that is then leaked to userspace. Fix this by copying the timespec elements rather than the entire struct. This doesn't affect Tier-1 architectures so no SA is expected. admbugs: 651 MFC after: 1 week Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353640
* bsd.compat.mk isn't setup to be included outside of Makefile.inc so comment itWarner Losh2019-10-161-1/+1
| | | | | | | | out here until that's sorted out. Otherwise the build is broken. when TARGET_ARCH isn't defined. Notes: svn path=/head/; revision=353639
* MFV r353637: 10844 Serialize ZTHR operations to eliminate racesAndriy Gapon2019-10-167-130/+192
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@6a316e1f6d32750bb8fcf2558dcb17b90ca580fd https://github.com/illumos/illumos-gate/commit/6a316e1f6d32750bb8fcf2558dcb17b90ca580fd https://www.illumos.org/issues/10844 ZoL 61c3391acc9 Serialize ZTHR operations to eliminate races Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Author: Serapheim Dimitropoulos <serapheim@delphix.com> Obtained from: illumos, ZoL MFC after: 3 weeks Notes: svn path=/head/; revision=353638
| * 10844 Serialize ZTHR operations to eliminate racesAndriy Gapon2019-10-167-130/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@6a316e1f6d32750bb8fcf2558dcb17b90ca580fd https://github.com/illumos/illumos-gate/commit/6a316e1f6d32750bb8fcf2558dcb17b90ca580fd https://www.illumos.org/issues/10844 ZoL 61c3391acc9 Serialize ZTHR operations to eliminate races Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Author: Serapheim Dimitropoulos <serapheim@delphix.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353637
* | MFV r353630: 10809 Performance optimization of AVL tree comparator functionsAndriy Gapon2019-10-168-52/+51
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@c4ab0d3f46036e85ad0700125c5a83cc139f55a3 https://github.com/illumos/illumos-gate/commit/c4ab0d3f46036e85ad0700125c5a83cc139f55a3 https://www.illumos.org/issues/10809 Port ZoL ee36c709c3d Performance optimization of AVL tree comparator functions This is a followup to r337567 that imported the ZoL commit directly into FreeBSD. It seems that at the time we did not have some of the earlier changes, so some pieces of the ZoL change were not applicable. Also, the illumos version got a few style cleanups. Some changes were missed or incorrectly merged (e.g., vdev_cache_lastused_compare and metaslab_rangesize_compare). Obtained from: ZoL, illumos MFC after: 25 days X-MFC after: r353634 Notes: svn path=/head/; revision=353636
| * 10809 Performance optimization of AVL tree comparator functionsAndriy Gapon2019-10-1625-260/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@c4ab0d3f46036e85ad0700125c5a83cc139f55a3 https://github.com/illumos/illumos-gate/commit/c4ab0d3f46036e85ad0700125c5a83cc139f55a3 https://www.illumos.org/issues/10809 Port ZoL ee36c709c3d Performance optimization of AVL tree comparator functions From the ZoL commit msg: perf: 2.75x faster ddt_entry_compare() First 256bits of ddt_key_t is a block checksum, which are expected to be close to random data. Hence, on average, comparison only needs to look at first few bytes of the keys. To reduce number of conditional jump instructions, the result is computed as: sign(memcmp(k1, k2)). Sign of an integer 'a' can be obtained as: `(0 < a) - (a < 0)` := {-1, 0, 1}, which is computed efficiently. Synthetic performance evaluation of original and new algorithm over 1G random keys on 2.6GHz Intel(R) Xeon(R) CPU E5-2660 v3: old 6.85789 s new 2.49089 s perf: 2.8x faster vdev_queue_offset_compare() and vdev_queue_timestamp_compare() Compute the result directly instead of using conditionals perf: zfs_range_compare() Speedup between 1.1x - 2.5x, depending on compiler version and optimization level. perf: spa_error_entry_compare() `bcmp()` is not suitable for comparator use. Use `memcmp()` instead. perf: 2.8x faster metaslab_compare() and metaslab_rangesize_compare() perf: 2.8x faster zil_bp_compare() Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Author: Gvozden Neskovic <neskovic@gmail.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353630
* | Fix panic in network stack due to use after free when receivingHans Petter Selasky2019-10-162-2/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | partial fragmented packets before a network interface is detached. When sending IPv4 or IPv6 fragmented packets and a fragment is lost before the network device is freed, the mbuf making up the fragment will remain in the temporary hashed fragment list and cause a panic when it times out due to accessing a freed network interface structure. 1) Make sure the m_pkthdr.rcvif always points to a valid network interface. Else the rcvif field should be set to NULL. 2) Use the rcvif of the last received fragment as m_pkthdr.rcvif for the fully defragged packet, instead of the first received fragment. Panic backtrace for IPv6: panic() icmp6_reflect() # tries to access rcvif->if_afdata[AF_INET6]->xxx icmp6_error() frag6_freef() frag6_slowtimo() pfslowtimo() softclock_call_cc() softclock() ithread_loop() Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D19622 MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353635
* | MFV r348596: 9689 zfs range lock code should not be zpl-specificAndriy Gapon2019-10-168-409/+458
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@7931524763ef94dc16989451dddd206563d03bb4 FreeBSD note: some tweaking was needed to avoid a conflict with sys/rangelock.h. Author: Matthew Ahrens <mahrens@delphix.com> Obtained from: illumos MFC after: 3 weeks Notes: svn path=/head/; revision=353634
* | | VLAN_TRUNKDEV() requires epochification in ibcore after r353292.Hans Petter Selasky2019-10-161-3/+7
| | | | | | | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353633
* | | Replace rdma_is_upper_dev_rcu() with rdma_vlan_dev_real_dev() in ibcore.Hans Petter Selasky2019-10-162-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the number of references to VLAN_TRUNKDEV() in ibcore. Currently only VLAN is supported as a child interface in FreeBSD. Remove superfluous RCU locking. Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353632
* | | VLAN_DEVAT() requires epochification in ipoib after r353292.Hans Petter Selasky2019-10-161-0/+6
| | | | | | | | | | | | | | | | | | | | | Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353631
* | | MFV r353628:Andriy Gapon2019-10-161-0/+4
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10842 Mutex leak in dsl_dataset_hold_obj() illumos/illumos-gate@ad027c0ff9612bff8f47b43d8561da627f80cd29 https://github.com/illumos/illumos-gate/commit/ad027c0ff9612bff8f47b43d8561da627f80cd29 https://www.illumos.org/issues/10842 ZoL d10b2f1d35b Mutex leak in dsl_dataset_hold_obj() Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Author: Jorgen Lundman <lundman@lundman.net> Obtained from: illumos, ZoL MFC after: 15 days Notes: svn path=/head/; revision=353629
| * | 10842 Mutex leak in dsl_dataset_hold_obj()Andriy Gapon2019-10-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@ad027c0ff9612bff8f47b43d8561da627f80cd29 https://github.com/illumos/illumos-gate/commit/ad027c0ff9612bff8f47b43d8561da627f80cd29 https://www.illumos.org/issues/10842 ZoL d10b2f1d35b Mutex leak in dsl_dataset_hold_obj() Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com> Author: Jorgen Lundman <lundman@lundman.net> Notes: svn path=/vendor-sys/illumos/dist/; revision=353628
| * | 10841 predictive prefetch disabled on new pools until export/rebootAndriy Gapon2019-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e https://github.com/illumos/illumos-gate/commit/0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e https://www.illumos.org/issues/10841 ZoL 944a37248a0 predictive prefetch disabled on new pools until export/reboot When a pool is initially created (by `zpool create`), predictive prefetch is inadvertently disabled, until the pool is export/import-ed, or the machine is rebooted. When device removal was introduced, we added some code to disable predictive prefetching until indirect vdevs have been loaded. This resulted in the "default state" of prefetch being disabled, until we proactively enable it after indirect vdevs are loaded. Unfortunately this resulted in a few bugs where in some code paths we neglect to enable predictive prefetch. The first of these was fixed by https://github.com/zfsonlinux/zfs/commit/20507534d4ede14d4dd82c99fc8d461704ce7419 This commit fixes another case where we also need to explicitly enable predictive prefetch, when the pool is initially created. Author: Matthew Ahrens <mahrens@delphix.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353626
* | | fix wording / typos in r353625Andriy Gapon2019-10-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by: kib MFC after: 4 weeks X-MFC with: r353625, r353618 Notes: svn path=/head/; revision=353627
* | | zfs: add a lame emulation of cv_wait_sig(9) in userland to fix r353618Andriy Gapon2019-10-162-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not sure if we need anything better. Maybe we should try to port illumos libfakekernel or provide something similar natively. MFC after: 4 weeks X-MFC with: r353618 Notes: svn path=/head/; revision=353625
* | | MFV r353623: 10473 zfs(1M) missing cross-reference to zfs-program(1M)Andriy Gapon2019-10-161-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@736e6700391d17ab1494985a80076fc185722699 https://github.com/illumos/illumos-gate/commit/736e6700391d17ab1494985a80076fc185722699 https://www.illumos.org/issues/10473 Author: Jason King <jason.king@joyent.com> Obtained from: illumos MFC after: 6 days Notes: svn path=/head/; revision=353624
| * | 10473 zfs(1M) missing cross-reference to zfs-program(1M)Andriy Gapon2019-10-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@736e6700391d17ab1494985a80076fc185722699 https://github.com/illumos/illumos-gate/commit/736e6700391d17ab1494985a80076fc185722699 https://www.illumos.org/issues/10473 Author: Jason King <jason.king@joyent.com> Notes: svn path=/vendor/illumos/dist/; revision=353623
* | | Fix assert in PowerPC pmaps after introduction of object busy.Konstantin Belousov2019-10-164-13/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VM_PAGE_OBJECT_BUSY_ASSERT() in pmap_enter() implementation should be only asserted when the code is executed as result of pmap_enter(), not when the same code is entered from e.g. pmap_enter_quick(). This is relevant for all PowerPC pmap variants, because mmu_*_enter() is used as the backend, and assert is located there. Add a PowerPC private pmap_enter() PMAP_ENTER_QUICK_LOCKED flag to indicate that the call is not from pmap_enter(). For non-quick-locked calls, assert that the object is locked. Reported and tested by: bdragon Reviewed by: alc, bdragon, markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D22041 Notes: svn path=/head/; revision=353622
* | | MFV r353619: 9691 fat zap should prefetch when iteratingAndriy Gapon2019-10-165-8/+100
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@52abb70e073c2a88808c0d66fd810ba8c5080572 https://github.com/illumos/illumos-gate/commit/52abb70e073c2a88808c0d66fd810ba8c5080572 https://www.illumos.org/issues/9691 When iterating over a ZAP object, we're almost always certain to iterate over the entire object. If there are multiple leaf blocks, we can realize a performance win by issuing reads for all the leaf blocks in parallel when the iteration begins. For example, if we have 10,000 snapshots, "zfs destroy -nv pool/fs@1%9999" can take 30 minutes when the cache is cold. This change provides a >3x performance improvement, by issuing the reads for all ~64 blocks of each ZAP object in parallel. Author: Matthew Ahrens <mahrens@delphix.com> Obtained from: illumos MFC after: 2 weeks Notes: svn path=/head/; revision=353621
| * | 9691 fat zap should prefetch when iteratingAndriy Gapon2019-10-165-8/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@52abb70e073c2a88808c0d66fd810ba8c5080572 https://github.com/illumos/illumos-gate/commit/52abb70e073c2a88808c0d66fd810ba8c5080572 https://www.illumos.org/issues/9691 When iterating over a ZAP object, we're almost always certain to iterate over the entire object. If there are multiple leaf blocks, we can realize a performance win by issuing reads for all the leaf blocks in parallel when the iteration begins. For example, if we have 10,000 snapshots, "zfs destroy -nv pool/fs@1%9999" can take 30 minutes when the cache is cold. This change provides a >3x performance improvement, by issuing the reads for all ~64 blocks of each ZAP object in parallel. Author: Matthew Ahrens <mahrens@delphix.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353619
* | | MFV r353617: 9425 allow channel programs to be stopped via signalsAndriy Gapon2019-10-167-89/+200
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@d0cb1fb92629bc0283c88d4719df7285c1612700 https://github.com/illumos/illumos-gate/commit/d0cb1fb92629bc0283c88d4719df7285c1612700 https://www.illumos.org/issues/9425 Problem Statement ZFS Channel program scripts currently require a timeout, so that hung or long-running scripts return a timeout error instead of causing ZFS to get wedged. This limit can currently be set up to 100 million Lua instructions. Even with a limit in place, it would be desirable to have a sys admin (support engineer) be able to cancel a script that is taking a long time. Proposed Solution Make it possible to abort a channel program by sending an interrupt signal.In the underlying txg_wait_sync function, switch the cv_wait to a cv_wait_sig to catch the signal. Once a signal is encountered, the dsl_sync_task function can install a Lua hook that will get called before the Lua interpreter executes a new line of code. The dsl_sync_task can resume with a standard txg_wait_sync call and wait for the txg to complete. Meanwhile, the hook will abort the script and indicate that the channel program was canceled. The kernel returns a EINTR to indicate that the channel program run was canceled. FreeBSD note: the return value of cv_wait_sig() has inverted meaning between us and illumos. Author: Don Brady <don.brady@delphix.com> Obtained from: illumos MFC after: 4 weeks Notes: svn path=/head/; revision=353618
| * | 9425 allow channel programs to be stopped via signalsAndriy Gapon2019-10-167-89/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@d0cb1fb92629bc0283c88d4719df7285c1612700 https://github.com/illumos/illumos-gate/commit/d0cb1fb92629bc0283c88d4719df7285c1612700 https://www.illumos.org/issues/9425 Problem Statement ZFS Channel program scripts currently require a timeout, so that hung or long- running scripts return a timeout error instead of causing ZFS to get wedged. This limit can currently be set up to 100 million Lua instructions. Even with a limit in place, it would be desirable to have a sys admin (support engineer) be able to cancel a script that is taking a long time. Proposed Solution Make it possible to abort a channel program by sending an interrupt signal.In the underlying txg_wait_sync function, switch the cv_wait to a cv_wait_sig to catch the signal. Once a signal is encountered, the dsl_sync_task function can install a Lua hook that will get called before the Lua interpreter executes a new line of code. The dsl_sync_task can resume with a standard txg_wait_sync call and wait for the txg to complete. Meanwhile, the hook will abort the script and indicate that the channel program was canceled. The kernel returns a EINTR to indicate that the channel program run was canceled. Author: Don Brady <don.brady@delphix.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353617
* | | MFV r353615: 9485 Optimize possible split block search spaceAndriy Gapon2019-10-162-101/+308
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@a21fe349793c3805ec504bbe5e9acf06c2d63d7a https://github.com/illumos/illumos-gate/commit/a21fe349793c3805ec504bbe5e9acf06c2d63d7a https://www.illumos.org/issues/9485 Port this commit from ZoL: https://github.com/zfsonlinux/zfs/commit/4589f3ae4c1bb435777da8640eb915f3c713b14d Author: Brian Behlendorf <behlendorf1@llnl.gov> Obtained from: illumos, ZoL MFC after: 3 weeks Notes: svn path=/head/; revision=353616
| * | 9485 Optimize possible split block search spaceAndriy Gapon2019-10-162-101/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@a21fe349793c3805ec504bbe5e9acf06c2d63d7a https://github.com/illumos/illumos-gate/commit/a21fe349793c3805ec504bbe5e9acf06c2d63d7a https://www.illumos.org/issues/9485 Port this commit from ZoL: https://github.com/zfsonlinux/zfs/commit/4589f3ae4c1bb435777da8640eb915f3c713b14d Author: Brian Behlendorf <behlendorf1@llnl.gov> Notes: svn path=/vendor-sys/illumos/dist/; revision=353615
* | | MFV r353613: 10731 zfs: NULL pointer errorsAndriy Gapon2019-10-161-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD already had these changes locally. This commit removes a small formatting difference. MFC after: 1 week Notes: svn path=/head/; revision=353614
| * | 10731 zfs: NULL pointer errorsAndriy Gapon2019-10-168-42/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@dd328bf6d39366b8d7bde6a36114538fc14332dd https://github.com/illumos/illumos-gate/commit/dd328bf6d39366b8d7bde6a36114538fc14332dd https://www.illumos.org/issues/10731 Author: Toomas Soome <tsoome@me.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353613
* | | MFC r353611: 10330 merge recent ZoL vdev and metaslab changesAndriy Gapon2019-10-166-98/+114
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@a0b03b161c4df3cfc54fbc741db09b3bdc23ffba https://github.com/illumos/illumos-gate/commit/a0b03b161c4df3cfc54fbc741db09b3bdc23ffba https://www.illumos.org/issues/10330 3 recent ZoL changes in the vdev and metaslab code which we can pull over: PR 8324 c853f382db 8324 Change target size of metaslabs from 256GB to 16GB PR 8290 b194fab0fb 8290 Factor metaslab_load_wait() in metaslab_load() PR 8286 419ba59145 8286 Update vdev_is_spacemap_addressable() for new spacemap encoding Author: Serapheim Dimitropoulos <serapheimd@gmail.com> Obtained from: illumos, ZoL MFC after: 2 weeks Notes: svn path=/head/; revision=353612
| * | 10330 merge recent ZoL vdev and metaslab changesAndriy Gapon2019-10-166-92/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@a0b03b161c4df3cfc54fbc741db09b3bdc23ffba https://github.com/illumos/illumos-gate/commit/a0b03b161c4df3cfc54fbc741db09b3bdc23ffba https://www.illumos.org/issues/10330 3 recent ZoL changes in the vdev and metaslab code which we can pull over: PR 8324 c853f382db 8324 Change target size of metaslabs from 256GB to 16GB PR 8290 b194fab0fb 8290 Factor metaslab_load_wait() in metaslab_load() PR 8286 419ba59145 8286 Update vdev_is_spacemap_addressable() for new spacemap encoding Author: Serapheim Dimitropoulos <serapheimd@gmail.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353611
| * | 10230 zfs mishandles partial writesAndriy Gapon2019-10-161-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@b0ef425652e5cfce27df9fa5826a9cd64cee110a https://github.com/illumos/illumos-gate/commit/b0ef425652e5cfce27df9fa5826a9cd64cee110a https://www.illumos.org/issues/10230 The trinity fuzzer calls pwritev with an iovec that has one or more entries which point to some initial valid data and then the rest point to addresses which are not mapped. This yields EFAULT once the write hits the invalid address, but we do successfully complete some amount of writing. The zfs_write code does not handle this properly. It loses track of the error return from dmu_write_uio_dbuf and it has an invalid ASSERT which does not account for the partial write case. Author: Jerry Jelinek <jerry.jelinek@joyent.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353610
* | | MFV r353608: 10165 libzpool: passing argument 1 to restrict-qualified parameterAndriy Gapon2019-10-161-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://github.com/illumos/illumos-gate/commit/f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://www.illumos.org/issues/10165 Author: Toomas Soome <tsoome@me.com> MFC after: 10 days Notes: svn path=/head/; revision=353609
| * | 10165 libzpool: passing argument 1 to restrict-qualified parameter aliases ↵Andriy Gapon2019-10-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with argument 4 illumos/illumos-gate@f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://github.com/illumos/illumos-gate/commit/f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://www.illumos.org/issues/10165 Author: Toomas Soome <tsoome@me.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353608
* | | MFV r353606: 10067 Miscellaneous man page typosAndriy Gapon2019-10-161-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://www.illumos.org/issues/10067 fileystem - man1m/zfs.1m man1m/boot.1m Author: Peter Tribble <peter.tribble@gmail.com> Obtained from: illumos MFC after: 1 week Notes: svn path=/head/; revision=353607
| * | 10067 Miscellaneous man page typosAndriy Gapon2019-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@e61d7e85ebb4a7361eeb10639b742a92e0bf5e55 https://github.com/illumos/illumos-gate/commit/e61d7e85ebb4a7361eeb10639b742a92e0bf5e55 https://www.illumos.org/issues/10067 fileystem - man1m/zfs.1m man1m/boot.1m Author: Peter Tribble <peter.tribble@gmail.com> Notes: svn path=/vendor/illumos/dist/; revision=353606
| * | 10154 zfs: cast between incompatible function typesAndriy Gapon2019-10-162-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@c62757b2b8b6c26589d7704d0ff20beb107fcd9a https://github.com/illumos/illumos-gate/commit/c62757b2b8b6c26589d7704d0ff20beb107fcd9a https://www.illumos.org/issues/10154 Author: Toomas Soome <tsoome@me.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353605
* | | powerpc/mpc85xx: Fix function type for fsl_pcib_error_intr()Justin Hibbits2019-10-161-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it's only called as an interrupt handler, fsl_pcib_eror_intr() should just match the driver_intr_t type. Reported by: bdragon Notes: svn path=/head/; revision=353604
* | | powerpc: Add AmigaOne platform, a subclass of MPC85xxJustin Hibbits2019-10-163-1/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The AmigaOne platform, encompassing the X5000 and A1222 at this time, is based on the mpc85xx platform, but includes some things not listed in the device tree. Some custom devices, like CPLD, could be added to the device tree with an overlay, or other means. However, some cannot easily be done, such as the power button interrupt. The directory will also become a location to add AmigaOne platform drivers, such as the aforementioned CPLD, and its children. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D21829 Notes: svn path=/head/; revision=353603
* | | Fix including bsd.compat.mk outside Makefile.libcompat on mips64.Brooks Davis2019-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Reported by: jhb, jenkins Notes: svn path=/head/; revision=353601
* | | Generalize ARM specific comments in devmapKristof Provost2019-10-152-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comments in devmap are very ARM specific, this generalizes them for other architectures. Submitted by: Nicholas O'Brien <nickisobrien_gmail.com> Reviewed by: manu, philip Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D22035 Notes: svn path=/head/; revision=353600
* | | ixgbe: Disable EEE for backplane X550EM_XEric Joyner2019-10-151-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Zach: Intel documentation indicates that backplane X550EM_X KR devices do not support Energy Efficient Ethernet. Prior to this patch, X552 devices (device ID 0x15AB) will crash the system when transitioning EEE state via sysctl. Signed-off-by: Zach Vargas <zvargas@xes-inc.com> PR: 240320 Submitted by: Zach Vargas <zvargas@xes-inc.com> Reviewed by: erj@ MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D21673 Notes: svn path=/head/; revision=353599
* | | Missing from r353596.Gleb Smirnoff2019-10-152-0/+6
| | | | | | | | | | | | Notes: svn path=/head/; revision=353598
* | | Add the ability to link programs against a compat ABI.Brooks Davis2019-10-153-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linkage is controlled by two make knobs: WANT_COMPAT - Prefer to link against the compat ABI. NEED_COMPAT - Link against the compat ABI or fail to build. Supported values are "32", "soft", and "any". The latter meaning pick the first[0] supported compat ABI. This can be used to provide test binaries for compat ABIs or to link ABI-specific programs. [0] We currently support only one compat ABI at a time, but this may change in the future and some code in this commit is structured to ease that change. Reviewed by: bdrewery, jhb Obtained from: CheriBSD (in concept) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22023 Notes: svn path=/head/; revision=353597
* | | When assertion for a thread not being in an epoch fails also print allGleb Smirnoff2019-10-155-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | entered epochs. Works with EPOCH_TRACE only. Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D22017 Notes: svn path=/head/; revision=353596
* | | Build compat libraries before "everything".Brooks Davis2019-10-152-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required for us to link programs against compat versions of libraries. Reviewed by: bdrewery, jhb Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353595
* | | Allow OBJDIR to be overridden for LIB*DIR variables.Brooks Davis2019-10-151-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to link against internal libraries when building programs for the system's LIBCOMPAT ABI. Reviewed by: bdrewery Obtained from: CheriBSD Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353594