{"push_id":1448794594,"size":53,"distinct_size":53,"ref":"refs/heads/knight-rebase","head":"443e88087b7fa6a3cd60146ec94fb951437ebaa1","before":"6294609e953f9e62ec2052a0d287d7d3d27617a6","commits":[{"sha":"544f76fd1b1d726b7dd862e8fe888895fb068018","author":{"name":"Paul Dagnelie","email":"041b8ff5a0ffe33d20117fb4b6f8e23d9f40eda1@delphix.com"},"message":"7402 Create tunable to ignore hole_birth feature\n\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\n\nUntil we can resolve the numerous hole_birth bugs that have cropped up\nrecently, and come up with a way going forwards to protect users from\ncorruption, we should disable the hole_birth feature.  Using a tunable\nallows those who are confident that their data is correct to continue to\ntake advantage of the feature.\n\nPorting-Notes:\n\nAdded to kstat as well, to be able to modify tunable without recompiling.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/544f76fd1b1d726b7dd862e8fe888895fb068018"},{"sha":"6e93372397f0984bb41bf5e283ad0ad909ed6517","author":{"name":"Matthew Ahrens","email":"c3217903275eb70d77b105cafabd67c5f3d5455c@delphix.com"},"message":"6988 spa_sync() spends half its time in dmu_objset_do_userquota_updates\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Steve Gonczi <steve.gonczi@delphix.com>\nReviewed by: Ned Bass <bass6@llnl.gov>\nReviewed by: Jinshan Xiong <jinshan.xiong@intel.com>\n\nUsing a benchmark which creates 2 million files in one TXG, I observe\nthat the thread running spa_sync() is on CPU almost the entire time we\nare syncing, and therefore can be a performance bottleneck. About 50% of\nthe time in spa_sync() is in dmu_objset_do_userquota_updates().\n\nThe problem is that dmu_objset_do_userquota_updates() calls\nzap_increment_int(DMU_USERUSED_OBJECT) once for every file that was\nmodified (or created). In this benchmark, all the files are owned by the\nsame user/group, so all 2 million calls to zap_increment_int() are\nmodifying the same entry in the zap. The same issue exists for the\nDMU_GROUPUSED_OBJECT.\n\nWe should keep an in-memory map from user to space delta while we are\nsyncing, and when we finish, iterate over the in-memory map and modify\nthe ZAP once per entry. This reduces the number of calls to\nzap_increment_int() from \"number of objects modified\" to \"number of\nowners/groups of modified files\".\n\nThis reduced the time spent in spa_sync() in the file create benchmark\nby ~33%, from 11 seconds to 7 seconds.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/6e93372397f0984bb41bf5e283ad0ad909ed6517"},{"sha":"78222311f4cf92e913a3132e36116ac69b7e849d","author":{"name":"Alek Pinchuk","email":"efd3b0258061da510dc884d6070e8b06a05525e7@nexenta.com"},"message":"7301 zpool export -f should be able to interrupt file freeing\n\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>\nReviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>\nReviewed by: John Kennedy <john.kennedy@delphix.com>","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/78222311f4cf92e913a3132e36116ac69b7e849d"},{"sha":"d16ba0149d6c20d7a16c084b7d75ba74e6153255","author":{"name":"Brendon Humphrey","email":"fbc49bc0e77fc903b8f183fd0ec4b681a5647ce8@mac.com"},"message":"Don't allow pools to use swap or hibernation files\n\nMaintain the libdiskmgt abstraction from illumos, and make it as similar\nas possible.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/d16ba0149d6c20d7a16c084b7d75ba74e6153255"},{"sha":"285c40811faec3915c54bf9849f66e4bcd4f8f32","author":{"name":"JMoVS","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@justinscholz.de"},"message":"fix git describe (#522)","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/285c40811faec3915c54bf9849f66e4bcd4f8f32"},{"sha":"cb1a4305602a563fdb03ec9fb71f157de62d3931","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Compile fixes for 10.8","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/cb1a4305602a563fdb03ec9fb71f157de62d3931"},{"sha":"35a535b727c4ec58a40c62afac3dc3bfce9592b1","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Fix memleak in vdev_config_generate_stats\n\nfnvlist_add_nvlist will copy the contents of nvx, so we need to\nfree it here.\n\nunreferenced object 0xffff8800a6934e80 (size 64):\n  comm \"zpool\", pid 3398, jiffies 4295007406 (age 214.180s)\n  hex dump (first 32 bytes):\n    60 06 c2 73 00 88 ff ff 00 7c 8c 73 00 88 ff ff  `..s.....|.s....\n    00 00 00 00 00 00 00 00 40 b0 70 c0 ff ff ff ff  ........@.p.....\n  backtrace:\n    [<ffffffff81810c4e>] kmemleak_alloc+0x4e/0xb0\n    [<ffffffff811fac7d>] __kmalloc_node+0x17d/0x310\n    [<ffffffffc065528c>] spl_kmem_alloc_impl+0xac/0x180 [spl]\n    [<ffffffffc0657379>] spl_vmem_alloc+0x19/0x20 [spl]\n    [<ffffffffc07056cf>] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]\n    [<ffffffffc07006b7>] nvlist_xalloc.part.13+0x27/0xc0 [znvpair]\n    [<ffffffffc07007ad>] nvlist_alloc+0x3d/0x40 [znvpair]\n    [<ffffffffc0703abc>] fnvlist_alloc+0x2c/0x80 [znvpair]\n    [<ffffffffc07b1783>] vdev_config_generate_stats+0x83/0x370 [zfs]\n    [<ffffffffc07b1f53>] vdev_config_generate+0x4e3/0x650 [zfs]\n    [<ffffffffc07996db>] spa_config_generate+0x20b/0x4b0 [zfs]\n    [<ffffffffc0794f64>] spa_tryimport+0xc4/0x430 [zfs]\n    [<ffffffffc07d11d8>] zfs_ioc_pool_tryimport+0x68/0x110 [zfs]\n    [<ffffffffc07d4fc6>] zfsdev_ioctl+0x646/0x7a0 [zfs]\n    [<ffffffff81232e31>] do_vfs_ioctl+0xa1/0x5b0\n    [<ffffffff812333b9>] SyS_ioctl+0x79/0x90\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>\nSigned-off-by: Tony Hutter <hutter2@llnl.gov>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/35a535b727c4ec58a40c62afac3dc3bfce9592b1"},{"sha":"adddf821f701cac0f878a25e68d43784a20bdbea","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Fix memleak in vdev_config_generate_stats\n\nfnvlist_add_nvlist will copy the contents of nvx, so we need to\nfree it here.\n\nunreferenced object 0xffff8800a6934e80 (size 64):\n  comm \"zpool\", pid 3398, jiffies 4295007406 (age 214.180s)\n  hex dump (first 32 bytes):\n    60 06 c2 73 00 88 ff ff 00 7c 8c 73 00 88 ff ff  `..s.....|.s....\n    00 00 00 00 00 00 00 00 40 b0 70 c0 ff ff ff ff  ........@.p.....\n  backtrace:\n    [<ffffffff81810c4e>] kmemleak_alloc+0x4e/0xb0\n    [<ffffffff811fac7d>] __kmalloc_node+0x17d/0x310\n    [<ffffffffc065528c>] spl_kmem_alloc_impl+0xac/0x180 [spl]\n    [<ffffffffc0657379>] spl_vmem_alloc+0x19/0x20 [spl]\n    [<ffffffffc07056cf>] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]\n    [<ffffffffc07006b7>] nvlist_xalloc.part.13+0x27/0xc0 [znvpair]\n    [<ffffffffc07007ad>] nvlist_alloc+0x3d/0x40 [znvpair]\n    [<ffffffffc0703abc>] fnvlist_alloc+0x2c/0x80 [znvpair]\n    [<ffffffffc07b1783>] vdev_config_generate_stats+0x83/0x370 [zfs]\n    [<ffffffffc07b1f53>] vdev_config_generate+0x4e3/0x650 [zfs]\n    [<ffffffffc07996db>] spa_config_generate+0x20b/0x4b0 [zfs]\n    [<ffffffffc0794f64>] spa_tryimport+0xc4/0x430 [zfs]\n    [<ffffffffc07d11d8>] zfs_ioc_pool_tryimport+0x68/0x110 [zfs]\n    [<ffffffffc07d4fc6>] zfsdev_ioctl+0x646/0x7a0 [zfs]\n    [<ffffffff81232e31>] do_vfs_ioctl+0xa1/0x5b0\n    [<ffffffff812333b9>] SyS_ioctl+0x79/0x90\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>\nSigned-off-by: Tony Hutter <hutter2@llnl.gov>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #4707\nIssue #4708","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/adddf821f701cac0f878a25e68d43784a20bdbea"},{"sha":"ece6d0970902b0cdcdf4ac1829479c93c9042cd3","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Stop panic in VFS_ROOT and deadlock in zvol_close_impl","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/ece6d0970902b0cdcdf4ac1829479c93c9042cd3"},{"sha":"c28c3c5efdbf84df3aec11653abf21a4f7c18f91","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Revert \"7301 zpool export -f should be able to interrupt file freeing\"\n\nThis reverts commit a9963054fcb5b3815e47a1c47fa2a0c091be54e3.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/c28c3c5efdbf84df3aec11653abf21a4f7c18f91"},{"sha":"efb3c4bb234fb8027717748b81d172e4cc11e78d","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Avoid deadlock between spa_namespace_lock and zfsdev_state_lock\n\nThere are lock inversions between first_open calling spa_open, holding\nzfsdev_state_lock and waiting on spa_namespace_lock;\n\nand spa_export_common calling zvol_close_impl, holding\nspa_namespace_lock and waiting on zfsdev_state_lock;","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/efb3c4bb234fb8027717748b81d172e4cc11e78d"},{"sha":"c1a2b21816c085e203ee1c46d60bb9d07c708bd0","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Check for NULL before calling kmem_cache_reap_now","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/c1a2b21816c085e203ee1c46d60bb9d07c708bd0"},{"sha":"9f981234ecdfd8dc41ca0344e083ada0329be7b0","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Revert \"7301 zpool export -f should be able to interrupt file freeing\"\n\nThis reverts commit 78222311f4cf92e913a3132e36116ac69b7e849d.\n\nConnected to issue #534\n\"panic(cpu 0 caller 0xffffff7f8d681fc4): blkptr at 0xffffff90a83f0cc8 DVA 0 has invalid VDEV 2\"","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/9f981234ecdfd8dc41ca0344e083ada0329be7b0"},{"sha":"97bdf170fb92d14d6ef14a68fc464154166005c7","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Remove unsupported capabilities\n\nCopy file in Finder, and pasting it in the same directory should\ncreate \"filename copy\". But was getting error Finder error -36. It\nwas due to attempting to call vnop_copyfile which is set to\nerr_copyfile. If we do not claim to support copyfile, XNU will use\ncompatibility calls.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/97bdf170fb92d14d6ef14a68fc464154166005c7"},{"sha":"65407135db43fea5ae25c3e9c87011e633b38aa5","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Merge remote-tracking branch 'rotte/rotte5' into rotte5","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/65407135db43fea5ae25c3e9c87011e633b38aa5"},{"sha":"d885627af5d66efafa774d3d39226202a9e51041","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Merge remote-tracking branch 'rotte/rotte-bibop-1' into rotte-bibop-1","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/d885627af5d66efafa774d3d39226202a9e51041"},{"sha":"f03d5ddc8c9a137055d3d9a3c0cabc0c57aad1d2","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Change zvolRemoveDevice from panic to leak\n\nexporting pool with a busy zvol will currently leak, as zvol_remove_zv()\nreturns with EBUSY, instead of releasing \"zv\".\n\nThe next import will then locate the old \"zv\" and the future gets interesting.\n\nFor now, we clear out the zv_name before calling zvol_remove_zv(), this stops\nus from finding old node and avoiding the panic.\n\nPresumably IllumOS stops export if zvol is busy (even with force?) so\nwe should mirror that behavior and stop the iokit device node from being\nreleased, or at least, very what IllumOS does with busy zvols on export.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/f03d5ddc8c9a137055d3d9a3c0cabc0c57aad1d2"},{"sha":"bd5f472cdbe41032db64ca732f9a26771637f09f","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Release object in iterator to allow kextunload\n\nObjects matched in IOIteratorNext must be released by calling\nIOObjectRelease().\n\nThis allows zfs.kext to unload without Class Having Instances aborting.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/bd5f472cdbe41032db64ca732f9a26771637f09f"},{"sha":"c392d4d9dea91717c7eb2be64c414858d170ea0d","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Merge remote-tracking branch 'rotte/rotte-bibop-2' into rotte-bibop-2","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/c392d4d9dea91717c7eb2be64c414858d170ea0d"},{"sha":"7ae2de9d451231ddfc0e7feafd7603fa5e546435","author":{"name":"Jorgen Lundman","email":"d35e73bea9a417812828c4aa53bf599fbd2eccd6@lundman.net"},"message":"Temporary fix leak by breaking boot. Fix debug panic, resource leak\n\nThe call to zfs_boot_update_bootinfo() will cause the Class Instance\nproblem on pools in zvols, so we will take out the call temporarily\nas unloading is deemed more important than ZFS Boot.\n\nComment out dprintf that cause panic (ldi_zfs_handle-> use)\n\nCorrect calls to ->release() for minor leaks.\n\nTemporary stop the ZFSRemoveDevice panic, when zvol_remove_zv() returns\nerror, be we assume eveything went according to plan. Future zvol\nminor lookups can find old zv and access its stale iokit ptr. For\nnow we zero out the name used in lookup.","distinct":true,"url":"https://api.github.com/repos/rottegift/zfs/commits/7ae2de9d451231ddfc0e7feafd7603fa5e546435"}]}
{"actor":{"display_login":"rottegift"}}