{"push_id":601234403,"size":41,"distinct_size":9,"ref":"refs/heads/old_iscsi","head":"c12179fddab6892d824a84d68410003399c672b0","before":"9a8ad7445604ce27f2db009081bac7fda37d9da6","commits":[{"sha":"19ea3d25df99995d2e62592cd6bc74f883f0e8e0","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Use zio buffers in zil_itx_create()\n\nThe zil_itx_create() function uses the vmem_alloc() allocator for\nits buffers because when logging a write that buffer may be as large\nas 64K.  This is non-optimal because we may need to allocate many of\nof these buffers and this interface has the potential to be slow.\nInstead, use zio_data_buf_alloc() which is specifically designed to\nbe able to efficiently allocate a wide range of buffer sizes.\n\nIn addition, do some cleanup and use the zil_itx_destroy() function\nto always free an itx structure.  This way we're always sure the\nright allocation functions are used.  Notice that in the current\ncode kmem_free() and vmem_free() were both used.  This happened to\nwork because these wrappers map to the same internal SPL function.\n\nThis was identified as a potential problem when a low-end memory\nconstrained system began logging the following warnings.  There\nwas no deadlock here just repeated allocation failures resulting\nin increased latency.\n\nPossible memory allocation deadlock: size=65792 lflags=0x42d0\nPid: 20118, comm: kvm Tainted: P           O 3.2.0-0.bpo.4-amd64\nCall Trace:\n [<ffffffffa040b834>] ? spl_kmem_alloc_impl+0x115/0x127 [spl]\n [<ffffffffa040b84f>] ? spl_kmem_alloc_debug+0x9/0x36 [spl]\n [<ffffffffa05d8a0b>] ? zil_itx_create+0x2d/0x59 [zfs]\n [<ffffffffa05c71e6>] ? zfs_log_write+0x13a/0x2f0 [zfs]\n [<ffffffffa05d41bc>] ? zfs_write+0x85b/0x9bb [zfs]\n [<ffffffffa05e37ec>] ? zpl_aio_write+0xca/0x110 [zfs]\n [<ffffffff811088e5>] ? do_sync_readv_writev+0xa3/0xde\n [<ffffffff81108f41>] ? do_readv_writev+0xaf/0x125\n [<ffffffff81109055>] ? sys_pwritev+0x55/0x9a\n [<ffffffff813721d2>] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nCloses #3059","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/19ea3d25df99995d2e62592cd6bc74f883f0e8e0"},{"sha":"037763e44e0f6d7284e9328db988a89fdc975a4e","author":{"email":"97e77871b5fcc4941bebceb4338c97c1fd149f8c@FreeBSD.org","name":"avg"},"message":"fix l2arc compression buffers leak\n\nCommit log from FreeBSD:\n\n    We have observed that arc_release() can be called concurrently with a\n    l2arc in-flight write.  Also, we have observed that arc_hdr_destroy()\n    can be called from arc_write_done() for a zio with ZIO_FLAG_IO_REWRITE\n    flag in similar circumstances.\n\n    Previously the l2arc headers would be freed while leaking their\n    associated compression buffers.  Now the buffers are placed on\n    l2arc_free_on_write list for delayed freeing.  This is similar to\n    what was already done to arc buffers that were supposed to be freed\n    concurrently with in-flight writes of those buffers.\n\n    In addition to fixing the discovered leaks this change also adds\n    some protective code to assert that a compression buffer associated\n    with a l2arc header is never leaked.\n\n    A new kstat l2_cdata_free_on_write is added.  It keeps a count\n    of delayed compression buffer frees which previously would have\n    been leaks.\n\n    Tested by:  Vitalij Satanivskij <satan@ukr.net> et al\n    Requested by:       many\n    MFC after:  2 weeks\n    Sponsored by:       HybridCluster / ClusterHQ\n\nReferences:\n    https://illumos.org/issues/5222\n    https://github.com/freebsd/freebsd/commit/b98f85d\n    http://thread.gmane.org/gmane.os.freebsd.current/155757/focus=155781\n    http://lists.open-zfs.org/pipermail/developer/2014-January/000455.html\n    http://lists.open-zfs.org/pipermail/developer/2014-February/000523.html\n\nPorted-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3029","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/037763e44e0f6d7284e9328db988a89fdc975a4e"},{"sha":"aa2ef419e46b3ad7c2ad8848b7a308a5a949aba7","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@chase2k.com","name":"Tim Chase"},"message":"Spurious ENOMEM returns when reading dbufs kstat\n\nCommit 7b2d78a046aa4695d434478a439a9438521d73af fixed some improper uses\nof snprintf(), however, in __dbuf_stats_hash_table_data() the return\nvalue of snprintf is propagated to the caller.  This caused spurious\nENOMEM errors when reading the dbufs kstat.\n\nThis commit causes the actual number of characters written to be returned.\n\nSigned-off-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3072","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/aa2ef419e46b3ad7c2ad8848b7a308a5a949aba7"},{"sha":"53698a453d1cc318f99477fef596c476b4b0cb47","author":{"email":"1d34d2e6c70ee806ecb1ebb590a2bf31fd995e1f@gmail.com","name":"Chunwei Chen"},"message":"Read spl_hostid module parameter before gethostid()\n\nIf spl_hostid is set via module parameter, it's likely different from\ngethostid(). Therefore, the userspace tool should read it first before\nfalling back to gethostid().\n\nSigned-off-by: Chunwei Chen <tuxoko@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3034","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/53698a453d1cc318f99477fef596c476b4b0cb47"},{"sha":"aa506dcb3d2ec4a26d0e20854fa0bf370738a422","author":{"email":"1d34d2e6c70ee806ecb1ebb590a2bf31fd995e1f@gmail.com","name":"Chunwei Chen"},"message":"Fix build error when make deb\n\nAfter 53698a4, the following error occurs when make deb.\n\n  CCLD     zed\n../../lib/libzfs/.libs/libzfs.so: undefined reference to `get_system_hostid'\n\nAdd libzpool.la to zed/Makefile.am to fix this\n\nSigned-off-by: Chunwei Chen <tuxoko@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3080","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/aa506dcb3d2ec4a26d0e20854fa0bf370738a422"},{"sha":"e2c4acde55931ae58d5bf5fd394567a96e942a5c","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Skip evicting dbufs when walking the dbuf hash\n\nWhen a dbuf is in the DB_EVICTING state it may no longer be on the\ndn_dbufs list.  In which case it's unsafe to call DB_DNODE_ENTER.\nTherefore, any dbuf which is found in this safe must be skipped.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #2553\nCloses #2495","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/e2c4acde55931ae58d5bf5fd394567a96e942a5c"},{"sha":"a62d1b02e372e63862cee276185f2763f641ff10","author":{"email":"b8c8dd8f747f1a510525ee56a3584fdc28e4c351@llnl.gov","name":"Ned Bass"},"message":"Fix SA header size accounting\n\nThe functions sa_find_sizes() and sa_build_layout() fail to account\nfor the additional 2 bytes of SA header space when calculating whether\na variable size attribute might spill over. They may consequently\ndetermine that an attribute will fit in the bonus buffer along with a\nspill block pointer, when in reality the attribute would be partially\noverwritten by the spill block pointer if spill over occurs. This also\ncauses an inconsistency between the SA header size and the number of\nvariable size attributes in the layout, tripping an assertion when\ndebugging is on. The following reproducer demonstrates the problem.\n\n  ln -s $(perl -e 'print \"z\" x 20') file\n  setfattr -h -n trusted.foo -v $(perl -e 'print \"z\" x 200') file\n\nEven though sa_find_sizes() computes the index of the attribute where\nspill-over will occur, sa_build_layouts() discards the result and\nrecomputes it itself. As it turns out, both functions get it wrong.\nSince this computation is awkward and, as history has shown, easy to\nscrew up, let's just do it in one place. This patch fixes the bug in\nsa_find_sizes() and updates sa_build_layout() to use the result\ncomputed there.\n\nAlso improve the comments in sa_find_sizes().\n\nSigned-off-by: Ned Bass <bass6@llnl.gov>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Tim Chase <tim@chase2k.com>\nCloses #3070","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/a62d1b02e372e63862cee276185f2763f641ff10"},{"sha":"33b4de513ee81c2a87e1b954a9544a5eec1f8f94","author":{"email":"f5841c5d1b66a202b1ac283c207fda35c9d57afa@spectralogic.com","name":"Justin T. Gibbs"},"message":"Illumos 5311 - traverse_dnode may report success when it should not\n\n5311 traverse_dnode may report success when it should not\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Andriy Gapon <avg@FreeBSD.org>\nReviewed by: Will Andrews <willa@spectralogic.com>\nApproved by: Dan McDonald <danmcd@omniti.com>\n\nReferences:\n  https://github.com/illumos/illumos-gate/commit/2a89c2c\n  https://www.illumos.org/issues/5311\n\nPorted by: DHE <git@dehacked.net>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #2970","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/33b4de513ee81c2a87e1b954a9544a5eec1f8f94"},{"sha":"293d141ae4f6b2345249020b656cfc0ce007b9fa","author":{"email":"65adda4326914576405c9e3a62f4904d96573863@wunner.de","name":"Lukas Wunner"},"message":"Fix loop in Dracut shutdown script\n\nThe shell executes each command of a pipeline in a subshell,\nthus $ret always had the same value after the while loop that\nit had before the loop (http://mywiki.wooledge.org/BashFAQ/024),\nsignaling success even if some of the zpools could not be exported.\n\nSigned-off-by: Lukas Wunner <lukas@wunner.de>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3083","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/293d141ae4f6b2345249020b656cfc0ce007b9fa"},{"sha":"bf5efb5c66ac30442bded92c3299db36fe21d92f","author":{"email":"65adda4326914576405c9e3a62f4904d96573863@wunner.de","name":"Lukas Wunner"},"message":"Fix Dracut scripts to allow for blanks in pool and dataset names\n\nThe ability to use blanks is documented in zpool(8) and implemented\nin module/zcommon/zfs_namecheck.c:valid_char().\n\nSigned-off-by: Lukas Wunner <lukas@wunner.de>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3083","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/bf5efb5c66ac30442bded92c3299db36fe21d92f"},{"sha":"7fc8c33ede10f7104ca0e91d690d3ebb5236887b","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Don't read space maps during import for readonly pools\n\nNormally when importing a pool the space maps for all top level\nvdevs are read from disk.  The space maps will be required latter\nwhen an allocation is performed and free blocks need to be located.\n\nHowever, if the pool is imported readonly then we are guaranteed\nthat no allocations can occur.  In this case the space maps need\nnot be loaded..   A similar argument can be made for the DTLs\n(dirty time logs).\n\nBecause a pool import will fail if the space maps cannot be read.\nThe ability to safely ignore them makes it more likely that a\ndamaged pool can be imported readonly to recover its contents.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nIssue #2831","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/7fc8c33ede10f7104ca0e91d690d3ebb5236887b"},{"sha":"e890dd85a7522730ad46daf68150aafd3952d0c1","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@chase2k.com","name":"Tim Chase"},"message":"Produce a full snapshot list for zfs send -p\n\nIn order to accelerate zfs receive operations in the face of many\nproperty-containing snapshots, commit 0574855 changed the header nvlist\n(\"fss\") of a send stream to exclude snapshots which aren't part of the\nstream.  This, however, would cause zfs receive -F to erroneously remove\nsnapshots; it would remove any snapshot which wasn't listed in the header\nnvlist.\n\nThis patch restores the full list of snapshots in fss[<id>[snaps]] but\nstill suppresses the properties of non-sent snapshots and also removes a\nconsistency check in which an error is raised if a listed snapshot does\nnot have any properties in fss[<id>[snapprops]].\n\nThe 0574855 commit also introduced a bug in which zfs send -p of a\ncomplete stream (zfs send -p pool/fs@snap) would exclude the snapshot\nproperties in fss[<id>[snapprops]].  This patch detects the last snapshot\nin a series when no \"from\" snapshot has been specified and includes its\nproperties.\n\nSigned-off-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #2907","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/e890dd85a7522730ad46daf68150aafd3952d0c1"},{"sha":"afe373260ebf96ca5482b9ccbcef5915c47d18f7","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Revert \"Don't read space maps during import for readonly pools\"\n\nThis reverts commit 7fc8c33ede10f7104ca0e91d690d3ebb5236887b which\naccidentally introduced a ztest failure.\n\nztest: '/usr/sbin/zdb -bcc -d -U /var/tmp/zpool.cache ztest' exit code 2\nchild exited with code 3\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/afe373260ebf96ca5482b9ccbcef5915c47d18f7"},{"sha":"77aef6f60ea29f6d3769addc778db6328ac85755","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Use vmem_alloc() for nvlists\n\nSeveral of the nvlist functions may perform allocations larger than\nthe 32k warning threshold.  Convert them to use vmem_alloc() so the\nbest allocator is used.\n\nCommit efcd79a retired KM_NODEBUG which was used to suppress large\nallocation warnings.  Concurrently the large allocation warning threshold\nwas increased from 8k to 32k.  The goal was to identify the remaining\nlocations, such as this one, where the allocation can be larger than\n32k.  This patch is expected fine tuning resulting for the kmem-rework\nchanges, see commit 6e9710f.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3057\nCloses #3079\nCloses #3081","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/77aef6f60ea29f6d3769addc778db6328ac85755"},{"sha":"534759fad30ca55608bcd42a0af5a87c8c4feb36","author":{"email":"f49f2a5e660787beb1d0033eaaa9f0d533955c60@higgsboson.tk","name":"Jörg Thalheim"},"message":"Linux 3.19 compat: file_inode was added\n\nstruct access f->f_dentry->d_inode was replaced by accessor function\nfile_inode(f)\n\nSigned-off-by: Joerg Thalheim <joerg@higgsboson.tk>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3084","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/534759fad30ca55608bcd42a0af5a87c8c4feb36"},{"sha":"6442f3cfe3454b458456823fff49a14bf0badf65","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Retire zio_bulk_flags\n\nLong ago the zio_bulk_flags module parameter was introduced to\nfacilitate debugging and profiling the zio_buf_caches.  Today\nthis code works well and there's no compelling reason to keep\nthis functionality.  In fact it's preferable to revert this so\nthe code is more consistent with other ZFS implementations.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Ned Bass <bass6@llnl.gov>\nIssue #3063","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/6442f3cfe3454b458456823fff49a14bf0badf65"},{"sha":"3941503c0a26467fc4da63d4ee190c96edd8d0fd","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Retire zio_cons()/zio_dest()\n\nThe zio_cons() constructor and zio_dest() destructor don't exist\nin the upstream Illumos code.  They were introduced as a workaround\nto avoid issue #2523.  Since this issue has now been resolved this\ncode is being reverted to bring ZoL back in sync with Illumos.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Ned Bass <bass6@llnl.gov>\nIssue #3063","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/3941503c0a26467fc4da63d4ee190c96edd8d0fd"},{"sha":"5f15fa22167ff665d0db0159551eb90759683984","author":{"email":"3b55b1b4fdd6c57a0901678680641ec226477e5a@gmail.com","name":"Andrey Vesnovaty"},"message":"Fix readdir for .zfs/snapshot directory\n\ndmu_snapshot_list_next stores the index of the next snapshot entry to the offp\nargument, which zpl_snapdir_iterate then uses for the dir_emit. This\nresult in an off-by-one error. Therefore a temporary variable should be\nused.\n\nThis was a regression introduced in commit zfsonlinux/zfs@0f37d0c.\n\nSigned-off-by: Andrey Vesnovaty <andrey.vesnovaty@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #2930","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/5f15fa22167ff665d0db0159551eb90759683984"},{"sha":"340dfbe193193be6a3d301d8111de232cd537ddd","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Change VERIFY to ASSERT in mutex_destroy()\n\nThere have been multiple reports of 'zdb' tripping the VERIFY in\nmutex_destroy() because pthread_mutex_destroy() returns EBUSY.\n\nExactly how this can happen still needs to be explained, but this\ndoesn't strictly need to be fatal for non-debug builds.  Therefore,\nthis patch converts the VERIFY to an ASSERT until the root cause\nis determined and resolved.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nIssue #2027","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/340dfbe193193be6a3d301d8111de232cd537ddd"},{"sha":"e02b533e746403743297020591e4b80d614a3aae","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@chase2k.com","name":"Tim Chase"},"message":"Enhancements to zpool dry run mode.\n\nIn dry run mode, zpool should display more of the proposed pool\nconfiguration for \"zpool add\".  This commit adds support for displaying\ncache devices.\n\nSigned-off-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nIssue #1106","distinct":false,"url":"https://api.github.com/repos/FransUrbo/zfs/commits/e02b533e746403743297020591e4b80d614a3aae"}]}