ƒ·256451 131 1252 708 630 1226 362 702 822 430 140 476 417 352 982 252 1634 289 269 143 3074 267 507 771 673 909 521 2715 263 653 711 267 4991 522 184 459 247 166 486 322 185 393 613 145 251 228 237 206 193 218 135 200 245 356 289 371 147 175 140 349 479 149 158 1519 192 379 217 168 123 318 245 143 283 159 128 199 848 305 283 165 165 164 174 155 311 188 155 182 278 177 168 515 171 250 302 163 138 213 138 358 163 318 148 262 722 106 577 287 389 152 133 475 180 395 295 157 110 121 125 159 151 396 1000 311 417 182 690 367 668 165 165 135 159 K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T20:51:51.109037Z K 7 svn:log V 1154 Move parsing policy for invalid GUIDs into the Guid class. cddl/sbin/zfsd/guid.cc: cddl/sbin/zfsd/guid.h: o Allow a Guid to be constructed from a string. The empty string is treated as an invalid Guid. o Rename NONE_FLAG to INVALID_GUID to clarify its meaning. The concept of a Guid being "none" only applies in certain contexts like reading a spare label. cddl/sbin/zfsd/dev_ctl_event.cc: Modify ZfsEvent's constructor to just use Guid's string contructor instead of embedding logic to manually create invalid guids when these nvpairs do not exist. stable/cddl/sbin/zfsd/vdev.cc: Rely on Guid's default constructor creating an invalid guid to simplify the handling of pool GUIDs parsed from a label. This also fixes a vdev/pool guid variable mixup bug that, due to Guid's default construction, had no ill effects. Submitted by: gibbs Approved by: ken (mentor) Sponsored By: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T20:53:51.635857Z K 7 svn:log V 611 Modify ParseException so that it records the parse buffer upon construction. This allows it to be caught at any level in the program and logged with full fidelity. cddl/sbin/zfsd/dev_ctl_event.cc: cddl/sbin/zfsd/dev_ctl_event.h: Update ParseException implementation: take the parse buffer string on construction and don't require the parse buffer string when logging or converting the exception to a string. cddl/sbin/zfsd/dev_ctl_event.cc: cddl/sbin/zfsd/case_file.cc: Adjust to Log() and ToString() taking no arguments. Submitted by: gibbs Approved by: ken (mentor) Sponsored By: Spectra Logic END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T20:56:51.516660Z K 7 svn:log V 533 In the static method CaseFile::DeSerializeFile(), break out the acutal parsing of the serialization stream into the instance method CaseFile::DeSerialize(ifstream &caseStream). cddl/sbin/zfsd/case_file.h: Declaration of CaseFile::DeSerialize(). cddl/sbin/zfsd/case_file.cc: o Factor out CaseFile::DeSerialize() from CaseFile::DeSerializeFile(). o In CaseFile::DeSerialize() remove a superfluous return statement after a throw. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T20:59:17.644865Z K 7 svn:log V 1128 Remove information about devd reconnection policies that was distributed within comments and syslog() strings in functions well below where these decisions are made. stable/cddl/sbin/zfsd/zfsd.cc: o In ZfsDaemon::DisconnectFromDevd(), log when the connection is torn down. This removes the need to guess that this will happen in comments or log strings in code that all eventually sends us to this function. o In ZfsDaemon::EventsPending(), treat poll returning -1 with an errno other than EINTR, or 0 as a program terminating event just as it is in the other case where we invoke poll. These events indicate poll or our code is seriously broken. o In ZfsDaemon::EventsPending(), prioritize emitting a POLLERR event over POLLHUP in case they are both set. POLLHUP is benign, but POLLERR may indicate something we need to investigate. o In ZfsDaemon::EventLoop(), remove comments and log strings that claim knowledge of policy implemented in EventLoop's caller, ZfsDaemon::Run(). Submitted by: gibbs Approved by: ken (mentor) Obtained from: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:05:09.690081Z K 7 svn:log V 265 cddl/sbin/zfsd/zfsd.cc In ZfsdDaemon::EventsPending(), we do not block waiting for events, so poll will return 0 if no events are pending. Don't treat this as a fatal error. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:08:31.782526Z K 7 svn:log V 605 Fix compiler warnings in zfsd cddl/sbin/zfsd/case_file.cc: Use proper printf/scanf format specifiers so Zfsd operates on uint64_t variables instead of uintmax_t variables that are then assumed to be 64 bits in size. cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/vdev.cc: When fetching datastructures from nvlists that are an array of uint64_ts, use a uint64_t pointer to call into the nvlist API and a reinterpret_cast<> to convert it to the pointer type of interest. Fixes strict-aliasing warnings. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:21:05.137173Z K 7 svn:log V 725 Style, comment, and warning message improvements to zfsd. * zfsd.h Clarified member documentation * zfsd.cc Clarified warning message * case_file.cc Omits a space before the { of a control block * vdev_iterator.cc * zfsd.cc Return statements must enclose their values in parenthesis * dev_ctl_event.cc: Omit a space after flow control keywords * case_file.cc: * vdev_iterator.cc * zfsd.cc * case_file.h * dev_ctl_event.h * guid.h * zfsd_exception.h * zpool_list.h * dev_ctl_event.cc Trailing whitespace * zfsd.cc * zpool_list.cc Braces around a single line statement following a control block Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:23:58.469246Z K 7 svn:log V 333 zfsd will attempt to activate a hotspare in response to a drive becoming DEGRADED or FAULTED. case_file.cc Attempt to activate a spare whenver we get a "resource.fs.zfs.statechange" event and the vdev state is either DEGRADED or FAULTED. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 2 np K 8 svn:date V 27 2013-10-14T21:25:07.974770Z K 7 svn:log V 49 cxgbe(4): Update T4 and T5 firmwares to 1.9.12.0 END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:30:00.974877Z K 7 svn:log V 379 Fixed ZfsEvent::ProcessPoolEvent(): it was never getting called, and didn't have the right string for removal events. dev_ctl_event.cc Fixed event strings dev_ctl_event.h Made a function virtual to facilitate unit testing zfsd.cc Fixed a printf format warning in ExtractEvent. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:34:49.002747Z K 7 svn:log V 320 When a vdev generates IO errors, mark it as FAULTED instead of DEGRADED. Checksum errors will still be marked as DEGRADED. This matches the behavior of Illumos. I had to make a number of methods virtual to facilitate unit testing. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:41:36.005872Z K 7 svn:log V 255 Make zfsd WARNS=1 safe. cddl/sbin/zfsd/zfsd.h Make Reader's destructor virtual, because it has virtual functions cddl/sbin/zfsd/Makefile Add WARNS=1 and -Wall Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:50:56.931478Z K 7 svn:log V 885 Fix a bug in zfsd: when a drive is experiencing a rapid storm of IO or checksum errors, zfsd will not degrade/fault it until hundreds or thousands of errors have occured. cddl/sbin/zfsd/case_file.cc RefreshVdevState() iterates through all the system's zpools, which involves the ioctls ZFS_IOC_POOL_CONFIGS and ZFS_IOC_POOL_STATS. Both of those acquire spa_namespace_lock, which may block for a long time under certain circumstances, including when the system has a storm of IO or checksum errors. This change eliminates the call to RefreshVdevState() whenever a ZFSEvent is received. Instead, RefreshVdevState() will only be called when a CaseFile is closed, if necessary. This way, zfsd won't spend too much time blocking on ioctl()s and miss reading events from devd. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:53:45.896891Z K 7 svn:log V 155 cddl/sbin/zfsd/case_file.cc Comment change. No functional change. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T21:59:31.240078Z K 7 svn:log V 1536 zfsd should activate a spare that is newly added to an already-degraded pool cddl/sbin/zfsd/case_file.cc cddl/sbin/zfsd/case_file.h cddl/sbin/zfsd/dev_ctl_event.cc When a config_sync event arrives, reevaluate all open casefiles on the same pool. cddl/sbin/zfsd/case_file.cc When evaluating a config_sync event, try to activate spares if our pool is unhealthy. This is necessary because we don't get any more specific event when a spare is added to a pool. This required adding the CaseFileReEvaluator functor and the CaseFile::ReEvaluateByGuid method. cddl/sbin/zfsd/case_file.cc When processing a statechange event, refresh the vdev state. This is necessary because we could be reevaluating an already-existing casefile that was opened before the pool became degraded. Also, always consume the event, even if we couldn't activate the spare. It's no longer necessary to queue the statechange event since we can now reevaluate CaseFiles on a config_sync event. cddl/sbin/zfsd/case_file.cc In CloseIfSolved(), don't close casefiles for DEGRADED or FAULTED vdevs since we now have the ability to fix them. cddl/sbin/zfsd/dev_ctl_event.cc cddl/sbin/zfsd/dev_ctl_event.h cddl/sbin/zfsd/zfsd.cc Redelegated responsibility for queueing events from DevCtlEvent(and its child classes) to ZfsDaemon. cddl/sbin/zfsd/zfsd.cc In the SIGINFO handler, print unconsumed events as well as saved casefiles. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T22:01:34.202182Z K 7 svn:log V 192 cddl/sbin/zfsd/case_file.cc Log message correction: replacements are not necessarily by physical path. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 2 np K 8 svn:date V 27 2013-10-14T22:39:08.870152Z K 7 svn:log V 177 Delete all of the old RDMA code (except krping, which was switched to use sys/ofed some time back). This has been sitting around as dead code in the tree for a very long time. END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-10-14T22:42:13.407836Z K 7 svn:log V 48 Fix minor English issues. Approved by: glebius END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T22:58:48.165891Z K 7 svn:log V 2976 Extract devctl event processing support out of zfsd and into a new library: libdevctl. etc/mtree/BSD.include.dist: Add the /usr/include/devctl directory to the base system. lib/Makefile: lib/libdevctl/Makefile: Build support for the new library. lib/libdevctl/consumer.cc: lib/libdevctl/consumer.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: New class, DevCtl::Consumer, from functionality extracted from ZfsDaemon, which can connect to devd, parse an event stream, and invoke event handlers. lib/libdevctl/event.cc: lib/libdevctl/event.h: cddl/sbin/zfsd/dev_ctl_event.cc: cddl/sbin/zfsd/dev_ctl_event.h: Strip Zfsd specific event handling from Zfsd's event classes to create DevCtl::Event, DevCtl::DevfsEvent, and DevCtl::ZfsEvent. lib/libdevctl/event_buffer.cc: lib/libdevctl/event_buffer.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: DevCtl::EventBuffer: buffer for incoming devctl stream used to parse/extract individual event strings. lib/libdevctl/event_factory.cc: lib/libdevctl/event_factory.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: DevCtl::EventFactory: Method map for converting event strings to Devctl::Event objects. lib/libdevctl/exception.cc: lib/libdevctl/exception.h: cddl/sbin/zfsd/zfsd_exception.cc: cddl/sbin/zfsd/zfsd_exception.h: DevCtl::Exception and DevCtl::ParseException, the exceptions which are thrown by this library. lib/libdevctl/guid.cc: lib/libdevctl/guid.h: cddl/sbin/zfsd/guid.cc: cddl/sbin/zfsd/guid.h: DevCtl::Guid: Helper routines for dealing with 64bit GUIDs such as found in Zfs pools and vdevs. lib/libdevctl/reader.cc: lib/libdevctl/reader.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: DevCtl::Reader class hierarchy. Used to direct a Consumer to an event stream (e.g. from devd or a local/saved file). cddl/sbin/zfsd/zfsd_event.cc: cddl/sbin/zfsd/zfsd_event.h: Zfsd specialization of DevCtl::Event types. cddl/sbin/zfsd/zfsd_exception.cc: cddl/sbin/zfsd/zfsd_exception.h: Zfsd specific exception types, now derived from DevCtl::Excpetion. cddl/sbin/zfsd/Makefile: cddl/sbin/zfsd/callout.cc: cddl/sbin/zfsd/callout.h: cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/case_file.h: cddl/sbin/zfsd/vdev.cc: cddl/sbin/zfsd/vdev.h: cddl/sbin/zfsd/vdev_iterator.cc: cddl/sbin/zfsd/vdev_iterator.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: cddl/sbin/zfsd/zfsd_event.cc: cddl/sbin/zfsd/zfsd_event.h: cddl/sbin/zfsd/zfsd_exception.cc: cddl/sbin/zfsd/zfsd_exception.h: cddl/sbin/zfsd/zfsd_main.cc: cddl/sbin/zfsd/zpool_list.cc: cddl/sbin/zfsd/zpool_list.h: Miscelaneuous refactoring to support using libdevctl instead of local implementation. cddl/sbin/zfsd/Makefile: cddl/sbin/zfsd/Makefile.common: tools/regression/zfsd/Makefile: Export common build information for zfsd and its unit tests to a "Makefile.common". Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 2 np K 8 svn:date V 27 2013-10-14T23:02:05.948201Z K 7 svn:log V 175 Update krping to the latest upstream code. Move all the FreeBSD specific parts to krping_dev.c, which leaves the other files as close to their upstream versions as possible. END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:06:12.503457Z K 7 svn:log V 410 Fix a bug in zfsd: If you pull two drives on a raidz2 pool with at least two available hotspares, only one will be activated. cddl/sbin/zfsd/case_file.cc CaseFile::Replace should return false when zpool_vdev_attach fails. That way, the operation will be reattempted the next time that a config_sync event arrives. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:13:03.671996Z K 7 svn:log V 674 Fix a few libdevctl bugs found by inspection lib/libdevctl/consumer.cc: In Consummer::ConnectToDevd(), invoke DisconnectFromDevd() if our connect fails so that the connection to DevD is recorded as closed. This avoids fooling future invocations of ConnectToDevd() into thinking the connection is already established. In Consumer::FlushEvents(), handle in_avail() returning -1, which indicates and error. In Consumer::EventsPending(), update exception string to reflect the conversion of this class from ZfsDaemon to Consumer when it was refactored out of zfsd. Submitted by: gibbs Approved by: ken (mentor) Obtained from: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:15:58.636310Z K 7 svn:log V 576 Modify Zfsd to honor shutdown signals even when started during a devctl event flood. cddl/sbin/zfsd/zfsd.cc: In ZfsDaemon::Run(), catch DevCtl::Exceptions instead of one of its derived classes ZfsdExceptions. libdevctl, which contains some of the methods we call in this context, only emits DevCtl::Exceptions, and we must catch these too. In ZfsDaemon::DetectMissedEvents(), monitor s_terminateEventLoop so we are guaranteed to exit our loop if a shutdown is requested. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:21:02.364305Z K 7 svn:log V 812 Fix registration of a default event builder for the Consumer class. lib/libdevctl/consumer.cc: In Consumer::ConnectToDevd(), improve syslog output. lib/libdevctl/event.cc: lib/libdevctl/event.h: Implement pure virtual method in the Event class so that it can be instantiated. Provide a generic EventBuilder method that builds generic Events. This is expected to be used by consumers of this library that just need key=>value data for all events received. lib/libdevctl/event_factory.cc: In EventFactory::Build, fix segmentation violation when a default event builder is registered and no more specific event builder is found in the factory's registry. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:24:53.972132Z K 7 svn:log V 424 Logging changes in zfsd sbin/zfsd/zfsd.cc Log when a system rescan event request is processed. This is primarily so it can be differentiated from other system rescan events. sbin/zfsd/zfsd_event.cc Stop emitting "Searching for CaseFile by Physical Path" log. It contributes nothing to the log and occurs very frequently. Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:31:18.240128Z K 7 svn:log V 2617 Improve zfsd's spare handling. Zfsd can now: - Spare broken spares, whether a case file is created for the original drive or for the previous spare. - Avoid sparing spares that are either resilvering or healthy. This enables failover of multiple devices in a pool. It also means that zfsd doesn't require more spares than are actually needed to make a pool whole again. cddl/sbin/zfsd/vdev.h: cddl/sbin/zfsd/vdev.cc: - Add NonexistentVdev, a singleton instance of Vdev that represents a vdev that doesn't exist. Supporting this are new methods: - Vdev::Vdev(), an empty copy constructor. - Vdev::DoesNotExist(), which returns true if the vdev doesn't exist. - Add vdev tree methods of use for purposes for which VdevIterator is not appropriate: - Vdev::Children(), which returns a list of the vdev's children. - Vdev::RootVdev(), which returns the root vdev of the vdev's pool. - Vdev::Parent(), which returns the vdev's parent. This works by traversing the tree until it finds a vdev whose children include the caller object. - Add several useful vdev instance methods: - Vdev::IsAvailableSpare(), which returns whether the vdev is an unassigned and usable spare. - Vdev::Name(), which returns the vdev's name; it can be made to return a "verbose" name too (e.g. "spare" vs. "spare-1"). - Vdev::IsSpare(), Vdev::IsActiveSpare(), and Vdev::IsResilvering(). - While I'm here, refactor Vdev::Vdev(*) so that common initialization code only exists in one place. cddl/sbin/zfsd/case_file.h: cddl/sbin/zfsd/case_file.cc: - Add CaseFile::BeingReplacedBy(), which returns the device replacing the current device, if one exists. Performing this requires finding the vdev's parent and checking the state of its children. - Change CaseFile::Replace() to allow the caller to specify whether the case's vdev is being replaced by a spare. This enables Replace() to detect the appropriate device to perform the actual replace on. - Add CaseFile::CaseVdev() to obtain a Vdev for the case file, and use it in several places that perform the operation. cddl/sbin/zfsd/case_file.cc: - Improve logging for case file evaluation so that the action chosen is always logged. - While I'm here, make zpool lookups consistent and always generate a zpool_handle_t * local to the function where it's needed. cddl/sbin/zfsd/vdev.h: cddl/sbin/zfsd/zfsd_exception.cc: - Add , now required because of Vdev::Children() in vdev.h. Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 2 np K 8 svn:date V 27 2013-10-14T23:32:56.873672Z K 7 svn:log V 171 cxgbe(4): Store the log2 of the # of doorbells per BAR2 page for both ingress and egress queues, and for both T4 and T5. These values are used by the T4/T5 iWARP driver. END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:36:10.230017Z K 7 svn:log V 556 Zfsd should deactivate a spare if the original device is replaced while the system is powered off. cddl/sbin/zfsd/case_file.cc cddl/sbin/zfsd/vdev.cc cddl/sbin/zfsd/vdev.h cddl/sbin/zfsd/vdev_iterator.h cddl/sbin/zfsd/zfsd.cc cddl/sbin/zfsd/zfsd_event.cc cddl/sbin/zfsd/zfsd_event.h When zfsd receives a misc.fs.zfs.resilver_finish event, it will iterate through all spare leaf vdevs on the pool. It will detach any that appear to be unnecessary. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:41:55.008456Z K 7 svn:log V 614 Fix a bug in zfsd: zfsd will fail to autoreplace by physical path a drive if it had previously replaced that same drive when it belonged to a different pool. The solution is to delete case files when their pools are destroyed. A better fix would be to refactor zfsd to eliminate casefiles altogether, and use a more stateless approach. cddl/sbin/zfsd/case_file.cc cddl/sbin/zfsd/zfsd_event.cc Close a case file when its pool is destroyed. Log a warning when two open case files correspond to the same physical path. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:43:30.624421Z K 7 svn:log V 170 sbin/zfsd/Makefile.common Add -lzfs_core for zfsd, because libzfs now requires it. Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:56:38.918698Z K 7 svn:log V 4893 Emit many more ZFS events to devctl, especially for zfs(8) commands. The intention is to make it easier for a devctl consumer (such as zfsd or the zfs worker) to receive events for commands like zfs create/snapshot/destroy/clone/promote. Instead of polling "zfs list", such consumers can now receive notifications when the requested operations complete. While I'm here, make devctl/libdevctl support key/value strings that have spaces in them. Some of the key/value pairs in these events contain strings that screw up rendering & parsing. It seems more appropriate to pass on strings as they were provided than to require all emitters to adopt a "no spaces" rule. The logging format is open to modification/tweaking. Example event logs from zfsd: [root@ntier-verde ~]# zfs create tpool/foo Aug 2 20:46:35 ntier-verde zfsd: ZFS: Notify "dsid"="40" "dsname"="tpool/foo" "history internal str"="" "history txg"="90" "internal_name"="create" "pool_guid"="83985999112536669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476395" "type"="misc.fs.zfs.pool_history" [root@ntier-verde ~]# zfs create tpool/foo/0 Aug 2 20:46:36 ntier-verde zfsd: ZFS: Notify "dsid"="47" "dsname"="tpool/foo/0" "history internal str"="" "history txg"="91" "internal_name"="create" "pool_guid"="83985999112386669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476396" "type"="misc.fs.zfs.pool_history" [root@ntier-verde ~]# zfs snapshot tpool/foo/0@0 Aug 2 20:46:41 ntier-verde zfsd: ZFS: Notify "dsid"="50" "dsname"="tpool/foo/0@0" "history internal str"="" "history txg"="92" "internal_name"="snapshot" "pool_guid"="83985991253386669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476401" "type"="misc.fs.zfs.pool_history" [root@ntier-verde ~]# zfs destroy -r tpool/foo Aug 2 20:46:46 ntier-verde zfsd: ZFS: Notify "dsid"="50" "dsname"="tpool/foo/0@0" "history internal str"="" "history txg"="94" "internal_name"="destroy" "pool_guid"="83985999253386669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476406" "type"="misc.fs.zfs.pool_history" Aug 2 20:46:46 ntier-verde zfsd: ZFS: Notify "dsid"="47" "dsname"="tpool/foo/0" "history internal str"="" "history txg"="95" "internal_name"="destroy" "pool_guid"="83985999113386669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476406" "type"="misc.fs.zfs.pool_history" Aug 2 20:46:46 ntier-verde zfsd: ZFS: Notify "dsid"="40" "dsname"="tpool/foo" "history internal str"="" "history txg"="97" "internal_name"="destroy" "pool_guid"="83985999112586669" "pool_name"="tpool" "subsystem"="ZFS" "timestamp"="1375476406" "type"="misc.fs.zfs.pool_history" lib/libdevctl/event.cc: sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c: - Add a rudimentary mechanism for serializing and deserializing spaces in strings representing keys and their values, by converting spaces to %20, and %s to %%s, and vice versa. lib/libdevctl/event.cc: - Add normalize_string(), which deserializes inbound key and value strings, acting as a substitute for string.substr(), as it is used in DevCtl::Event::ParseEventString(). - DevCtl::Event::Log(): Quote key and value strings. sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c: - Add a common routine, log_sysevent_add_string(), which performs serialization of spaces and %s in strings. - Add log_sysevent_add_elem(), which uses log_sysevent_add_string() to provide the " =" part of the string. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c: - spa_create(): Change the "create" history log generated here to "pool create", so it can be more easily distinguished from "create", which means "filesystem create". sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c: sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/eventdefs.h: - Add zfs_ereport_spa_history(), a new ZFS event call which allows emitting events for pool history logging. It takes a nvlist of metadata representing the history log, temporarily appends the pool name and guid, then forwards it on to ddi_log_sysevent(). The FreeBSD implementation of ddi_log_sysevent() then serializes the event and forwards the serialized string to devctl_notify(). sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c: - log_internal(): When logging internal events, once the nvlist has been fully populated with data, call zfs_ereport_spa_history(). lib/libdevctl/consumer.cc - Demote ConnectToDevd() "Already connected." syslog from INFO to DEBUG. This function gets called by the devctl ruby gem whenever it polls devctl, resulting in useless log spamming in production. Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-14T23:57:12.296428Z K 7 svn:log V 426 Add register definitions for the AR933x SoC GMAC (ie, ethernet MAC) control block. The GMAC configuration block allows for some configuration of how the GMAC0 (ie, arge0) port is connected to the on-board switch (if indeed there is one.) It both can be pushed into the on-board switch; it could also be torn out and exposed via an external MII (and that operational mode is also controllable.) Obtained from: Linux/OpenWRT END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-14T23:58:52.096723Z K 7 svn:log V 89 Add the rest of the AR934x SoC reset register definitions. Obtained from: Linux/OpenWRT END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-14T23:59:10.026085Z K 7 svn:log V 362 Reduce zfsd logging. cddl/sbin/zfsd/zfsd_event.cc: Only syslog events for which zfsd takes some action. This preserves the data necessary for diagnosis of customer issues without filling the logs with every ZFS event type the kernel may issue (e.g. scrub status). Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-15T00:09:22.621145Z K 7 svn:log V 150 etc/rc.d/zfsd Remove set_rcvar, in accordance with rev 230103. Submitted by: will Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-15T00:26:02.706426Z K 7 svn:log V 71 Add AR934x, AR8327 register definitions. Obtained from: Linux/OpenWRT END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-15T01:35:48.797810Z K 7 svn:log V 390 Add new features - an MDIO clock, WMAC reset, GMAC reset and ethernet switch reset/initialise functions. The AR934x and QC955x SoCs both have a configurable MDIO base clock. The others have the MDIO clock use the same clock as the system reference clock, whatever that may be. Tested: * AR9344 SoC TODO: * mips24k - AR933x would be fine for now, just to ensure that things are sane. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-15T01:37:00.693096Z K 7 svn:log V 226 Fix the Atheros MIPS startup path a little. * Print out the platform frequency the same as the other frequencies. * Print out the MDIO frequency. * Optionally do GMAC and ethernet switch setup if required. Tested: * AR9344 END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T02:07:29.434436Z K 7 svn:log V 90 Add executable bit to docsinstall [old] and entropy [new] scripts. Approved by: re (gjb) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-15T03:23:08.958799Z K 7 svn:log V 297 Update the AR933x SoC support to include a few new knobs: * Initialise the MDIO clock to default to the reference clock; * Add some code to allow the hints mechanism to allow setup of the GMAC config block. * Document how the switch is wired up internally. Tested: * AR9331 SoC (Carambola 2) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-15T03:28:32.366151Z K 7 svn:log V 517 Update the AR934x SoC support. * Add the MDIO clock probe during clock initialisation; * Update the ethernet PLL configuration function to use the correct values; * Add a GMAC block configuration to pull the configuration out of hints; * Add an ethernet switch reconfiguration method. Tested: * AR9344 SoC (DB120) .. however, this has been tested with extra patches in my tree (to fix the ethernet/MDIO support, SPI support, ethernet switch support) and thus it isn't enough to bring the full board support up. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-10-15T03:55:42.987293Z K 7 svn:log V 53 Add the long-missing spibus_if.m to the MFILES list. END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-10-15T04:32:06.121882Z K 7 svn:log V 158 Move DO_AST into pcb.h where it should have been all along. Move some common macros for saving/restoring registers into pcb.h as well. Reviewed by: jmallet@ END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-10-15T04:36:34.870789Z K 7 svn:log V 135 Move DO_AST into pcb.h where it should have been all along. Move some common macros for saving/restoring registers into pcb.h as well. END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-10-15T04:43:31.563668Z K 7 svn:log V 144 Replace uses of the ALEAF macro with XLEAF and remove ALEAF macro to try to unify the conventions used in our assembler. Reviewed by: jmallet@ END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-10-15T04:44:21.910293Z K 7 svn:log V 113 Replace NLEAF with LEAF_NOPROFILE to unify the conventions we use in our assembler files. Reviewed by: jmallet@ END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-10-15T04:45:09.703147Z K 7 svn:log V 100 Elminate NON_LEAF and use NESTED instead to unify our assembler conventions. Reviewed by: jmallet@ END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-10-15T04:54:49.515112Z K 7 svn:log V 125 - Fix "ifname|addr" syntax support in jail_{jname}_ip. - Create /var/run/jail_{jname}.id because ezjail-admin depends on it. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2013-10-15T05:50:02.744535Z K 7 svn:log V 40 Add support for Mercurial repositories. END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2013-10-15T06:23:54.015221Z K 7 svn:log V 102 Add new USB ID. PR: usb/182936 Submitted by: Keith White MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-15T06:28:11.191264Z K 7 svn:log V 152 Remove two instances of ARGSUSED comment, and wrap lines nearby the code that is to be changed. Sponsored by: The FreeBSD Foundation MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-15T06:33:10.308528Z K 7 svn:log V 263 Similar to debug.iosize_max_clamp sysctl, introduce devfs_iosize_max_clamp sysctl, which allows/disables SSIZE_MAX-sized i/o requests on the devfs files. Sponsored by: The FreeBSD Foundation Reminded by: Dmitry Sivachenko MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-15T06:35:22.648938Z K 7 svn:log V 196 By default, allow up to SSIZE_MAX i/o for non-devfs files. Sponsored by: The FreeBSD Foundation Reminded by: Dmitry Sivachenko MFC after: 1 month X-MFC-note: stable/10 only END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-15T06:38:40.916191Z K 7 svn:log V 278 Add a sysctl kern.disallow_high_osrel which disables executing the images compiled on the world with higher major version number than the high version number of the booted kernel. Default to disable. Sponsored by: The FreeBSD Foundation Discussed with: bapt MFC after: 1 week END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-10-15T07:35:39.024741Z K 7 svn:log V 53 Treat INADDR_NONE as uint32_t. Reviewed by: glebius END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-10-15T07:37:30.260435Z K 7 svn:log V 81 Use INADDR_NONE instead of -1 to check inet_addr() result. Reviewed by: glebius END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T08:04:25.450118Z K 7 svn:log V 49 Add scope zone id to the in_endpoints structure. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T08:20:20.962178Z K 7 svn:log V 257 It is possible, that many remote hosts have equal link-local addresses, but from different scope zones. Thus, they can have different tcp-specific metrics. Add ip6_zoneid field in addition to ip6 address to hc_metrics structure to be able handle this case. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T09:12:18.597087Z K 7 svn:log V 387 * Replace hardcoded number of scopes count with macro. * Simplify in6_addrscope() function. * Add several new scope related functions: in6_getlinkifnet() returns pointer to struct ifnet, corresponding to given link-local scope zone id. in6_getscopezone() returns zone id for given scope. sa6_checkzone() checks given sockaddr_in6 structure for correctness of sin6_scope_id field. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T09:21:05.389208Z K 7 svn:log V 53 Remove obtained, but never used data. Found by: gcc END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-10-15T09:29:36.167536Z K 7 svn:log V 64 Remove unsigned comparison < 0 Found by: LLVM Reviewed by: zbb END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T09:55:07.674806Z K 7 svn:log V 1421 Rewrite netstat/if.c to use getifaddrs(3) and getifmaddrs(3) instead of libkvm digging in kernel memory. This is possible since r231506 made getifaddrs(3) to supply if_data for each ifaddr. The pros of this change is that now netstat(1) doesn't know about kernel struct ifnet and struct ifaddr. And these structs are about to change significantly in head soon. New netstat binary will work well with 10.0 and any future kernel. The cons is that now it isn't possible to obtain interface statistics from a vmcore. Functions intpr() and sidewaysintpr() were rewritten from scratch. The output of netstat(1) has underwent the following changes: 1) The MTU is not printed for protocol addresses, since it has no notion. Dash is printed instead. If there would be a strong desire to return previous output, it is doable. 2) Output interface queue drops are not printed. Currently this data isn't available to userland via any API. We plan to drop 'struct ifqueue' from 'struct ifnet' very soon, so old kvm(3) access to queue drops is soon to be broken, too. The plan is that drivers would handle their queues theirselves and a new field in if_data would be updated in case of drops. 3) In-kernel reference count for multicast addresses isn't printed. I doubt that anyone used it. Anyway, netstat(1) is sysadmin tool, not kernel debugger. Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T10:01:15.247595Z K 7 svn:log V 100 Simplify tcp6_connect(). Also make in6_pcblookup_hash_locked() and in6_pcbladdr() functions static. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:05:37.236616Z K 7 svn:log V 282 - While we are spreading the counter(9) across network stack, more userland tools would need to know about the counter_u64_t type. Allow to include sys/counter.h from userspace. - Utilize now defined type in kvm_counter_u64_fetch(). Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:09:33.373159Z K 7 svn:log V 120 Now counter_u64_t is known to userland, thus remove hack from r253086. Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:11:23.842586Z K 7 svn:log V 72 Remove useless check of ia6 against NULL, right after dereferencing it. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:12:19.310181Z K 7 svn:log V 27 Remove unsigned < 0 check. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:19:24.151339Z K 7 svn:log V 221 Hide 'struct ifaddr' definition from userland. Two tools left that use it, namely ipftest(1) and ifmcstat(1). These sniff structure definition using _WANT_IFADDR define. Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:31:42.302305Z K 7 svn:log V 148 Remove ifa_init() and provide ifa_alloc() that will allocate and setup struct ifaddr internally. Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T10:37:50.338321Z K 7 svn:log V 52 Add zoneid argument to the in6_sockaddr() function. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:41:22.177895Z K 7 svn:log V 186 Remove ifa_mtx. It was used only in one place in kernel, and ifnet's ifaddr lock can substitute it there. Discussed with: melifaro, ae Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T10:43:26.514576Z K 7 svn:log V 63 Push some defines under _KERNEL, improve styling and comments. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T11:18:37.246260Z K 7 svn:log V 37 Constify argument of in6_addrhash(). END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T11:25:12.081649Z K 7 svn:log V 107 Add in6ifa_ifwithaddr() function. It is similar to ifa_ifwithaddr, but uses in6_addr hash for fast lookup. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T11:37:57.854975Z K 7 svn:log V 751 - Utilize counter(9) to accumulate statistics on interface addresses. Add four counters to struct ifaddr. This kills '+=' on a variables shared between processors for every packet. - Nuke struct if_data from struct ifaddr. - In ip_input() do not put a reference on ifaddr, instead update statistics right now in place and do IN_IFADDR_RUNLOCK(). These removes atomic(9) for every packet. [1] - To properly support NET_RT_IFLISTL sysctl used by getifaddrs(3), in rtsock.c fill if_data fields using counter_u64_fetch(). - Accidentially fix bug in COMPAT_32 version of NET_RT_IFLISTL, which took if_data not from the ifaddr, but from ifaddr's ifnet. [2] Submitted by: melifaro [1], pluknet[2] Sponsored by: Netflix Sponsored by: Nginx, Inc. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T12:02:05.685387Z K 7 svn:log V 213 Some cleanups in in6_pcbbind(): * remove register keyword; * sort variables declarations; * use sa6_checkzone() to check sockaddr_in6 structure; * use in6ifa_ifwithaddr() function; * remove sa6_embedscope() call. END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:28:24.149523Z K 7 svn:log V 190 o Rename bitblt method to bitbltchr, since it used to copy char with bg/fg colors from font table, but not bitmap copy. o Fix small mistake in comment. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:29:36.340888Z K 7 svn:log V 73 Rename bitblt method to bitbltchr. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:31:31.033289Z K 7 svn:log V 73 Rename bitblt method to bitbltchr. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:54:47.056098Z K 7 svn:log V 72 Add helper to generate color map. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:56:56.533059Z K 7 svn:log V 82 Enable vt_termcolors.c to build with vt(9). Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T12:58:41.309361Z K 7 svn:log V 63 Use generated color map. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-15T12:59:40.269215Z K 7 svn:log V 218 Unhide "Serial Number" lines from bootverbose. That information may be useful for system administration to have in hard copy (in logs) if one of several devices suddenly dies. Requested by: glebius MFC after: 1 week END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T13:07:24.948390Z K 7 svn:log V 96 Partially revert accidentally committed #if from r256528. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T13:18:39.491663Z K 7 svn:log V 63 Use generated color map. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T13:24:10.926279Z K 7 svn:log V 90 Don't forget to include colors/vt_termcolors.h too. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T13:32:01.752947Z K 7 svn:log V 181 Make getutxent(3) more robust against bad utx.log files. Whenever we read zeroes, don't stop processing the file, but read until its end or valid data. In collaboration with: ed END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-10-15T13:45:37.796298Z K 7 svn:log V 85 Swap Red and Blue (too much red in dialog(1)). Sponsored by: The FreeBSD Foundation END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T13:53:35.529577Z K 7 svn:log V 72 Revert r256514 for libkvm. It wasn't correct actually and breaks build. END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T14:18:15.158793Z K 7 svn:log V 419 gjb writes: when doing encrypted zfs install, loader.conf should be updated so bootpool is imported after boot: zpool_cache_load="YES" zpool_cache_type="/boot/zfs/zpool.cache" zpool_cache_name="/boot/zfs/zpool.cache" otherwise /boot is a broken symlink after the system is up. http://lists.freebsd.org/pipermail/freebsd-fs/2013-July/017891.html NOTE: Fix a comment while here. Reviewed by: gjb END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T14:46:37.973779Z K 7 svn:log V 76 Document BSDINSTALL_TMPBOOT environment variable introduced by SVN r256343. END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-10-15T14:52:44.872697Z K 7 svn:log V 152 Move the PMC handling to the first level interrupt handler where it belongs. Also add the pmc_hook use, to handle callchain tracing. MFC after: 1 week END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-10-15T15:00:29.843379Z K 7 svn:log V 204 Add fasttrap for PowerPC. This is the last piece of the dtrace/ppc puzzle. It's incomplete, it doesn't contain full instruction emulation, but it should be sufficient for most cases. MFC after: 1 month END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T15:00:53.537359Z K 7 svn:log V 68 Fix SVN r256540: s/TMPETC/TMPBOOT/ for loader.conf(5) GELI entries. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T15:43:29.009019Z K 7 svn:log V 42 More unfinished stuff on synchronisation. END K 10 svn:author V 6 alfred K 8 svn:date V 27 2013-10-15T15:50:43.559007Z K 7 svn:log V 117 Fix __free_pages() in the linux shim. __free_pages() is actaully supposed to take a "struct page *" not an address. END K 10 svn:author V 3 smh K 8 svn:date V 27 2013-10-15T17:03:02.455673Z K 7 svn:log V 46 Added 4K quirks for Corsair Neutron GTX SSD's END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2013-10-15T17:11:13.551037Z K 7 svn:log V 260 Correct programming of XXX_MAXP register. This register is 16-bit wide and not 8-bit. Fix support for isochronous transfers in USB host mode. Fix a whitespace while at it. MFC after: 1 week Reported by: SAITOU Toshihide PR: usb/181987 END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T17:33:30.311087Z K 7 svn:log V 68 Man page updates to go along with SVN r256343, introducing zfsboot. END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-10-15T17:44:35.323903Z K 7 svn:log V 220 Improve locking model used to protect netgraph topology: use rwlocks instead of mutexes on node traversal. Reviewed by: glebius Tested by: Eugene Grosbein MFC after: 2 weeks Sponsored by: Yandex LLC END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T17:52:44.808441Z K 7 svn:log V 53 Bump .Dd date (should have been part of SVN r256549) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-15T17:59:41.744367Z K 7 svn:log V 169 Unify periph invalidation and destruction reporting. Print message containing device model and serial number on invalidation. Requested by: glebius MFC after: 1 week END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-15T18:06:33.153142Z K 7 svn:log V 626 Make ZFSBOOT_BEROOT_NAME be ROOT by default. This is what sysutils/beadm and OpenSolaris/Illumos beadm use. Remove /usr/local and /var/db/pkg datasets. Andriy Gapon writes: I want to note that a good implementation of BEs should support a dependent datasets feature. Unfortunately, it seems that we do not have any good BE implementation for FreeBSD right now. If we had, personally I'd prefer to have /usr/local in separate filesystem. NOTE: Until then, remove these datasets. Discussed on: src-committers Submitted by: Bryan Drewery Reviewed by: Allan Jude MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-15T18:07:23.814817Z K 7 svn:log V 14 MFC @ r256552 END K 10 svn:author V 8 andreast K 8 svn:date V 27 2013-10-15T18:59:32.584213Z K 7 svn:log V 479 Move the resource allocation from the ata_*_probe section to the ata_*_attach section. This prevents a boot crash on nearly all iMacs and PowerMacs/Books. The allocation in the probe section was working before because ata_probe was returning 0 which did not invoke a second DEVICE_PROBE. Now it returns a BUS_PROBE_DEFAULT which can invoke a second DEVICE_PROBE which results in a "failed to reserve resource" exit. PR: powerpc/182978 Discussed with: grehan@ MFC after: 1 Week END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2013-10-15T20:21:27.693168Z K 7 svn:log V 191 Remove a buggy comparision when setting manually the path MTU. After fixing, the comparision would have become redundant. Thanks to Andrew Galante for reporting the issue. MFC after: 3 days END K 10 svn:author V 5 peter K 8 svn:date V 27 2013-10-15T20:57:40.131695Z K 7 svn:log V 294 Add -K (__FreeBSD_version of kernel) and -U (__FreeBSD_version of userland). Things like Makefile.inc1 resort to parsing /usr/include/osreldate.h with awk because this isn't easily available by other means. The separation of user and kernel versions is important for jail/chroot environments. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-10-15T21:00:30.808542Z K 7 svn:log V 56 Turn releng/9.2 over to secteam. Approved by: re (gjb) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-15T21:02:02.420497Z K 7 svn:log V 41 Assert proper lock in newly MFC'ed code. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-15T21:04:18.217321Z K 7 svn:log V 382 Introduce THREAD_CAN_SLEEP() to check whether current thread is allowed to sleep by checking ((curthread)->td_no_sleeping == 0). Use that to find out whether GEOM and classes code can sleep. Previous check for one of GEOM threads was insufficient because request can be sent from other unrelated request bio_done() method called at interrupt thread, where sleeping is prohibited. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-10-15T21:04:46.306443Z K 7 svn:log V 84 Prevent an unlikely, but real double free issue in gvinum(8). Coverity ID: 1018965 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-10-15T21:08:37.044186Z K 7 svn:log V 302 MFC 256293: Sanitize the %eflags returned by BIOS routines. Some BIOS routines enter protected mode and may leave protected-mode-specific flags like PSL_NT set when they return to real mode. This can cause a fault when BTX re-enters protected mode after the BIOS mode returns. Approved by: re (gjb) END K 10 svn:author V 4 emax K 8 svn:date V 27 2013-10-15T21:28:51.906928Z K 7 svn:log V 201 In the flowtable scanner, restart the scan at the last found position, not at position 0. Changes the scanner from O(N^2) to O(N). Submitted by: scottl Obtained from: Netflix, Inc MFC after: 3 weeks END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T23:19:28.721987Z K 7 svn:log V 66 Initialize zoneid if src or dst address is from link-local scope. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T23:24:45.472130Z K 7 svn:log V 19 Initialize zoneid. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-15T23:25:06.796647Z K 7 svn:log V 25 More on synchronisation. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T23:28:13.301963Z K 7 svn:log V 34 Properly initialie sin6_scope_id. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T23:31:08.424030Z K 7 svn:log V 68 Add XXX comment to handle sending to/from link-local address later. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-15T23:56:31.428027Z K 7 svn:log V 60 Add scope zone id argument to in6_pcblookup_local function. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-10-16T00:58:47.900890Z K 7 svn:log V 302 Fix the witness warning that warned against calling uiomove() while holding the 'vmmdev_mtx' in vmmdev_rw(). Rely on the 'si_threadcount' accounting to ensure that we never destroy the VM device node while it has operations in progress (e.g. ioctl, mmap etc). Reported by: grehan Reviewed by: grehan END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-10-16T01:39:26.279995Z K 7 svn:log V 905 Add a function, memstr, which can be used to convert a buffer of null-separated strings to a single string. This can be used to print the full arguments of a process using execsnoop (from the DTrace toolkit) or with the following one-liner: dtrace -n 'syscall::execve:return {trace(curpsinfo->pr_psargs);}' Note that this relies on the process arguments being cached via the struct proc, which means that it will not work for argvs longer than kern.ps_arg_cache_limit. However, the following rather non-portable script can be used to extract any argv at exec time: fbt::kern_execve:entry { printf("%s", memstr(args[1]->begin_argv, ' ', args[1]->begin_envv - args[1]->begin_argv)); } The debug.dtrace.memstr_max sysctl limits the maximum argument size to memstr(). Thanks to Brendan Gregg for helpful comments on freebsd-dtrace. Tested by: Fabian Keil (earlier version) MFC after: 2 weeks END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T02:10:35.181186Z K 7 svn:log V 215 Add bus space barriers to the AR71xx SPI code. This is required for correct, stable operation on the MIPS74k SoCs that are dual-issue, superscalar pipelines. Tested: * AR9344 SoC (MIPS74k) * AR9331 SoC (MIPS24k) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T02:46:00.964501Z K 7 svn:log V 321 Add in a write barrier after each if_arge write. Without correct barriers, this code just plain doesn't work on the mips74k cores (specifically the AR9344.) In particular, the MDIO register accesses need this barriering or MII bus access results in out-of-order garbage. Tested: * AR9344 (mips74k) * AR9331 (mips24k) END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-10-16T02:55:31.543478Z K 7 svn:log V 88 Fix logic error. MPPE only accepts protocol numbers 0x21 through 0xFA. PR: bin/175974 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T03:11:18.061483Z K 7 svn:log V 594 Add in the platform specific quirks to get the AR934x SoC ethernet up and running. * The MAC FIFO configurations needed updating; * Reset the MDIO block at the same time the MAC block is reset; * The default divisor needs changing as the DB120 runs at a higher base MDIO bus clock compared to other chips. The long-term fix is to allow the system to have a target MDIO bus clock rate and then calculate the most suitable divider to meet that. This will likely need implementing before stable external PHY or switch support can be committed. Tested: * AR9344 (mips74k) * AR9331 (mips24k) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T03:15:52.231275Z K 7 svn:log V 271 Initial commit of AR9340 switch SoC support. This is just the chip initialisation code (for now.) It's not linked into the main build as it requires a bunch of other code to be tidied up and committed. But it indeed does function as advertised. Tested: * AR9344 SoC END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T03:19:05.211700Z K 7 svn:log V 572 Prepare to link in the AR934x SoC switch support. * Add an AR9340 switch version entry; * Support the switch being connected via MII; * Add a flag to note that a switch is actually an internal switch rather than an external switch. Now: * The ar9340 switch can interconnect via MII; * Since some slightly different phy/switch register access methods and quirks appear for the internal versus external switch, we will need a flag to mark it as an "internal" switch. Tested: * AR9344 (internal switch) * AR9331 (internal switch) TODO: * Test the AR8316 switch! END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-10-16T03:37:02.865930Z K 7 svn:log V 71 Fix an inverted check for the master user in "camcontrol security -U". END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-10-16T03:37:22.979656Z K 7 svn:log V 71 Fix an inverted check for the master user in "camcontrol security -U". END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-10-16T04:10:28.580946Z K 7 svn:log V 40 Add AR9340 switch support to the build. END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-10-16T04:11:42.487537Z K 7 svn:log V 62 Fix the Wii build, and remove an extraneous critical_enter(). END