{"push_id":2923084667,"size":297,"distinct_size":1,"ref":"refs/heads/compressed_send_safety","head":"dedb1713d0221c9e8a6f009fd0bf1f502069234a","before":"5c99af85d6f483147078b40dd611e3813e9c67be","commits":[{"sha":"e5d18d1ceadd308280e89216cc186d7aa8058459","author":{"name":"Dan McDonald","email":"878627a638f7761205076710e9089ce904b21438@joyent.com"},"message":"9560 IPv4 packets in IPv6 ethernet frames panic debug builds\nReviewed by: Jorge Schrauwen <jorge@blackdot.be>\nReviewed by: Igor Kozhukhov <igor@dilos.org>\nReviewed by: Toomas Soome <tsoome@me.com>\nReviewed by: Ken Mays <maybird1776@yahoo.com>\nApproved by: Gordon Ross <gordon.w.ross@gmail.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/e5d18d1ceadd308280e89216cc186d7aa8058459"},{"sha":"5c16836ed07979c9ee681cb8eff401a0caacbc7e","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9145 libast: this statement may fall through\nReviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>\nReviewed by: Andrew Stormont <andyjstormont@gmail.com>\nReviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>\nApproved by: Dan McDonald <danmcd@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/5c16836ed07979c9ee681cb8eff401a0caacbc7e"},{"sha":"abfaa596b786488ec4aee4fcc241f6021f04ee50","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9218 bge: this statement may fall through\nReviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>\nReviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>\nApproved by: Dan McDonald <danmcd@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/abfaa596b786488ec4aee4fcc241f6021f04ee50"},{"sha":"c142ce19e94245c3c84e5d2f068bdbbf1bb952d7","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9278 loader: Remove d_type from devdesc.\nReviewed by: Yuri Pankov <yuripv@yuripv.net>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/c142ce19e94245c3c84e5d2f068bdbbf1bb952d7"},{"sha":"7a7d534ff7d637c8673694e0ec835c590a6697e5","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9178 sasl_plugins: this statement may fall through\nReviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>\nReviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/7a7d534ff7d637c8673694e0ec835c590a6697e5"},{"sha":"e911f24978ffe03577079badeef02cfc5e9aa296","author":{"name":"Sebastian Wiedenroth","email":"0571cd5a83038a72453be309a6ed93f5affc4b5e@frubar.net"},"message":"9556 logadm timestamps should not leak into the configfile\nReviewed by: Toomas Soome <tsoome@me.com>\nReviewed by: Andy Fiddaman <af@citrus-it.net>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/e911f24978ffe03577079badeef02cfc5e9aa296"},{"sha":"5e832498d1743a9c84b5f53b983c9f469290b34b","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9265 e1000g: this statement may fall through\nReviewed by: Sebastian Wiedenroth <wiedi@frubar.net>\nReviewed by: Yuri Pankov <yuripv@yuripv.net>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/5e832498d1743a9c84b5f53b983c9f469290b34b"},{"sha":"69d4acec15909325d6df21fec172510a50f77a8a","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9538 rcapd make install fails due to race in subdirs\nReviewed by: Gordon Ross <gordon.w.ross@gmail.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/69d4acec15909325d6df21fec172510a50f77a8a"},{"sha":"be86bb8a407b8330d7abd1de7cba0ddaad88829b","author":{"name":"sara hartse","email":"a27ff6fbd2f885afe726310fe499e2bf54d78d90@delphix.com"},"message":"9457 libzfs_import.c:add_config() has a memory leak\n\nReviewed by: Matt Ahrens <matt@delphix.com>\nReviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\n\nA memory leak occurs on lines 209 and 213 because the config is not\nfreed in the error case.  The interface to add_config() seems less than\nideal - it would be better if it copied any data necessary from the\nconfig and the caller freed it.\n\nCloses #614","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/be86bb8a407b8330d7abd1de7cba0ddaad88829b"},{"sha":"20aa447c1981d8a98f2607c1f99732bd4699fb56","author":{"name":"Andriy Gapon","email":"97e77871b5fcc4941bebceb4338c97c1fd149f8c@FreeBSD.org"},"message":"9479 fix wrong format specifier for vdev_id\n\nReviewed by: Matt Ahrens <matt@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\n\nCloses #623","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/20aa447c1981d8a98f2607c1f99732bd4699fb56"},{"sha":"1518dbbf32363a43dfa2dee8ccaacff3ded47a55","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9486 reduce memory used by device removal on fragmented pools\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>\nReviewed by: Brian Behlendorf <behlendorf1@llnl.gov>\nReviewed by: Tim Chase <tim@chase2k.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\n\nDevice removal allocates a new location for each allocated segment on\nthe disk that's being removed.  Each allocation results in one entry in\nthe mapping table, which maps from old location + length to new\nlocation.  When a fragmented disk is removed, this can result in a large\nnumber of mapping entries, and thus a large amount of memory consumed by\nthe mapping table.  In the worst real-world cases, we've seen around 1GB\nof RAM per 1TB of storage removed.\n\nWe can improve on this situation by allocating larger segments, which\nspan across both allocated and free regions of the device being removed.\nBy including free regions in the allocation (and thus mapping), we\nreduce the number of mapping entries.  For example, if we have a 4K\nallocation followed by 1K free and then 4K allocated, we would allocate\n4+1+4 = 9KB, and then move the entire region (including allocated and\nfree parts).  In this case we used one mapping where previously we would\nhave used two, but often the ratio is much higher (up to 20:1 in\nreal-world use).  We then need to mark the regions that were free on the\nremoving device as free in the new locations, and also obsolete in the\nmapping entry.\n\nThis method preserves the fragmentation of the removing device, rather\nthan consolidating its allocated space into a small number of chunks\nwhere possible.  But it results in drastic reduction of memory used by\nthe mapping table - around 20x in the most-fragmented cases.\n\nIn the most fragmented real-world cases, this reduces memory used by the\nmapping from ~1GB to ~50MB of RAM per 1TB of storage removed.  Less\nfragmented cases will typically also see around 50-100MB of RAM per 1TB\nof storage.\n\nCloses #627","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/1518dbbf32363a43dfa2dee8ccaacff3ded47a55"},{"sha":"eb7e57429cda966c8e5b824b35bdfe4601794849","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9424 ztest failure: \"unprotected error in call to Lua API (Invalid value type 'function' for key 'error')\"\n\nReviewed by: Sebastien Roy <sebastien.roy@delphix.com>\nReviewed by: Paul Dagnelie <pcd@delphix.com>\nReviewed by: Don Brady <don.brady@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\n\nZtest failed with the following crash.\n\n    ::status\n\n    debugging core file of ztest (64-bit) from clone-dc-slave-280-bc7947b1.dcenter\n    file: /usr/bin/amd64/ztest\n    initial argv: /usr/bin/amd64/ztest\n    threading model: raw lwps\n    status: process terminated by SIGABRT (Abort), pid=2150 uid=1025 code=-1\n    panic message: failure for thread 0xfffffd7fff112a40, thread-id 1: unprotected error in call to Lua API (Invalid\n    value type 'function' for key 'error')\n\n    ::stack\n\n    libc.so.1`_lwp_kill+0xa()\n    libc.so.1`_assfail+0x182(fffffd7fffdfe8d0, 0, 0)\n    libc.so.1`assfail+0x19(fffffd7fffdfe8d0, 0, 0)\n    libzpool.so.1`vpanic+0x3d(fffffd7ffaa58c20, fffffd7fffdfeb00)\n    0xfffffd7ffaa28146()\n    0xfffffd7ffaa0a109()\n    libzpool.so.1`luaD_throw+0x86(3011a48, 2)\n    0xfffffd7ffa9350d3()\n    0xfffffd7ffa93e3f1()\n    libzpool.so.1`zcp_lua_to_nvlist+0x33(3011a48, 1, 2686470, fffffd7ffaa2e2c3)\n    libzpool.so.1`zcp_convert_return_values+0xa4(3011a48, 2686470, fffffd7ffaa2e2c3, fffffd7fffdfedd0)\n    libzpool.so.1`zcp_pool_error+0x59(fffffd7fffdfedd0, 1e0f450)\n    libzpool.so.1`zcp_eval+0x6f8(1e0f450, fffffd7ffaa483f8, 1, 0, 6400000, 1d33b30)\n    libzpool.so.1`dsl_destroy_snapshots_nvl+0x12c(2786b60, 0, 484750)\n    libzpool.so.1`dsl_destroy_snapshot+0x4f(fffffd7fffdfef70, 0)\n    ztest_dsl_dataset_cleanup+0xea(fffffd7fffdff4c0, 1)\n    ztest_dataset_destroy+0x53(1)\n    ztest_run+0x59f(fffffd7fff0e0498)\n    main+0x7ff(1, fffffd7fffdffa88)\n    _start+0x6c()\n\nThe problem is that zcp_convert_return_values() assumes that there's\nexactly one value on the stack, but that isn't always true. It ends up\nputting the wrong thing on the stack which is then consumed by\nzcp_convert_return values, which either adds the wrong message to the\nnvlist, or blows up.\n\nThe fix is to make sure that callers of zcp_convert_return_values()\nclear the stack before pushing their error message, and\nzcp_convert_return_values() should VERIFY that the stack is the expected\nsize.\n\nCloses #612","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/eb7e57429cda966c8e5b824b35bdfe4601794849"},{"sha":"d8a447a737bbe811f7dd9183897d877e84b56f76","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9454 ::zfs_blkstats should count embedded blocks\n\nReviewed by: Dan Kimmel <dan.kimmel@delphix.com>\nReviewed by: George Wilson <george.wilson@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\n\nWhen we do a scrub or resilver, ZFS counts the different types of blocks,\nwhich can be printed by the ::zfs_blkstats mdb dcmd. However, it fails to\ncount embedded blocks.\n\nCloses #618","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/d8a447a737bbe811f7dd9183897d877e84b56f76"},{"sha":"ddfe901b12348d31c500fb57f9174e88860a4061","author":{"name":"sara hartse","email":"a27ff6fbd2f885afe726310fe499e2bf54d78d90@delphix.com"},"message":"9457 libzfs_import.c:add_config() has a memory leak\nReviewed by: Matt Ahrens <matt@delphix.com>\nReviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/ddfe901b12348d31c500fb57f9174e88860a4061"},{"sha":"c7a7b2fa084facd68c3d1e860dfabe20c713877b","author":{"name":"Andriy Gapon","email":"97e77871b5fcc4941bebceb4338c97c1fd149f8c@FreeBSD.org"},"message":"9479 fix wrong format specifier for vdev_id\nReviewed by: Matt Ahrens <matt@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/c7a7b2fa084facd68c3d1e860dfabe20c713877b"},{"sha":"cfd63e1b1bcf7ba4bf72f55ddbd87ce008d2986d","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9486 reduce memory used by device removal on fragmented pools\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>\nReviewed by: Brian Behlendorf <behlendorf1@llnl.gov>\nReviewed by: Tim Chase <tim@chase2k.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/cfd63e1b1bcf7ba4bf72f55ddbd87ce008d2986d"},{"sha":"fe3ba4d1227d8746116ece7240682b13595c3142","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9424 ztest failure: \"unprotected error in call to Lua API (Invalid value type 'function' for key 'error')\"\nReviewed by: Sebastien Roy <sebastien.roy@delphix.com>\nReviewed by: Paul Dagnelie <pcd@delphix.com>\nReviewed by: Don Brady <don.brady@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/fe3ba4d1227d8746116ece7240682b13595c3142"},{"sha":"dec267e7ea9828898b1c64462daa6636c4ef5e29","author":{"name":"Matthew Ahrens","email":"0962b5d2f5c1117073cf6f982c188f029b03d89e@delphix.com"},"message":"9454 ::zfs_blkstats should count embedded blocks\nReviewed by: Dan Kimmel <dan.kimmel@delphix.com>\nReviewed by: George Wilson <george.wilson@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/dec267e7ea9828898b1c64462daa6636c4ef5e29"},{"sha":"e53a4a814812099ec255c98f18f7ae1d0639ae57","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9279 libefi: use one-line-per-file pattern in Makefile\nReviewed by: Yuri Pankov <yuripv@yuripv.net>\nReviewed by: Sebastian Wiedenroth <sebastian.wiedenroth@skylime.net>\nReviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/e53a4a814812099ec255c98f18f7ae1d0639ae57"},{"sha":"fe12dc752b42da16028a16f4226e5295506fdb28","author":{"name":"Toomas Soome","email":"e429d7508efcfa62cb79291b5fc9b806544070b9@me.com"},"message":"9529 libefi: efi_alloc_and_read should check for PMBR\nReviewed by: Yuri Pankov <yuripv@yuripv.net>\nReviewed by: Alexander Eremin <alexander.eremin@nexenta.com>\nApproved by: Robert Mustacchi <rm@joyent.com>","distinct":false,"url":"https://api.github.com/repos/allanjude/illumos-gate/commits/fe12dc752b42da16028a16f4226e5295506fdb28"}]}
{"actor":{"display_login":"allanjude"}}