{"push_id":2304409996,"size":6,"distinct_size":1,"ref":"refs/heads/python3","head":"16208a758eab464d59e0a6d143a8de17b57193c8","before":"a49d75e47e036100832b7f0a8659e0e8998958c8","commits":[{"sha":"ae76f45cda0e0857f99e53959cf71c7a5d66bd8b","author":{"name":"Tom Caputi","email":"102fdea76bf4221d11361f9f327e7c452294a203@datto.com"},"message":"Encryption Stability and On-Disk Format Fixes\n\nThe on-disk format for encrypted datasets protects not only\nthe encrypted and authenticated blocks themselves, but also\nthe order and interpretation of these blocks. In order to\nmake this work while maintaining the ability to do raw\nsends, the indirect bps maintain a secure checksum of all\nthe MACs in the block below it along with a few other\nfields that determine how the data is interpreted.\n\nUnfortunately, the current on-disk format erroneously\nincludes some fields which are not portable and thus cannot\nsupport raw sends. It is not possible to easily work around\nthis issue due to a separate and much smaller bug which\ncauses indirect blocks for encrypted dnodes to not be\ncompressed, which conflicts with the previous bug. In\naddition, the current code generates incompatible on-disk\nformats on big endian and little endian systems due to an\nissue with how block pointers are authenticated. Finally,\nraw send streams do not currently include dn_maxblkid when\nsending both the metadnode and normal dnodes which are\nneeded in order to ensure that we are correctly maintaining\nthe portable objset MAC.\n\nThis patch zero's out the offending fields when computing\nthe bp MAC and ensures that these MACs are always\ncalculated in little endian order (regardless of the host\nsystem's byte order). This patch also registers an errata\nfor the old on-disk format, which we detect by adding a\n\"version\" field to newly created DSL Crypto Keys. We allow\ndatasets without a version (version 0) to only be mounted\nfor read so that they can easily be migrated. We also now\ninclude dn_maxblkid in raw send streams to ensure the MAC\ncan be maintained correctly.\n\nThis patch also contains minor bug fixes and cleanups.\n\nReviewed-by: Jorgen Lundman <lundman@lundman.net>\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nSigned-off-by: Tom Caputi <tcaputi@datto.com>\nCloses #6845\nCloses #6864\nCloses #7052","distinct":false,"url":"https://api.github.com/repos/scotws/zfs/commits/ae76f45cda0e0857f99e53959cf71c7a5d66bd8b"},{"sha":"d53bd7f5244a1cd0009d2f90d3ec9df22352fbb3","author":{"name":"Tom Caputi","email":"102fdea76bf4221d11361f9f327e7c452294a203@datto.com"},"message":"Fix recovery import (-F) with encrypted pool\n\nWhen performing zil_claim() at pool import time, it is\nimportant that encrypted datasets set os_next_write_raw\nbefore writing to the zil_header_t. This prevents the code\nfrom attempting to re-authenticate the objset_phys_t when\nit writes it out, which is unnecessary because the\nzil_header_t is not protected by either objset MAC and\nimpossible since the keys aren't loaded yet. Unfortunately,\none of the code paths did not set this flag, which causes\nfailed ASSERTs during 'zpool import -F'. This patch corrects\nthis issue.\n\nReviewed-by: Jorgen Lundman <lundman@lundman.net>\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nSigned-off-by: Tom Caputi <tcaputi@datto.com>\nCloses #6864\nCloses #6916","distinct":false,"url":"https://api.github.com/repos/scotws/zfs/commits/d53bd7f5244a1cd0009d2f90d3ec9df22352fbb3"},{"sha":"047116ac76526d869e3f347afb5d81cc2b156fdf","author":{"name":"Tom Caputi","email":"102fdea76bf4221d11361f9f327e7c452294a203@datto.com"},"message":"Raw sends must be able to decrease nlevels\n\nCurrently, when a raw zfs send file includes a DRR_OBJECT record\nthat would decrease the number of levels of an existing object,\nthe object is reallocated with dmu_object_reclaim() which\ncreates the new dnode using the old object's nlevels. For non-raw\nsends this doesn't really matter, but raw sends require that\nnlevels on the receive side match that of the send side so that\nthe checksum-of-MAC tree can be properly maintained. This patch\ncorrects the issue by freeing the object completely before\nallocating it again in this case.\n\nThis patch also corrects several issues with dnode_hold_impl()\nand related functions that prevented dnodes (particularly\nmulti-slot dnodes) from being reallocated properly due to\nthe fact that existing dnodes were not being fully cleaned up\nwhen they were freed.\n\nThis patch adds a test to make sure that zfs recv functions\nproperly with incremental streams containing dnodes of different\nsizes.\n\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed-by: Jorgen Lundman <lundman@lundman.net>\nSigned-off-by: Tom Caputi <tcaputi@datto.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #6821\nCloses #6864","distinct":false,"url":"https://api.github.com/repos/scotws/zfs/commits/047116ac76526d869e3f347afb5d81cc2b156fdf"},{"sha":"1b66810bad0a893031c6d49613aa83dc359bf034","author":{"name":"Tom Caputi","email":"102fdea76bf4221d11361f9f327e7c452294a203@datto.com"},"message":"Change os->os_next_write_raw to work per txg\n\nCurrently, os_next_write_raw is a single boolean used for determining\nwhether or not the next call to dmu_objset_sync() should write out\nthe objset_phys_t as a raw buffer. Since the boolean is not associated\nwith a txg, the work simply happens during the next txg, which is not\nnecessarily the correct one. In the current implementation this issue\nwas misdiagnosed, resulting in a small hack in dmu_objset_sync() which\nseemed to resolve the problem.\n\nThis patch changes os_next_write_raw to be an array of booleans, one\nfor each txg in TXG_OFF and removes the hack.\n\nReviewed-by: Jorgen Lundman <lundman@lundman.net>\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nSigned-off-by: Tom Caputi <tcaputi@datto.com>\nCloses #6864","distinct":false,"url":"https://api.github.com/repos/scotws/zfs/commits/1b66810bad0a893031c6d49613aa83dc359bf034"},{"sha":"fbd42542686af053f0d162ec4630ffd4fff1cc30","author":{"name":"LOLi","email":"4fc42463de6b5982a0025d9fdef0bc7dc8d328df@users.noreply.github.com"},"message":"Fix systemd_ RPM macros usage on Debian-based distributions\n\nDebian-based distributions do not seem to provide RPM macros for\r\ndealing with systemd pre- and post- (un)install actions: this results\r\nin errors when installing or upgrading .deb packages because the\r\nresulting control scripts contain the following unresolved macros:\r\n\r\n * %systemd_post\r\n * %systemd_preun\r\n * %systemd_postun\r\n\r\nFix this by providing default values for postinstall, preuninstall and\r\npostuninstall scripts when these macros are not defined.\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nReviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>\r\nSigned-off-by: loli10K <ezomori.nozomu@gmail.com>\r\nCloses #7074 \r\nCloses #7100","distinct":false,"url":"https://api.github.com/repos/scotws/zfs/commits/fbd42542686af053f0d162ec4630ffd4fff1cc30"},{"sha":"16208a758eab464d59e0a6d143a8de17b57193c8","author":{"name":"Scot W. Stevenson","email":"01903f2eb3fab9e36077080b7d8acede1731ddf7@gmail.com"},"message":"Add Python 3 rewrite of arc_summary.py (#6873)\n\nAdd new script arc_summary3.py as a complete rewrite of the\narc_summary.py tool (see issue #6873)\n\nAdd new options:\n\n        -g/--graph    - Display crude graphic representation\n                        of ARC status and quit\n        -r/--raw      - Print all available information as\n                        minimally formatted list (for grep)\n        -s/--section  - Print a single section. This\n                        replaces -p/--page, which is kept for\n                        backwards use but marked as\n                        depreciated\n\nAdd new sections with information on ZIL and SPL. Notify user\nif sections L2ARC and VDEV are skipped instead of failing\nsilently. Add warning that -p/--page option is depreciated.\n\nDeveloped for Python 3.5.\n\nSigned-off-by: Scot W. Stevenson <scot.stevenson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/scotws/zfs/commits/16208a758eab464d59e0a6d143a8de17b57193c8"}]}
{"actor":{"display_login":"scotws"}}