)]}'
{"id":"openstack%2Fliberasurecode~459023","triplet_id":"openstack%2Fliberasurecode~master~Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5","project":"openstack/liberasurecode","branch":"master","topic":"bug/1666320","hashtags":[],"change_id":"Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5","subject":"Use zlib for CRC-32","status":"MERGED","created":"2017-04-21 23:57:28.000000000","updated":"2017-07-13 19:29:22.000000000","submitted":"2017-07-13 19:28:53.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"fd95503bf2101f8a09386d918e0e8ef0ce68b297","_number":459023,"virtual_id_number":459023,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":2,"date":"2017-07-13 19:28:53.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"all":[{"value":2,"date":"2017-07-13 10:04:41.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2017-07-06 18:55:02.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"all":[{"value":1,"date":"2017-07-13 10:04:41.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-06-27 21:15:54.000000000","updated_by":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"reviewer":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"state":"REVIEWER"},{"updated":"2017-06-28 01:10:48.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2017-07-06 18:55:02.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"state":"REVIEWER"},{"updated":"2017-07-13 10:04:41.000000000","updated_by":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"reviewer":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"state":"REVIEWER"},{"updated":"2017-07-13 19:28:53.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"f14f17c8207db3d28067ceeb2ead0f2870241333","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-04-21 23:57:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ed2433a1f33e7b1ad11be46c6f5341e4b33b12b6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-04-22 00:04:12.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-liberasurecode-unit-ubuntu-xenial http://logs.openstack.org/23/459023/1/check/gate-liberasurecode-unit-ubuntu-xenial/5c01fcc/ : SUCCESS in 6m 33s","accounts_in_message":[],"_revision_number":1},{"id":"34be839327dc7db263ee3ddfad5aeb394dd0b2b0","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2017-06-21 21:37:28.000000000","message":"Patch Set 1: Code-Review+1\n\nI don\u0027t know what\u0027s sufficient to review this?\n\nIs it really possible to have a fragment report ERROR form the script attached to the associated bug [1]?\n\nDoes this patch need an UpgradeImpact?  It\u0027s potentially going to make a bunch of real world data unreadable right?  Is the harm of leaving it in just maintenance related - is there anyway we can detect the bad ordering or lack of ZLIB at build time and raise a WARNING but keep the existing but suboptimal behavior?\n\n1. https://launchpadlibrarian.net/307221898/check_crc.py","accounts_in_message":[],"_revision_number":1},{"id":"e6c761baf0e29957f652b529bb424303f8e9567b","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-06-21 22:02:15.000000000","message":"Patch Set 1:\n\n\u003e Is it really possible to have a fragment report ERROR form the script attached to the associated bug [1]?\n\nWhen going through the C API directly? Definitely!\n\nThrough PyECLib? No idea! I hope not! I was hoping people would try it out on their Swift frags and find out.\n\n\u003e It\u0027s potentially going to make a bunch of real world data unreadable right?\n\nYup; it\u0027s a little scary. But there\u0027s also the option to turn off force_metadata_checks...\n\n\u003e Is the harm of leaving it in just maintenance related - is there anyway we can detect the bad ordering or lack of ZLIB at build time and raise a WARNING but keep the existing but suboptimal behavior?\n\nYes and no. On the one hand, I *really* don\u0027t want to have to maintain some crc32-like in perpetuity. Less code in-tree \u003d\u003e less code to maintain \u003d\u003e fewer bugs. At the same time, there is definite potential for harm in continuing with what we currently have if you expect to be able to read data from a different system than the one that wrote it. A build-time warning isn\u0027t enough -- the problem may not manifest until *run-time*! So something *really should* change -- we could compute two separate checksums and consider the frag valid if either matches, but given\n\n* the primary hook into this library is PyECLib,\n* the primary consumer of both of these is Swift, and\n* as far as I\u0027m aware, swift will *always* get zlib\u0027s crc32,\n\nI\u0027m making a bet that there are *precisely zero* people for whom this change will be a problem.","accounts_in_message":[],"_revision_number":1},{"id":"66479d7c865be44573175e26fb7d8d847cbe58fd","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2017-06-27 21:15:54.000000000","message":"Patch Set 1:\n\nI\u0027m not sure I\u0027m testing this correctly, but finding a mismatch with frags in my saio was really easy. I\u0027m using a centos VM, maybe we can chat more about this on IRC...","accounts_in_message":[],"_revision_number":1},{"id":"faec6ffcf446067c9125da68ead93201bbe5bc46","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2017-06-28 01:10:48.000000000","message":"Patch Set 1: Code-Review-1\n\nYeah I ran check_crc.py [1] on a frag my ubuntu saio and it was fine - I ran it on a frag I had on a lab node with 14.04 and it says \"checksum mismatch\" - I\u0027m pretty sure that means at least that I shouldn\u0027t assume this is safe to merge unless someone convinces me it is?\n\nWhat\u0027s the harm in not doing anything again?  Not doing anythings seems like it won\u0027t break me?\n\n1. https://launchpadlibrarian.net/307221898/check_crc.py","accounts_in_message":[],"_revision_number":1},{"id":"05268c6fec85ede17ebf90064493b98ea46cb3b8","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2017-06-28 18:42:37.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nI cannot tell if the same poly is used in our unroll table as it\u0027s implied (and needed to match SSE4). The zlib uses the most common one, the ITU. Wikipedia says that SSE4 is \"Castagoli\".","accounts_in_message":[],"_revision_number":1},{"id":"584e46bffdf2e42cd22dc2eedea173da1ff3a35b","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-05 19:58:25.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nClay, I believe you tested some frags that predate metadata checksumming -- I updated the \"am I affected?\" script to account for that. The long and short of it is, those frags will continue to be usable.\n\nI\u0027m still very much in favor of landing this rather than maintaining a not-quite-CRC32 in-tree indefinitely. At the very least, I *really* want to ensure that any *new* fragments that get written use a CRC that\u0027s fairly standardized and well-analyzed. I have *no idea* how well the code we have currently can detect errors.","accounts_in_message":[],"_revision_number":1},{"id":"b06de45a11aca256474bde88d4c364b10bb72413","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2017-07-05 20:22:23.000000000","message":"Patch Set 1:\n\n\u003e (1 comment)\n \u003e \n \u003e Clay, I believe you tested some frags that predate metadata\n \u003e checksumming -- I updated the \"am I affected?\" script to account\n \u003e for that. The long and short of it is, those frags will continue to\n \u003e be usable.\n\nI\u0027m not sure I understand what you mean here, I ran into this same problem with a brand new saio running libec/pyeclib 1.4.0. was metadata checksumming not present in 1.4.0?","accounts_in_message":[],"_revision_number":1},{"id":"2fe4c9fc22dba01d1343d517ddbdae9ed35f52dd","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-05 21:14:26.000000000","message":"Patch Set 1: Workflow-1\n\nWhelp, looks like\n\n\u003e as far as I\u0027m aware, swift will *always* get zlib\u0027s crc32\n\nwas a bad assumption :-(","accounts_in_message":[],"_revision_number":1},{"id":"af8610a7c7172543d0fb4f2802f3a06251f90614","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-06 00:14:08.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"3b1a6ff5ec04812172d58147d783816b534b61e9","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-06 00:15:51.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-liberasurecode-unit-ubuntu-xenial http://logs.openstack.org/23/459023/2/check/gate-liberasurecode-unit-ubuntu-xenial/346ef04/ : FAILURE in 1m 01s","accounts_in_message":[],"_revision_number":2},{"id":"416b2da2e9c3e3b2803b53de1cf803b0ef4f409e","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2017-07-06 04:38:47.000000000","message":"Patch Set 2: Code-Review-1\n\nI think you need to add zlib to bindep.txt or something.","accounts_in_message":[],"_revision_number":2},{"id":"de01d6a5827b76d6e228a67436e51be8c3e2d3c6","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-06 17:42:50.000000000","message":"Patch Set 2:\n\nHuh. I wonder how the first patchset succeeded then... *shrug*","accounts_in_message":[],"_revision_number":2},{"id":"a4466356c128659b2f209e14f2f4f2f56898db8d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-06 17:43:03.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"29b14168943a8e6ef8d3fc5f38aea88701b026f4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-06 17:59:06.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-liberasurecode-unit-ubuntu-xenial http://logs.openstack.org/23/459023/3/check/gate-liberasurecode-unit-ubuntu-xenial/462190d/ : SUCCESS in 8m 33s","accounts_in_message":[],"_revision_number":3},{"id":"74674946516a02cf6fa142122feba8da9f881a27","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2017-07-06 17:59:41.000000000","message":"Patch Set 3:\n\ncheck experimental","accounts_in_message":[],"_revision_number":3},{"id":"0730c3ba8f867be477d0ffb1163d418ab441cb9b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-06 18:23:19.000000000","message":"Patch Set 3:\n\nBuild succeeded (experimental pipeline).\n\n- gate-liberasurecode-unit-centos-7 http://logs.openstack.org/23/459023/3/experimental/gate-liberasurecode-unit-centos-7/d53a44a/ : SUCCESS in 10m 25s","accounts_in_message":[],"_revision_number":3},{"id":"2c41fbd14bb08243d045ac37442ab2ec4fada6bf","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2017-07-06 18:55:02.000000000","message":"Patch Set 3: Code-Review+2\n\nLooks great, I think this is the best approach moving forward.","accounts_in_message":[],"_revision_number":3},{"id":"701e9a1ea558d818d2a6ecfbc9b17cede41c854b","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2017-07-13 10:04:41.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(2 comments)\n\nI did not check if the header binary was correct or not but I checked both types of crc32 works and the test passed locally with the change so I think it\u0027s ok to keep the test right now.\n\nPerhaps, making another test like my gist could be obvious for non-crc32 experts.\n\nAnyway, thanks Tim for working on this.","accounts_in_message":[],"_revision_number":3},{"id":"c4c804b7a97f13bb701f21b197fe89733e9c9a72","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2017-07-13 19:16:06.000000000","message":"Patch Set 3:\n\ncheck experimental","accounts_in_message":[],"_revision_number":3},{"id":"f5c24d1e20de1bcb2a080f3bbc5e8cbf7093b6a8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-13 19:18:20.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"38526719914595c3dd0bded897c649205a448f5b","date":"2017-07-13 19:28:53.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":3},{"id":"8d15744d8241da6fba06b162e174e33202dd2df7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-13 19:28:53.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-liberasurecode-unit-ubuntu-xenial http://logs.openstack.org/23/459023/3/gate/gate-liberasurecode-unit-ubuntu-xenial/52e596f/ : SUCCESS in 10m 13s","accounts_in_message":[],"_revision_number":3},{"id":"de51b178ecc7689e3ce8c4fff3c0b1361bde8056","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-13 19:29:22.000000000","message":"Patch Set 3:\n\nBuild succeeded (experimental pipeline).\n\n- gate-liberasurecode-unit-centos-7 http://logs.openstack.org/23/459023/3/experimental/gate-liberasurecode-unit-centos-7/aea868b/ : SUCCESS in 7m 01s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"a9b20ae6a38073afe91ae2b7d789ddfb7dabade8","revisions":{"6a74aa66f16ab20b28a98e49bf79ef448df5532a":{"kind":"REWORK","_number":1,"created":"2017-04-21 23:57:28.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/23/459023/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/liberasurecode","ref":"refs/changes/23/459023/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/1"}}},"commit":{"parents":[{"commit":"7c4ef60c9d9e69dd23e43ec59d6c03e139a32723","subject":"Merge \"ISA-L: Only calculate gf tables on init, not every encode\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/7c4ef60c9d9e69dd23e43ec59d6c03e139a32723"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-04-21 18:50:45.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-04-21 23:55:11.000000000","tz":-420},"subject":"Consistently use zlib for crc32","message":"Consistently use zlib for crc32\n\nRip out the SSE4-optimized version, as that was *never* getting used.\nWhile we may define INTEL_SSE41 or INTEL_SSE42 if CPU seems to support\nit, we\u0027ve never defined INTEL_SSE4.\n\nAlso rip out our almost-but-not-quite copy of zlib\u0027s crc32; this *could*\nhave been used previously, but wasn\u0027t necessarily -- if libz.so was\nloaded before liberasurecode.so (as seems to be the case for PyEClib)\nthe zlib implementation would be used.\n\nChange-Id: Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5\nCloses-Bug: 1666320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/6a74aa66f16ab20b28a98e49bf79ef448df5532a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/6a74aa66f16ab20b28a98e49bf79ef448df5532a"}]},"branch":"refs/heads/master"},"27b76eb98d22538ac14f4f8f0f4668376a2bac39":{"kind":"REWORK","_number":2,"created":"2017-07-06 00:14:08.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/23/459023/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/liberasurecode","ref":"refs/changes/23/459023/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/2"}}},"commit":{"parents":[{"commit":"9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254","subject":"Stop pretending to support SSE4-optimized CRC-32C","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-07-06 00:21:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-07-06 00:21:01.000000000","tz":0},"subject":"Use zlib for CRC-32","message":"Use zlib for CRC-32\n\nPreviously, we reimplemented our own CRC that\u0027s almost but not quite\nlike zlib\u0027s, but it\n\n* hasn\u0027t been subjected to the same rigor with regard to error-detection\n  properties and\n* may not even get used, depending upon whether zlib happens to get\n  loaded before or after liberasurecode.\n\nNow, we\u0027re use zlib\u0027s CRC-32 when writing new frags, while still\ntolerating frags that were created with the old implementation.\n\nChange-Id: Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5\nCloses-Bug: 1666320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/27b76eb98d22538ac14f4f8f0f4668376a2bac39"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/27b76eb98d22538ac14f4f8f0f4668376a2bac39"}]},"branch":"refs/heads/master"},"a9b20ae6a38073afe91ae2b7d789ddfb7dabade8":{"kind":"REWORK","_number":3,"created":"2017-07-06 17:43:03.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/23/459023/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/liberasurecode","ref":"refs/changes/23/459023/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/liberasurecode refs/changes/23/459023/3"}}},"commit":{"parents":[{"commit":"9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254","subject":"Stop pretending to support SSE4-optimized CRC-32C","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/9b4d8bcf8dc97d7edad3dc1443b317ecb5a0a254"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-07-06 00:21:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2017-07-06 17:40:38.000000000","tz":0},"subject":"Use zlib for CRC-32","message":"Use zlib for CRC-32\n\nPreviously, we had our own CRC that was almost but not quite like\nzlib\u0027s implementation. However,\n\n* it hasn\u0027t been subjected to the same rigor with regard to error-detection\n  properties and\n* it may not even get used, depending upon whether zlib happens to get\n  loaded before or after liberasurecode.\n\nNow, we\u0027ll use zlib\u0027s CRC-32 when writing new frags, while still\ntolerating frags that were created with the old implementation.\n\nChange-Id: Ib5ea2a830c7c23d66bf2ca404a3eb84ad00c5bc5\nCloses-Bug: 1666320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/a9b20ae6a38073afe91ae2b7d789ddfb7dabade8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/liberasurecode/commit/a9b20ae6a38073afe91ae2b7d789ddfb7dabade8"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
