1. 13 Aug, 2015 20 commits
  2. 12 Aug, 2015 20 commits
    • mav's avatar
      MFV 286707: 5959 clean up per-dataset feature count code · 95e93478
      mav authored
      Reviewed by: Toomas Soome <tsoome@me.com>
      Reviewed by: George Wilson <george@delphix.com>
      Reviewed by: Alex Reece <alex@delphix.com>
      Approved by: Richard Lowe <richlowe@richlowe.net>
      Author: Matthew Ahrens <mahrens@delphix.com>
      A ZFS feature flags (large blocks) tracks its refcounts as the number of
      datasets that have ever used the feature. Several features of this type
      are planned to be added (new checksum functions). This code should be made
      common infrastructure rather than duplicating the code for each feature.
    • mav's avatar
      MFV r286704: 5960 zfs recv should prefetch indirect blocks · 99cadf9e
      mav authored
      5925 zfs receive -o origin=
      Reviewed by: Prakash Surya <prakash.surya@delphix.com>
      Reviewed by: Matthew Ahrens <mahrens@delphix.com>
      Author: Paul Dagnelie <pcd@delphix.com>
      While running 'zfs recv' we noticed that every 128th 8K block required a
      read. We were seeing that restore_write() was calling dmu_tx_hold_write()
      and the indirect block was not cached. We should prefetch upcoming indirect
      blocks to avoid having to go to disk and blocking the restore_write().
      Allow an incremental send stream to be received as a clone, even if the
      stream does not mark it as a clone.
    • np's avatar
      Reinstate unify_tcp_port_space and associated code that was lost during · cf4bfaba
      np authored
      the last OFED update (r278886).
      iWARP on FreeBSD is properly integrated with the network stack and the
      iWARP drivers _never_ operate out of any private TCP port-space that is
      invisible to the kernel.  Instead, an iWARP connection shows up as a TCP
      socket (which is what it is) fully visible to the kernel and standard
      tools like netstat, sockstat, etc.
    • dim's avatar
      In ipfw2, avoid left-shifting negative integers, which is undefined. · 06a3ccc4
      dim authored
      While here, make some other arguments to htonl(3) unsigned too.
      MFC after:	3 days
    • ian's avatar
      If a specific timecounter has been chosen via sysctl, and a new timecounter · e0651881
      ian authored
      with higher quality registers (presumably in a module that has just been
      loaded), do not undo the user's choice by switching to the new timecounter.
      Document that behavior, and also the fact that there is no way to unregister
      a timecounter (and thus no way to unload a module containing one).
    • hiren's avatar
      Make LAG LACP fast timeout tunable through IOCTL. · 99dda03e
      hiren authored
      Differential Revision:	D3300
      Submitted by:		LN Sundararajan <lakshmi.n at msystechnologies>
      Reviewed by:		wblock, smh, gnn, hiren, rpokala at panasas
      MFC after:		2 weeks
      Sponsored by:		Panasas
    • dim's avatar
      In gcc's libcpp, stop using the INTTYPE_MAXIMUM() macro, which relies on · a83dfa76
      dim authored
      undefined behavior.  The code used this macro to avoid problems on some
      broken systems which define SSIZE_MAX incorrectly, but this is not
      needed on FreeBSD, obviously.
      MFC after: 3 days
    • oshogbo's avatar
      When the wait*(2) syscalls wait for any process (P_ALL), they should · 7dae5ce3
      oshogbo authored
      ignore processes created with the pdfork(2) syscall.
      PR:		201054
      Approved by:	pjd (mentor)
      Discussed with:	emaste, rwatson
    • ian's avatar
      Remove all dregs of the old PPS driver from this code, in preparation for · f1aec4c4
      ian authored
      redoing it as a separate driver.  Now that each hardware timer is handled by
      a separate instance of the timer driver, it no longer makes sense to bundle
      the pps driver with the regular timecounter code.  (When all 8 timers were
      handled by one driver there was no choice about this.)
      Split the hardware register definitions out to their own file, so that the
      new pps driver (coming in a separate commit later) can share them.
      With the PPS driver gone, the question of which hardware timer to use for
      what purpose becomes much easier (some instances can't do the PPS capture).
      Now we can just hardcore timer2 for eventtimer and timer3 for timecounter.
      This also now only instantiates devices for the 2 hardware timers actually
      used to implement eventtimer and timecounter.  This is required so that
      other drivers can come along and attach to other hardware timers to provide
      other functionality.  (In addition to PPS, this hardware can also do PWM
      stuff, general pulse width and frequency measurements, etc.  Maybe some
      day we'll have drivers for those things.)
    • imp's avatar
      Fix the fixing of the build I broke. rescue/rescue has the right · bcf616af
      imp authored
      target, but rescue doesn't.
      Pointy hat: imp@
    • ian's avatar
      Remove a bogus printf that whines every time loading a driver module · 25a756cd
      ian authored
      triggers a fresh round of probing.
    • ian's avatar
    • delphij's avatar
      Fix build. · ec84502f
      delphij authored
    • mav's avatar
      MFV r284763: 5981 Deadlock in dmu_objset_find_dp · a874d2c1
      mav authored
        When dmu_objset_find_dp gets called with a read lock held, it fans out
        the work to the task queue. Each task in turn acquires its own read
        lock before calling the callback. If during this process anyone tries
        to a acquire a write lock, it will stall all read lock requests.Thus
        the tasks will never finish, the read lock of the caller will never
        get freed and the write lock never acquired.  deadlock.
      Reviewed by: Matthew Ahrens <mahrens@delphix.com>
      Reviewed by: Dan McDonald <danmcd@omniti.com>
      Approved by: Robert Mustacchi <rm@joyent.com>
      Author: Arne Jansen <jansen@webgods.de>
    • imp's avatar
      Document build-tools better. Add rescue back because it builds /bin/sh · 74dea876
      imp authored
      which has a build-tools target (see commit for how build-tools and
      cross-tools differ).
    • mav's avatar
      MFV r284762: 5269 zpool import slow · 584d8113
      mav authored
        When importing a pool (at boot or with zpool import) with many
        filesystem, the process can take minutes. It doesn't matter whether
        the pool has been exported cleanly or uncleanly.  The problem is that
        each dataset has its own log chain. On import, all datasets have to be
        checked if there are logs to replay.  The idea is to speed up this
        process by paralellizing it.
      Reviewed by: Matthew Ahrens <mahrens@delphix.com>
      Reviewed by: George Wilson <george@delphix.com>
      Reviewed by: Dan McDonald <danmcd@omniti.com>
      Approved by: Dan McDonald <danmcd@omniti.com>
      Author: Arne Jansen <jansen@webgods.de>
    • mav's avatar
      MFV r286682: 5765 add support for estimating send stream size with · 53d48e6c
      mav authored
      lzc_send_space when source is a bookmark
      Reviewed by: Matthew Ahrens <mahrens@delphix.com>
      Reviewed by: Christopher Siden <christopher.siden@delphix.com>
      Reviewed by: Steven Hartland <killing@multiplay.co.uk>
      Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com>
      Approved by: Albert Lee <trisk@nexenta.com>
      Author: Max Grossman <max.grossman@delphix.com>
    • ed's avatar
      Perform cleanups in response to D3307. · 1bf93686
      ed authored
      - Document the kern_kevent_anonymous() function.
      - Add assertions to ensure that we don't silently leave the kqueue
        linked from a file descriptor table.
      Reviewed by:	jmg
      Differential Revision:	https://reviews.freebsd.org/D3364
    • ed's avatar
      Add the last remaining system calls: send() and recv(). · 06774a9b
      ed authored
      There is still one TODO item for these calls: add file descriptor
      passing. The data structures are already prepared for this. It's just
      the translation that's missing.
      Obtained from:	http://github.com/NuxiNL/freebsd
    • ian's avatar
      Add a routine to return the hardware instance/unit number from ti,hwmods, · 63fee1ed
      ian authored
      given the hardware name.
      The ti,hwmods property is used (among other things) to associate an fdt node
      with a specific instance of some hardware.  For example given a device node
      that contains the property ti,hwmods = "timer3", if you call this passing
      "timer" as the hwmod string to look for it would return 3.