)]}'
{
  "log": [
    {
      "commit": "331cf2fb7c16b5b25064f8d2f00284105a9b413f",
      "tree": "a8ac7d695885bed4a3fb60cdcdd1af9f4460a18c",
      "parents": [
        "48dfc220cbb1f1315a565edb18c8e03923b14aa3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 29 19:20:58 2016 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 03 10:54:26 2016 -0800"
      },
      "message": "Replace the \"coldboot\" timeout with a property.\n\nAlso rename init\u0027s existing boot-time related properties so they\u0027re\nall \"ro.*\" properties.\n\nExample result:\n\n  # Three properties showing when init started...\n  [ro.boottime.init]: [5294587604]\n  # ...how long it waited for ueventd...\n  [ro.boottime.init.cold_boot_wait]: [646956470]\n  # ...and how long SELinux initialization took...\n  [ro.boottime.init.selinux]: [45742921]\n\n  # Plus one property for each service, showing when it first started.\n  [ro.boottime.InputEventFind]: [10278767840]\n  [ro.boottime.adbd]: [8359267180]\n  [ro.boottime.atfwd]: [10338554773]\n  [ro.boottime.audioserver]: [10298157478]\n  [ro.boottime.bootanim]: [9323670089]\n  [ro.boottime.cameraserver]: [10299402321]\n  [ro.boottime.cnd]: [10335931856]\n  [ro.boottime.debuggerd]: [7001352774]\n  [ro.boottime.debuggerd64]: [7002261785]\n  [ro.boottime.drm]: [10301082113]\n  [ro.boottime.fingerprintd]: [10331443314]\n  [ro.boottime.flash-nanohub-fw]: [6995265534]\n  [ro.boottime.gatekeeperd]: [10340355242]\n  [ro.boottime.healthd]: [7856893380]\n  [ro.boottime.hwservicemanager]: [7856051088]\n  [ro.boottime.imscmservice]: [10290530758]\n  [ro.boottime.imsdatadaemon]: [10358136702]\n  [ro.boottime.imsqmidaemon]: [10289084872]\n  [ro.boottime.installd]: [10303296020]\n  [ro.boottime.irsc_util]: [10279807632]\n  [ro.boottime.keystore]: [10305034093]\n  [ro.boottime.lmkd]: [7863506714]\n  [ro.boottime.loc_launcher]: [10324525241]\n  [ro.boottime.logd]: [6526221633]\n  [ro.boottime.logd-reinit]: [7850662702]\n  [ro.boottime.mcfg-sh]: [10337268315]\n  [ro.boottime.media]: [10312152687]\n  [ro.boottime.mediacodec]: [10306852530]\n  [ro.boottime.mediadrm]: [10308707999]\n  [ro.boottime.mediaextractor]: [10310681177]\n  [ro.boottime.msm_irqbalance]: [7862451974]\n  [ro.boottime.netd]: [10313523104]\n  [ro.boottime.netmgrd]: [10285009351]\n  [ro.boottime.oem_qmi_server]: [10293329092]\n  [ro.boottime.per_mgr]: [7857915776]\n  [ro.boottime.per_proxy]: [8335121605]\n  [ro.boottime.perfd]: [10283443101]\n  [ro.boottime.qcamerasvr]: [10329644772]\n  [ro.boottime.qmuxd]: [10282346643]\n  [ro.boottime.qseecomd]: [6855708593]\n  [ro.boottime.qti]: [10286196851]\n  [ro.boottime.ril-daemon]: [10314933677]\n  [ro.boottime.rmt_storage]: [7859105047]\n  [ro.boottime.servicemanager]: [7864555881]\n  [ro.boottime.ss_ramdump]: [8337634938]\n  [ro.boottime.ssr_setup]: [8336268324]\n  [ro.boottime.surfaceflinger]: [7866921402]\n  [ro.boottime.thermal-engine]: [10281249924]\n  [ro.boottime.time_daemon]: [10322006542]\n  [ro.boottime.ueventd]: [5618663938]\n  [ro.boottime.vold]: [7003493920]\n  [ro.boottime.wificond]: [10316641073]\n  [ro.boottime.wpa_supplicant]: [18959816881]\n  [ro.boottime.zygote]: [10295295029]\n  [ro.boottime.zygote_secondary]: [10296637269]\n\nBug: http://b/31800756\nTest: boots\nChange-Id: I094cce0c1bab9406d950ca94212689dc2e15dba5\n"
    },
    {
      "commit": "48dfc220cbb1f1315a565edb18c8e03923b14aa3",
      "tree": "c65fade3eb48dc9651841ebbd9e74193abc479fb",
      "parents": [
        "6e5f730243edb6232c6ce2ce9027b19c7a5628bf",
        "ed9dc8abe26ac63f001c5600422545315ad27312"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Dec 02 17:51:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 17:51:36 2016 +0000"
      },
      "message": "Merge \"liblog: switch event_tag_map.c to event_tag_map.cpp\""
    },
    {
      "commit": "6e5f730243edb6232c6ce2ce9027b19c7a5628bf",
      "tree": "32393ec4afa96b6861ddd7e5b4de644966ea078c",
      "parents": [
        "de07029ad07cc9f1da6fecdb8d81d039f7d1a8f5",
        "e4079fbdefac654f84b091335cc67fd89d79841c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 01:46:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 01:46:46 2016 +0000"
      },
      "message": "Merge \"bootstat: Fix the boot complete signal for FBE devices.\""
    },
    {
      "commit": "ed9dc8abe26ac63f001c5600422545315ad27312",
      "tree": "80452325edbfedfbd5dd20659eafd852bf31d0c4",
      "parents": [
        "de07029ad07cc9f1da6fecdb8d81d039f7d1a8f5"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 21 12:00:03 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 01 15:42:03 2016 -0800"
      },
      "message": "liblog: switch event_tag_map.c to event_tag_map.cpp\n\nNB: recent activities on event_tag_map.c were to allow\n    this transition to be unremarkable.\n\nTest: compile\nBug: 31456426\nChange-Id: I13e1771a001874244711a5ac3023861c2a5f8c7d\n"
    },
    {
      "commit": "e4079fbdefac654f84b091335cc67fd89d79841c",
      "tree": "32393ec4afa96b6861ddd7e5b4de644966ea078c",
      "parents": [
        "de07029ad07cc9f1da6fecdb8d81d039f7d1a8f5"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Dec 01 14:02:17 2016 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Thu Dec 01 14:02:17 2016 -0800"
      },
      "message": "bootstat: Fix the boot complete signal for FBE devices.\n\nFBE devices suffice with bootanim\u003dstopped, but must be gated on\nro.crypto.type\u003dfile.\n\nBug: 33049941\nTest: adb reboot \u0026\u0026 adb logcat | grep bootstat \u003c Has output\nChange-Id: I346d47aaf9d1d4b40f05906056849630b922a20d\n"
    },
    {
      "commit": "de07029ad07cc9f1da6fecdb8d81d039f7d1a8f5",
      "tree": "8fa5fda406f46dadb706de1cd6b5aea9626e37e7",
      "parents": [
        "32ee9fc24a94dff79beba62cd95e36b0243f7e71",
        "3cd9e314464d293d7814ad114cc4780f822cc5a2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 17:24:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 17:24:33 2016 +0000"
      },
      "message": "Merge \"liblog: fortify event_log_tags test\""
    },
    {
      "commit": "32ee9fc24a94dff79beba62cd95e36b0243f7e71",
      "tree": "5783eda528515aff591ea540b42bdee6d9a9a482",
      "parents": [
        "bde6ddbbfa580fb6456b4bac4c0ccc16a83653aa",
        "16db4346a2198df13baa9b66ba9e94cfe89ec059"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 03:45:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 03:45:41 2016 +0000"
      },
      "message": "Merge \"init: don\u0027t wait if we have more work to do\""
    },
    {
      "commit": "16db4346a2198df13baa9b66ba9e94cfe89ec059",
      "tree": "5783eda528515aff591ea540b42bdee6d9a9a482",
      "parents": [
        "bde6ddbbfa580fb6456b4bac4c0ccc16a83653aa"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 30 15:43:42 2016 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 30 18:09:29 2016 -0800"
      },
      "message": "init: don\u0027t wait if we have more work to do\n\nBug: 33212253\nTest: On marlin\nChange-Id: I8502eaa73fac6953d358af01482760b3249cfd67\n"
    },
    {
      "commit": "bde6ddbbfa580fb6456b4bac4c0ccc16a83653aa",
      "tree": "8132039090d97dabebd0f427fd7fa81d4fd7ac8d",
      "parents": [
        "769a5a19621b80840d9f091d060579ddacaf010f",
        "7e0af4589e5ec6b1fe3040d100d04bb213e53bfb"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Thu Dec 01 01:35:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 01:35:37 2016 +0000"
      },
      "message": "Merge \"fs_mgr: support to reserved some blocks for an ext2/3/4 partition.\""
    },
    {
      "commit": "769a5a19621b80840d9f091d060579ddacaf010f",
      "tree": "0a2e0935ad0d1c9b5fc8eadb12b462aab74e732b",
      "parents": [
        "9e8467a070b282b1534edbba597c308cb0561450",
        "8c1838823a806ee3efac9cdd5c940000e577b8c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 22:32:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 22:32:44 2016 +0000"
      },
      "message": "Merge \"Use hasmntopt(3) rather than reinventing the wheel.\""
    },
    {
      "commit": "3cd9e314464d293d7814ad114cc4780f822cc5a2",
      "tree": "a4cf211f965b7a9e6004a262ccf2d9097b68c6f3",
      "parents": [
        "9e8467a070b282b1534edbba597c308cb0561450"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 21 09:24:13 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 30 11:08:46 2016 -0800"
      },
      "message": "liblog: fortify event_log_tags test\n\nRobustness fortification.  Deal with gtest failure if event-log-tags\nfile is updated, adb sync for example, and thus will report\nShared_Dirty instead of Shared_Clear.  Add check for Private_Dirty\nand Private_Clean being clear at zero too as a bonus.\n\nTest: gTest liblog-unit-tests --gtest_filter\u003dliblog.event_log_tags\nBug: 31456426\nChange-Id: Id912929fdd65499aa532a15653ef387a997a5054\n"
    },
    {
      "commit": "9e8467a070b282b1534edbba597c308cb0561450",
      "tree": "1ebe01f9cb508bb2bb1cedefb5eca522d3e2f071",
      "parents": [
        "80d2f01fbf53865fdf17b776f476a48fc8ae404a",
        "c198b150d473199e933fe24ebcf252c1584219d1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 18:27:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 18:27:39 2016 +0000"
      },
      "message": "Merge \"Statically link LLVM libraries into backtrace_test\""
    },
    {
      "commit": "c198b150d473199e933fe24ebcf252c1584219d1",
      "tree": "4c12aa20b4643632f8f47e5d25881b706dce6715",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Nov 28 15:27:40 2016 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Nov 30 17:43:20 2016 +0000"
      },
      "message": "Statically link LLVM libraries into backtrace_test\n\nBug: http://b/28866258\n\nRemove dependency of backtrace_test on libLLVM.  Also clean up\nspecification for libbacktrace_offline module.  Since it is a static\nlibrary now, dependencies are only needed to automatically include\nnecessary headers.\n\nTest: 32-bit and 64-bit backtrace_test passes on host and on Angler.\n      mma in system/extras/simpleperf, cts/tests/tests/simpleperf\n      m test-art-host\n\nChange-Id: I76b0db14d067fa7b140a99edd237370ac04fe873\n"
    },
    {
      "commit": "80d2f01fbf53865fdf17b776f476a48fc8ae404a",
      "tree": "e8435ba2341efe4ae86a3e5d92c99fb4646b6a35",
      "parents": [
        "bac388e4241f20a655d5ca1b291d747ec119d7ab",
        "b104c502e1db80eda9751b0cba19e2e24fc0c3c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 17:39:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 17:39:55 2016 +0000"
      },
      "message": "Merge \"init: Fix sync issue on property trigger.\""
    },
    {
      "commit": "8c1838823a806ee3efac9cdd5c940000e577b8c7",
      "tree": "edb926d35d83660c5a1be238e8401150f3562f7d",
      "parents": [
        "1abc3cd641120aceabde7dd927f6dfc5b565e242"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 09:37:17 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 30 09:37:17 2016 -0800"
      },
      "message": "Use hasmntopt(3) rather than reinventing the wheel.\n\nBug: N/A\nTest: \"power off\" still works\nChange-Id: I11d3dc22f98ac71608c9929a3fd43319c787d49e\n"
    },
    {
      "commit": "bac388e4241f20a655d5ca1b291d747ec119d7ab",
      "tree": "8b87b52170062150e5babdf23686f3197bd14c00",
      "parents": [
        "95a53b8b7aadd4fb21778702711abca37f383da9",
        "678194ddac316ee1e2b394dc95d25c5e836def49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 17:21:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 17:21:46 2016 +0000"
      },
      "message": "Merge \"libcutils: tests\""
    },
    {
      "commit": "95a53b8b7aadd4fb21778702711abca37f383da9",
      "tree": "792503682cb1072fc4e22590c236bf8a133afebe",
      "parents": [
        "f1f7333e7ce1034f360d8aef0de04c545bf7cf39",
        "39e2d22b9368ae0e97bba75dcf6d5ab64e2241ce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 16:55:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 16:55:23 2016 +0000"
      },
      "message": "Merge \"logcat: Fix --last usage option typo\""
    },
    {
      "commit": "f1f7333e7ce1034f360d8aef0de04c545bf7cf39",
      "tree": "43963b870c08655f231fe5dac994f9f25c8b1944",
      "parents": [
        "4afb3ef9528473bd92469ce64e16e71f60ea05e2",
        "52ed8c68ee6c17e7ab79f93dc5a0be40d4276cf5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 16:25:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 16:25:11 2016 +0000"
      },
      "message": "Merge \"liblog: CTS test\""
    },
    {
      "commit": "4afb3ef9528473bd92469ce64e16e71f60ea05e2",
      "tree": "dc9d34f25a78d123084953ea7c777517ed6fb9b5",
      "parents": [
        "d91e35fb09753f3b27912bba2e6390fa6619fff9",
        "0b37d01f72685cc957706ef6c3a93fdc4ef5bc93"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 15:31:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 15:31:11 2016 +0000"
      },
      "message": "Merge \"liblog: event_tag_map benchmark\""
    },
    {
      "commit": "39e2d22b9368ae0e97bba75dcf6d5ab64e2241ce",
      "tree": "2ead7c43568919b90b33efaca6f9b3605fefa70c",
      "parents": [
        "d91e35fb09753f3b27912bba2e6390fa6619fff9"
      ],
      "author": {
        "name": "Oleksiy Avramchenko",
        "email": "oleksiy.avramchenko@sonymobile.com",
        "time": "Tue Nov 29 12:48:11 2016 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Wed Nov 30 13:42:14 2016 +0100"
      },
      "message": "logcat: Fix --last usage option typo\n\nTest: mm\nChange-Id: I0b7a1615857acd4cd467f1ff1752eeae86d84eca\n"
    },
    {
      "commit": "d91e35fb09753f3b27912bba2e6390fa6619fff9",
      "tree": "5d72dc19e4a6398507a58085c360b78baed82874",
      "parents": [
        "b675f7cd328ee47097f87f9efb5fd37d64d361de",
        "6b694a76f5da14f8a8e8610fb02ccdb519c54ae7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 07:54:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 07:54:48 2016 +0000"
      },
      "message": "Merge \"ion.c: add O_CLOEXEC to /dev/ion open\""
    },
    {
      "commit": "b675f7cd328ee47097f87f9efb5fd37d64d361de",
      "tree": "fd1e0a8e9c63e8304a7a927ce5cf5334654425a2",
      "parents": [
        "1abc3cd641120aceabde7dd927f6dfc5b565e242",
        "53fb32f05cc17848f239dec6b8c821b7c5124ef4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 07:53:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 07:53:09 2016 +0000"
      },
      "message": "Merge \"debuggerd: Dump list of open files on process crash.\""
    },
    {
      "commit": "1abc3cd641120aceabde7dd927f6dfc5b565e242",
      "tree": "db24aab321a02107b326b5eef63554a2fc53f10e",
      "parents": [
        "94b9e4df0477b354b54f9eae121b3558c80b273f",
        "0910d2dbb924fd70911e89526ad936282c54a650"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 05:59:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 05:59:53 2016 +0000"
      },
      "message": "Merge changes Ia0ca36fc,Ib42c0635\n\n* changes:\n  Enable liblog on host bionic\n  Enable libbase/libutils/libziparchive on host bionic\n"
    },
    {
      "commit": "94b9e4df0477b354b54f9eae121b3558c80b273f",
      "tree": "53897ae813b23685ba64f8983183fcc5f36216d2",
      "parents": [
        "08f0c4c998ccde599a4aafe462c40744b9f52484",
        "fc592327a94dcfaac0f14b991ed7cab36c72551b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 05:15:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 05:15:33 2016 +0000"
      },
      "message": "Merge \"Switch sdcardfs over to bind mounts.\""
    },
    {
      "commit": "08f0c4c998ccde599a4aafe462c40744b9f52484",
      "tree": "0942a93641ba00bec048635078e1bde0ff7e05b7",
      "parents": [
        "9bfd9f558b116e208aef7bdeef887ca37fcd2007",
        "8a475f7e4ae72db0a6cfe31ab46f588e89e0fc34"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 04:27:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 04:27:32 2016 +0000"
      },
      "message": "Merge \"delete toolbox/r.c\""
    },
    {
      "commit": "8a475f7e4ae72db0a6cfe31ab46f588e89e0fc34",
      "tree": "0942a93641ba00bec048635078e1bde0ff7e05b7",
      "parents": [
        "9bfd9f558b116e208aef7bdeef887ca37fcd2007"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 29 15:43:17 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 29 15:45:11 2016 -0800"
      },
      "message": "delete toolbox/r.c\n\n/dev/mem has been turned off on all Android kernels (b/19549480). This\nutility cannot be used.\n\nTest: android compiles.\nChange-Id: I500021f224febb15dd8bfe6e1f6e5c398fe6f552\n"
    },
    {
      "commit": "6b694a76f5da14f8a8e8610fb02ccdb519c54ae7",
      "tree": "be8e7b14e505b031244dd25d80625ba6bf4c684d",
      "parents": [
        "9bfd9f558b116e208aef7bdeef887ca37fcd2007"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 29 15:20:18 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 29 15:20:33 2016 -0800"
      },
      "message": "ion.c: add O_CLOEXEC to /dev/ion open\n\nTest: device boots and no obvious problems.\nChange-Id: I0845b79de49b77878adaf6cd14cc506f7586cccb\n"
    },
    {
      "commit": "0910d2dbb924fd70911e89526ad936282c54a650",
      "tree": "990da721982bae75c52fb2b7f70565f5539216ab",
      "parents": [
        "ab34b47b359aced9e363f4e4d7018a82720f6868"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 29 13:39:55 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 29 13:39:55 2016 -0800"
      },
      "message": "Enable liblog on host bionic\n\nSome of the __BIONIC__ checks were actually looking for an android\ndevice. Host bionic has __BIONIC__, but not __ANDROID__.\n\nBug: 31559095\nTest: Test linux_bionic compile\nChange-Id: Ia0ca36fc9486fe8ea7e5d1b2e26ab0491903723c\n"
    },
    {
      "commit": "ab34b47b359aced9e363f4e4d7018a82720f6868",
      "tree": "75d0e6e8234d78f883d5bd345a54a61db267df59",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 29 13:32:55 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 29 13:38:53 2016 -0800"
      },
      "message": "Enable libbase/libutils/libziparchive on host bionic\n\nBug: 31559095\nTest: Test linux_bionic compile\nChange-Id: Ib42c063532c1cbeb3e1418ab16a1fb54d5902aab\n"
    },
    {
      "commit": "b104c502e1db80eda9751b0cba19e2e24fc0c3c0",
      "tree": "0bbf355ae852344b77770cffcc7563d090165ba6",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "caozhiyuan",
        "email": "cao.zhiyuan@zte.com.cn",
        "time": "Sat Nov 26 21:14:07 2016 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 29 20:19:17 2016 +0000"
      },
      "message": "init: Fix sync issue on property trigger.\n\nThis issue reproduces in the following senario.\n 1. (\"\", \"\") is added to queue;\n 2. property_triggers_enabled is set to 1;\n 3. user defined property is triggered, like sys.usb.config\u003dadb;\n 4. (\"sys.usb.config\", \"adb\") is added to queue;\n 5. main loop interpret (\"\", \"\") and queue all current triggers to execution,\n    so (\"sys.usb.config\", \"adb\") is queued for execution for the first time.\n 6. main loop interpret (\"sys.usb.config\", \"adb\"), it is queued for\n    execution for a second time.\nThe second time makes ASIT fail.\n\nBug: http://b/28218187\nChange-Id: I230e175e0dca8989f1e5bd812398da90082d0ec1\nSigned-off-by: caozhiyuan \u003ccao.zhiyuan@zte.com.cn\u003e\n"
    },
    {
      "commit": "9bfd9f558b116e208aef7bdeef887ca37fcd2007",
      "tree": "02868722651e9737da080517e728bde65afe4896",
      "parents": [
        "5b21deb7864bcb92b0675f50ff1522f40b5e0f63",
        "1179eb8048f5861bf92b29441230381526d30e5d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 19:37:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 19:37:48 2016 +0000"
      },
      "message": "Merge \"system/core: replace EVENT_TAG_MAP_FILE with NULL\""
    },
    {
      "commit": "5b21deb7864bcb92b0675f50ff1522f40b5e0f63",
      "tree": "faacafe154a594a91d0b39ceb845135ce0216249",
      "parents": [
        "a10bd47d603995835412334504d0fbeffe0ae299",
        "79ce3fe7db2a947d59218d446f356a9ab4c96800"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 18:13:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 18:13:07 2016 +0000"
      },
      "message": "Merge changes I1d03564f,I883e4e6c\n\n* changes:\n  adb: be more permissive in test_push_error_reporting.\n  adb: make sure that file mode macros match linux.\n"
    },
    {
      "commit": "678194ddac316ee1e2b394dc95d25c5e836def49",
      "tree": "6967d1d1a2b635f395c3588a57386ca6d8509917",
      "parents": [
        "a10bd47d603995835412334504d0fbeffe0ae299"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 28 10:39:21 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Nov 29 10:08:12 2016 -0800"
      },
      "message": "libcutils: tests\n\nRespect \"android\" and \"not_windows\" (linux + darwin). This\nmeans the string test and control support routines were not\nbeing tested on android.\n\nTest: gTest libcutils_test\nBug: 32450474\nChange-Id: I9505fefeb0a4a8c5b54aa637812b4f3c07c2893c\n"
    },
    {
      "commit": "a10bd47d603995835412334504d0fbeffe0ae299",
      "tree": "569fe52011d70fd2950d840fa598c88e8d9d46da",
      "parents": [
        "57c31d0f1708e7822c6f1c58dfcddda5fbca4cc2",
        "a452660d92925f004e30c194c0fcdb062246a11a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 18:05:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 18:05:51 2016 +0000"
      },
      "message": "Merge \"Revert \"init: Reworked how we wait for COLDBOOT_DONE\"\""
    },
    {
      "commit": "52ed8c68ee6c17e7ab79f93dc5a0be40d4276cf5",
      "tree": "47eb1348f918af53f7bcb4b169d477ac3b3219f6",
      "parents": [
        "57c31d0f1708e7822c6f1c58dfcddda5fbca4cc2"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Mar 29 16:54:25 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Nov 29 08:40:16 2016 -0800"
      },
      "message": "liblog: CTS test\n\nUtilize liblog-unit-tests as a CTS test\n\nReplacement for EventLogTest#testWriteEventWithOversizeValue\nalong with some other mandatory logging functionality.\n\nTest: run cts tests\nBug: 26235244\nChange-Id: I71f549bd0b93f6c41e1f91565b0fbddf042e4991\n"
    },
    {
      "commit": "a452660d92925f004e30c194c0fcdb062246a11a",
      "tree": "d84bdabaa4655470ce17066ddb19cb49ade89a8b",
      "parents": [
        "d36115ef2f5c671e665a176f09c9d810df58bf89"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 29 16:34:56 2016 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 29 16:34:56 2016 +0000"
      },
      "message": "Revert \"init: Reworked how we wait for COLDBOOT_DONE\"\n\nThis reverts commit d36115ef2f5c671e665a176f09c9d810df58bf89.\n\nChange-Id: I599b0eeebf9c062852323f2a4a986b18dd85288a\n"
    },
    {
      "commit": "57c31d0f1708e7822c6f1c58dfcddda5fbca4cc2",
      "tree": "cf81951084a1a7296664c5dc42590ec77c303065",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036",
        "d36115ef2f5c671e665a176f09c9d810df58bf89"
      ],
      "author": {
        "name": "Billy Lau",
        "email": "billylau@google.com",
        "time": "Tue Nov 29 16:31:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 16:31:12 2016 +0000"
      },
      "message": "Merge \"init: Reworked how we wait for COLDBOOT_DONE\""
    },
    {
      "commit": "fc592327a94dcfaac0f14b991ed7cab36c72551b",
      "tree": "e698f3b80fe24f2c06085272bee69d77f7ffdc69",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "Daniel Rosenberg",
        "email": "drosen@google.com",
        "time": "Thu Oct 27 17:43:37 2016 -0700"
      },
      "committer": {
        "name": "Daniel Rosenberg",
        "email": "drosen@google.com",
        "time": "Mon Nov 28 20:07:54 2016 -0800"
      },
      "message": "Switch sdcardfs over to bind mounts.\n\nSdcardfs has been modified to use bind mounts\nin place of three separate mounts. This lowers\nresource usage, and removes a number of race\nconditions around updates via differnt views.\n\nTest: Run storage cts tests with sdcardfs enabled\nChange-Id: Icdc196ba3d6f46d54d27ef91c01ffebcf81dd47e\n"
    },
    {
      "commit": "0b37d01f72685cc957706ef6c3a93fdc4ef5bc93",
      "tree": "24765922d56da65144316bf1a8fb6cf70444f23d",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Nov 22 13:08:59 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 28 15:15:58 2016 -0800"
      },
      "message": "liblog: event_tag_map benchmark\n\nTested on Hikey, all services stopped, shell only access, CPUs not\nlocked.\n\n$ /data/nativetest64/liblog-benchmarks/liblog-benchmarks BM_lookupEvent*\n                          iterations      ns/op\nPrecharge: start\nPrecharge: stop 231\nBM_lookupEventTag           10000000        153\nBM_lookupEventTag_NOT       20000000        139\nBM_lookupEventFormat        10000000        153\n\nTest: run benchmarks\nBug: 31456426\nChange-Id: Ice3ffa0b061d9a6b917718b2d9aedcc2348b7005\n"
    },
    {
      "commit": "7e0af4589e5ec6b1fe3040d100d04bb213e53bfb",
      "tree": "33efaa20bf57b72c6d6cedc8887b30659a612b6a",
      "parents": [
        "16017b3fbbb6ada5cd22ca38e80776981800e036"
      ],
      "author": {
        "name": "liminghao",
        "email": "liminghao@xiaomi.com",
        "time": "Fri Jul 22 11:48:14 2016 +0800"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Wed Nov 23 19:35:42 2016 +0000"
      },
      "message": "fs_mgr: support to reserved some blocks for an ext2/3/4 partition.\n\nThese reserved blocks used to root or claim to CAP_SYS_RESOURCES process.\n\nChange-Id: I4893bdb08399bf31a7640d4a63f4952cd636576f\nMerged-In: I4893bdb08399bf31a7640d4a63f4952cd636576f\n\nSigned-off-by: liminghao \u003climinghao@xiaomi.com\u003e\n"
    },
    {
      "commit": "16017b3fbbb6ada5cd22ca38e80776981800e036",
      "tree": "569fe52011d70fd2950d840fa598c88e8d9d46da",
      "parents": [
        "1b2e6abf3bb8b1abf5064906fda51d03c33beab4",
        "1c2f612c18225719719e68d819625e2f8741881a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 23 01:40:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 23 01:40:04 2016 +0000"
      },
      "message": "Merge \"toolbox: exit when failed to allocate buffer for ioctl\""
    },
    {
      "commit": "1b2e6abf3bb8b1abf5064906fda51d03c33beab4",
      "tree": "44de63c404bd20410645fcdcfcfd3ca4117d3d00",
      "parents": [
        "72662414f628b695d37700999532d27c1baa044f",
        "c4084c669495fd1b41ce8b6568c71b1f46d26969"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 23 00:06:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 23 00:06:30 2016 +0000"
      },
      "message": "Merge \"change /data/bugreports to /bugreports\""
    },
    {
      "commit": "1c2f612c18225719719e68d819625e2f8741881a",
      "tree": "8571faee61a7357090f2ea84643e854fa4677fa6",
      "parents": [
        "72662414f628b695d37700999532d27c1baa044f"
      ],
      "author": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 15 16:13:42 2016 -0800"
      },
      "committer": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 22 15:33:34 2016 -0800"
      },
      "message": "toolbox: exit when failed to allocate buffer for ioctl\n\nThis is a \"shouldn\u0027t happen\" case.\n\nTest: make WITH_TIDY\u003d1 mmma system/core/toolbox\nChange-Id: I51e44e17837b03d6df6f8c4c3e1aeab8253e094d\n"
    },
    {
      "commit": "d36115ef2f5c671e665a176f09c9d810df58bf89",
      "tree": "48d8f02be8861ba38d2493ab1edc2cb9f40f3a78",
      "parents": [
        "b6552f376ca2903d987faa9b05808d72952af858"
      ],
      "author": {
        "name": "Billy Lau",
        "email": "billylau@google.com",
        "time": "Tue Nov 22 18:33:31 2016 +0000"
      },
      "committer": {
        "name": "Billy Lau",
        "email": "billylau@google.com",
        "time": "Tue Nov 22 21:25:02 2016 +0000"
      },
      "message": "init: Reworked how we wait for COLDBOOT_DONE\n\nBug: 31800756\n\nInstead of strictly timing out after 1s waiting for COLDBOOT_DONE,\nwe wait for a considerably longer period of time, which would also\nallow slower non-production heavily instrumented debug builds to\nboot up.\n\nUpon successful wait, we measure the time taken and record the\nvalue into a system property: ro.cold_boot.duration.\n\nIf timeout is still reached, we log an error message and abandon\nboot process, rebooting into recovery mode instead.\n\nChange-Id: Ic1df80546d8721b0e8c998ff294d5c5102de4e98\n"
    },
    {
      "commit": "72662414f628b695d37700999532d27c1baa044f",
      "tree": "ca9a52f09fd368d0d7d8a1fb6e2ff3ade923473e",
      "parents": [
        "636c851f8dc7634c570c82f8638940c426a41b2a",
        "0067e03251a0805e323fa4fb840b53e46c7fbd20"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Nov 22 18:42:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 18:42:39 2016 +0000"
      },
      "message": "Merge \"fs_mgr: change MF_MAX_COMP_STREAMS define to match internal master\""
    },
    {
      "commit": "c4084c669495fd1b41ce8b6568c71b1f46d26969",
      "tree": "3f2f4742a18bf60e0f98f6f1f01685aad887222c",
      "parents": [
        "636c851f8dc7634c570c82f8638940c426a41b2a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Nov 19 12:09:33 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 22 08:57:25 2016 -0800"
      },
      "message": "change /data/bugreports to /bugreports\n\nIt\u0027s 5 characters shorter, has no runtime costs, can be stored on a\nread-only partition, and avoids problems like b/27262109 and b/27204904.\nIt allows makes some security hardening easier.\n\nBug: 27262109\nBug: 27204904\nBug: 32799236\nTest: verified new symlink created and old one not present\nChange-Id: Ief362e13569ad9c868a7f0f9c4dbd6a328c96c6b\n"
    },
    {
      "commit": "636c851f8dc7634c570c82f8638940c426a41b2a",
      "tree": "cc32d53fc391e614623d99a61353594afcf5dcc9",
      "parents": [
        "418558f8af3297736acc2e90213491d4db367cb0",
        "2ca4f49476a4e4e46dc7b47b2ce56ccaaadb9c8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 22 15:53:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 15:53:32 2016 +0000"
      },
      "message": "Merge \"liblog: add private android_log_write_list_buffer()\""
    },
    {
      "commit": "418558f8af3297736acc2e90213491d4db367cb0",
      "tree": "739bda1ad78ca8fbf784cc19affd9ecaa9b33404",
      "parents": [
        "b6552f376ca2903d987faa9b05808d72952af858",
        "472245d9625b8f0c52737aa8753524facfa211db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 22 15:51:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 15:51:38 2016 +0000"
      },
      "message": "Merge \"liblog: move android_log_event_context class to log/log_event_list.h\""
    },
    {
      "commit": "79ce3fe7db2a947d59218d446f356a9ab4c96800",
      "tree": "fd107189c76d6f903e8d4082a52eb276e5600996",
      "parents": [
        "05a3abfef34b7b7b0f4358c15fe5410cc088aa03"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Nov 18 15:31:11 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 21 18:39:21 2016 -0800"
      },
      "message": "adb: be more permissive in test_push_error_reporting.\n\nBe agnostic to whether /system is writable when testing push error\nreporting.\n\nTest: python test_device.py\nChange-Id: I1d03564fa35442c20e2c96a7f5b56d39868efc52\n"
    },
    {
      "commit": "05a3abfef34b7b7b0f4358c15fe5410cc088aa03",
      "tree": "40783e4d095a03f8c94c95a779352efee07d4aa7",
      "parents": [
        "b6552f376ca2903d987faa9b05808d72952af858"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Nov 18 15:17:07 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 21 18:39:21 2016 -0800"
      },
      "message": "adb: make sure that file mode macros match linux.\n\nWe use \u003csys/stat.h\u003e mode macros on the host to parse modes sent over\nfrom the device, so they had better match. Add static_asserts to ensure\nthis.\n\n(Also, fix the cases where they don\u0027t.)\n\nTest: mma -j48, compiled the static_asserts on darwin manually\nChange-Id: I883e4e6c7489ea64d3c02d26790ac8293366d989\n"
    },
    {
      "commit": "1179eb8048f5861bf92b29441230381526d30e5d",
      "tree": "25a8ac14c4919e692e7c20ec612805d657eb1ea2",
      "parents": [
        "b6552f376ca2903d987faa9b05808d72952af858"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Nov 11 09:48:56 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 21 11:13:02 2016 -0800"
      },
      "message": "system/core: replace EVENT_TAG_MAP_FILE with NULL\n\nNULL represents system default.  In the future, NULL could represent\nstatic and dynamic tags, which can come from multiple files based on\nimplementation details in the liblog library.\n\nTest: gTest logd-unit-tests \u0026 liblog-unit-tests\nBug: 31456426\nChange-Id: I0e3d296de81ca299ae63d7b83781639ee67ec298\n"
    },
    {
      "commit": "2ca4f49476a4e4e46dc7b47b2ce56ccaaadb9c8d",
      "tree": "cc32d53fc391e614623d99a61353594afcf5dcc9",
      "parents": [
        "472245d9625b8f0c52737aa8753524facfa211db"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Sep 12 11:54:57 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 21 09:46:39 2016 -0800"
      },
      "message": "liblog: add private android_log_write_list_buffer()\n\nAllows us to compose an event message for our own in-memory purposes.\nWill be used to compose an event message in logd and directly write\nit to just the pmsg buffer.  Provide an internal enhanced C++ wrapper\nfor event handling.\n\nTest: gTest liblog-unit-tests --gtest_filter\u003dliblog.android_log_write_list_buffer\nBug: 31456426\nChange-Id: I98246898ba580f9e506baba8af2fd1b26a2a8aae\n"
    },
    {
      "commit": "472245d9625b8f0c52737aa8753524facfa211db",
      "tree": "739bda1ad78ca8fbf784cc19affd9ecaa9b33404",
      "parents": [
        "b6552f376ca2903d987faa9b05808d72952af858"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Nov 18 10:45:45 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 21 09:46:34 2016 -0800"
      },
      "message": "liblog: move android_log_event_context class to log/log_event_list.h\n\nrename class from android_log_event_context to android_log_event_list\n\nTest: gTest logcat-unit-tests\nBug: 31992412\nBug: 31456426\nChange-Id: Ib61cbca7d453837d64959c56b0e11f8c5edbfbdd\n"
    },
    {
      "commit": "53fb32f05cc17848f239dec6b8c821b7c5124ef4",
      "tree": "7b982e41f907096c0696987837c2c588d8dc027a",
      "parents": [
        "e133feb6b4c25ea3f28ca34a9cde2d8c1361b7b0"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Oct 28 16:37:33 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Nov 21 11:40:42 2016 +0000"
      },
      "message": "debuggerd: Dump list of open files on process crash.\n\nTest: Open a bunch of files, wait for the process to crash, verify dubuggerd\nincludes the list of open files the tombstone it generates.\nTest: Added OpenFilesListTest to debuggerd_test.\n\nBug: 32013594\n\nChange-Id: I6f939ae1d04dc58dc99abff0ed930da9e0ef0d1c\n"
    },
    {
      "commit": "b6552f376ca2903d987faa9b05808d72952af858",
      "tree": "d84bdabaa4655470ce17066ddb19cb49ade89a8b",
      "parents": [
        "a9ea1e4d99ca0f7872824c0bca3f357ab04b6f33",
        "102daa30a3ce597af1d9b2bb77205b16d0311cad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 19 00:48:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 19 00:48:14 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"init: create /dev/urandom, /dev/random in first stage.\"\"\""
    },
    {
      "commit": "0067e03251a0805e323fa4fb840b53e46c7fbd20",
      "tree": "4bfe8b776745fe2b98245e8261198307ef80a829",
      "parents": [
        "a9ea1e4d99ca0f7872824c0bca3f357ab04b6f33"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Fri Nov 18 16:37:53 2016 -0800"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Fri Nov 18 16:38:40 2016 -0800"
      },
      "message": "fs_mgr: change MF_MAX_COMP_STREAMS define to match internal master\n\nChange-Id: I53a8c6158b4dd1bf5e14ef0a842b7f43ca8bae31\n"
    },
    {
      "commit": "a9ea1e4d99ca0f7872824c0bca3f357ab04b6f33",
      "tree": "41a018fa889c1b3b7f98f294399e61f481c22731",
      "parents": [
        "16300f192b58f51baf78e180283bbcea932724f4",
        "4d217f02d3327cc06a3266c3e1022cef7dd753ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 23:09:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 23:09:44 2016 +0000"
      },
      "message": "Merge \"Add support for max_comp_streams option for zram\""
    },
    {
      "commit": "102daa30a3ce597af1d9b2bb77205b16d0311cad",
      "tree": "5a20c4dbc0ceddd24a66b80c8583623eb043ab9b",
      "parents": [
        "3bde05d928fb74a75144ae0eeaa25891c91234d1"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Nov 18 14:58:40 2016 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Nov 18 15:09:18 2016 -0800"
      },
      "message": "Revert \"Revert \"init: create /dev/urandom, /dev/random in first stage.\"\"\n\nThis reverts commit 4c8a76e250fbc04210cb68324ff167a019591574.\n\nTest: booted angler-userdebug\n\nChange-Id: I2257a44b7cf624065e5653754062a117f3e44c98\n"
    },
    {
      "commit": "4d217f02d3327cc06a3266c3e1022cef7dd753ff",
      "tree": "41a018fa889c1b3b7f98f294399e61f481c22731",
      "parents": [
        "16300f192b58f51baf78e180283bbcea932724f4"
      ],
      "author": {
        "name": "Peter Enderborg",
        "email": "peter.enderborg@sonymobile.com",
        "time": "Fri Aug 26 15:09:35 2016 +0200"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Fri Nov 18 21:19:25 2016 +0000"
      },
      "message": "Add support for max_comp_streams option for zram\n\nWith this option the fstab can include a parameter for zram\nthe enables more streams for kernels that does not have\ndynamic stream task handling.\n\nTest: Made sure max_comp_streams is set according to fstab.\nChange-Id: I22e158a075a8a86b4e80d3b13989896929c0d223\n"
    },
    {
      "commit": "16300f192b58f51baf78e180283bbcea932724f4",
      "tree": "3d1087df0152304fc6f330e1b0bbf660cc71befe",
      "parents": [
        "453db013b098e9b48cd9cb5c32fb5ce9c4c4485f",
        "c8749d510819d0ea565640adfe38ace7669c7325"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Nov 18 16:06:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 16:06:08 2016 +0000"
      },
      "message": "Merge \"logd: add EXIT command\""
    },
    {
      "commit": "453db013b098e9b48cd9cb5c32fb5ce9c4c4485f",
      "tree": "2dfb37aa685370de74f2b2668f0850df189ea8eb",
      "parents": [
        "3bde05d928fb74a75144ae0eeaa25891c91234d1",
        "da1f279509dc11b436818d0ef0b0bfb49d147fa0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 02:13:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 02:13:19 2016 +0000"
      },
      "message": "Merge \"adb: fix progress percentage when pulling symlinks.\""
    },
    {
      "commit": "da1f279509dc11b436818d0ef0b0bfb49d147fa0",
      "tree": "990d856e156122d2f929735bb0b646eac44bdecb",
      "parents": [
        "e631e470e059d84388f3aacfe11a3fa60a584ba7"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 17 16:02:36 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 17 16:17:07 2016 -0800"
      },
      "message": "adb: fix progress percentage when pulling symlinks.\n\nThe adb protocol currently only supports lstat with no way of finding\nthe target of a symlink, so pulling a symlink that points to a file\nlooks like pulling a file with length equal to the length of path to\nthe symlink\u0027s target. Pulling a file that\u0027s sufficiently large can\noverflow the int used to calculate percentage, and result in a bogus\ncompletion percentage being displayed.\n\nBug: http://b/29277448\nTest: adb pull /dev/block/platform/soc.0/f9824900.sdhci/by-name/system\nChange-Id: I42d180550ac2aa9e4705676ccbb20f5db789fb8d\n"
    },
    {
      "commit": "c8749d510819d0ea565640adfe38ace7669c7325",
      "tree": "1ed74ee6ed325258a89f0e0830a79eed4df906d1",
      "parents": [
        "3bde05d928fb74a75144ae0eeaa25891c91234d1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 08 13:16:59 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 14:42:33 2016 -0800"
      },
      "message": "logd: add EXIT command\n\nDebugging aid. Allows us to run:\n\n$ cat -n \u0027\u003cSTUFF\u003e\\0EXIT\\0\u0027 | nc -U /dev/socket/logd\n\nand the pipeline will exit once done. Without the EXIT command\nwe will have to \u003cCTRL+C\u003e out to terminate the pipeline. This is\nnecessary since Android\u0027s netcat command does not support the -q\nfeature, and having the EXIT command is faster and cleaner anyways.\n\nTest: manual as noted above.\nBug: 31456426\nChange-Id: I65333358188db85e2eb1bb6a14deed1565826ac4\n"
    },
    {
      "commit": "3bde05d928fb74a75144ae0eeaa25891c91234d1",
      "tree": "6fdcf4227d32e22a5c4637ec567bc2845fdb0096",
      "parents": [
        "9bf10ff61e91b22d863e6d73ba2d408ebd374a6b",
        "284f07bd9d90386525abde6832e29c5539cd3c4d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 20:29:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 20:29:10 2016 +0000"
      },
      "message": "Merge \"Remove dead code.\""
    },
    {
      "commit": "9bf10ff61e91b22d863e6d73ba2d408ebd374a6b",
      "tree": "651bd1eb344b112ea5ed33da964780a89602018a",
      "parents": [
        "5fbd1cfd340e8b33ba308e5341dc07d82edfe9c0",
        "93df4e18a255262595acb862ab870e9fed721fb8"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Nov 17 19:21:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 19:21:47 2016 +0000"
      },
      "message": "Merge \"init: move empty string check to InitTriggers\""
    },
    {
      "commit": "284f07bd9d90386525abde6832e29c5539cd3c4d",
      "tree": "916fa9272a3f459b2d6ceacddb1ea159b9ebed01",
      "parents": [
        "f3e731b3c5711f3d0de7d2c4a6fecace72fec25a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 17 10:32:16 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 17 10:32:16 2016 -0800"
      },
      "message": "Remove dead code.\n\nAt this point, we can\u0027t write to oom_score_adj anyway.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d227721\nTest: boots, adb shell still works\nChange-Id: I07e6ad32765f6582f316973547a3a3d552808287\n"
    },
    {
      "commit": "5fbd1cfd340e8b33ba308e5341dc07d82edfe9c0",
      "tree": "373155a72ea854bd3f473500f53d21b1c98f0dfa",
      "parents": [
        "ed0a48c617e7dce710bcc498000be9b9e0a43ce4",
        "a8d8434c42b27f0186be7ecd78c2acc9d459b068"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 17:39:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 17:39:53 2016 +0000"
      },
      "message": "Merge \"Add flags to restorecon_recursive to traverse filesystems\""
    },
    {
      "commit": "ed0a48c617e7dce710bcc498000be9b9e0a43ce4",
      "tree": "f8e32fe58f7b82ca8e8a5f2a2929181a70fac464",
      "parents": [
        "231d1ac640c4112c984fdea41a372e74d239d2bb",
        "0958b18da03e664802c5d4956629c4a2fb6e5664"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 16:36:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 16:36:21 2016 +0000"
      },
      "message": "Merge \"libcutils:  sdk(mac) build error (part deux)\""
    },
    {
      "commit": "0958b18da03e664802c5d4956629c4a2fb6e5664",
      "tree": "f8e32fe58f7b82ca8e8a5f2a2929181a70fac464",
      "parents": [
        "231d1ac640c4112c984fdea41a372e74d239d2bb"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 08:33:19 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 08:33:26 2016 -0800"
      },
      "message": "libcutils:  sdk(mac) build error (part deux)\n\nTest: Build\nBug: 32450474\nChange-Id: I92cca30217715779a9db6a60e2e4831a20cec3d4\n"
    },
    {
      "commit": "231d1ac640c4112c984fdea41a372e74d239d2bb",
      "tree": "cc8b45fc562f848f144e7d6e251c766b2664cd01",
      "parents": [
        "c097c79b7787493fec7a097ac2ba603e42e30d0c",
        "6b652160d1f33ecb31663224813c57288f7008e1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 16:09:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 16:09:33 2016 +0000"
      },
      "message": "Merge \"libcutils: sdk(mac) build error\""
    },
    {
      "commit": "6b652160d1f33ecb31663224813c57288f7008e1",
      "tree": "cc8b45fc562f848f144e7d6e251c766b2664cd01",
      "parents": [
        "c097c79b7787493fec7a097ac2ba603e42e30d0c"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 08:05:10 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 08:05:16 2016 -0800"
      },
      "message": "libcutils: sdk(mac) build error\n\nSurprise surprise, MAC sdk build has F_GETFD \u0026 not TEMP_FAILURE_RETRY.\nRevert code to original form with the three alternatives for all OSii.\n\nTest: Build\nBug: 32450474\nChange-Id: Ia7361d8107675a620968d8395c5e2351ad364d29\n"
    },
    {
      "commit": "c097c79b7787493fec7a097ac2ba603e42e30d0c",
      "tree": "62e019dad52759cdf0fdb870245877bd755d5ab1",
      "parents": [
        "8c41e791ed726449bd51a35f03dd6269274668c0",
        "538bc12c0807ceb850749b8803546b058e049146"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 15:23:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 15:23:05 2016 +0000"
      },
      "message": "Merge \"logcat: add hidden --debug flag and cleanup\""
    },
    {
      "commit": "8c41e791ed726449bd51a35f03dd6269274668c0",
      "tree": "0f98b5a1fd8ca8fe185e26a54a6ef1ef0a49e24e",
      "parents": [
        "5368723cf3979586605117b13593fa83da57cdc9",
        "52bd37e63373b410c009e8611508191dfbf31d30"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Nov 17 15:22:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 15:22:14 2016 +0000"
      },
      "message": "Merge \"libcutils: move cutils/files.h to cutils/android_get_control_file.h\""
    },
    {
      "commit": "93df4e18a255262595acb862ab870e9fed721fb8",
      "tree": "d6358f49fc8da2802f1ae93812df199efefb979e",
      "parents": [
        "d67a4abc647d5ed7235ff7ee1695b31340e63a1c"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 16 19:19:49 2016 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 16 22:24:43 2016 -0800"
      },
      "message": "init: move empty string check to InitTriggers\n\nTest: mma\nBug: 32838381\nChange-Id: I69203734ef7d3640da75f3e3cbe9254bf468d916\n"
    },
    {
      "commit": "5368723cf3979586605117b13593fa83da57cdc9",
      "tree": "14083395f1746d7cb655289c0ce47f265b8eabe0",
      "parents": [
        "2369b1eb8095f42c16f05f553dd58683353ed65d",
        "691739b334f3efab38f82f2922ee4039462fec25"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 04:22:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 04:22:27 2016 +0000"
      },
      "message": "Merge \"Remove FuseBridgeLoop class.\""
    },
    {
      "commit": "2369b1eb8095f42c16f05f553dd58683353ed65d",
      "tree": "747e4d1afc388635ba9b6d36fb29ba97dc3ddb58",
      "parents": [
        "d8d7fc6717c5d873411053f84abed680a4f1bf72",
        "d67a4abc647d5ed7235ff7ee1695b31340e63a1c"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Nov 17 03:46:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 03:46:44 2016 +0000"
      },
      "message": "Merge changes from topic \u0027slow_log\u0027\n\n* changes:\n  init: fix undefined behavior in ExecuteCommand\n  Revert \"Revert \"init: warn slow action\"\"\n"
    },
    {
      "commit": "d8d7fc6717c5d873411053f84abed680a4f1bf72",
      "tree": "0d38effb7f307856938605c3e8f3a7f9b4dcb753",
      "parents": [
        "e631e470e059d84388f3aacfe11a3fa60a584ba7",
        "30e68088951f17ad54c1d15576835ff4eb622c4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 02:49:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 02:49:05 2016 +0000"
      },
      "message": "Merge \"Stops the loop when all files are closed.\""
    },
    {
      "commit": "691739b334f3efab38f82f2922ee4039462fec25",
      "tree": "7aaa276c9bbe559aa28f4aebcf311b6105f3ddf0",
      "parents": [
        "30e68088951f17ad54c1d15576835ff4eb622c4c"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Nov 15 15:42:05 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Nov 17 09:49:51 2016 +0900"
      },
      "message": "Remove FuseBridgeLoop class.\n\nBug: 32779923\nTest: libappfuse_test\nChange-Id: I29a76701d141ae061ec1fe32993d27460a0c694a\n"
    },
    {
      "commit": "30e68088951f17ad54c1d15576835ff4eb622c4c",
      "tree": "2798f1f86672712a3e16d35ca3e3bbf0c3046d09",
      "parents": [
        "335502453d9b37c9c853dd3ac904d945b04e01ee"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Nov 15 09:31:21 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Nov 17 09:10:53 2016 +0900"
      },
      "message": "Stops the loop when all files are closed.\n\nThe CL changes FuseBridgeLoop so that it exits when all files opened on\nthe AppFuse mount point are closed. Note that the client code will\nunmount the FUSE mount point after the loop exits.\n\nBug: 32260320\nTest: libappfuse_test\nChange-Id: I4965fbb48de8a280c6306e70757a07376b1956a7\n"
    },
    {
      "commit": "52bd37e63373b410c009e8611508191dfbf31d30",
      "tree": "32ed2ad56a69bb6d00b2193eaaed07d813e46982",
      "parents": [
        "e631e470e059d84388f3aacfe11a3fa60a584ba7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Nov 07 09:39:30 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 16 15:56:56 2016 -0800"
      },
      "message": "libcutils: move cutils/files.h to cutils/android_get_control_file.h\n\nfiles.[h|cpp] is bound to be abused with junk, replace with\nandroid_get_control_file.[h|cpp]. Plus some sundry cleanup.\n\nTest: gTest libcutils-tests, logd-unit-tests, liblog-unit-tests,\n      logcat-unit-tests and init_tests\nBug: 32450474\nChange-Id: Ibd4a7aa4624ea19a43d1f98a3c71ac37805d36b5\n"
    },
    {
      "commit": "538bc12c0807ceb850749b8803546b058e049146",
      "tree": "8263d2d6d8a4d7d43159ad26cbab4905040fb94f",
      "parents": [
        "e631e470e059d84388f3aacfe11a3fa60a584ba7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 16 15:28:31 2016 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 16 15:46:42 2016 -0800"
      },
      "message": "logcat: add hidden --debug flag and cleanup\n\nAllow us to debug corrupted log messages. Fix liblog to propagate\nerrors correctly and repair a gtest that failed.\n\nTest: liblog-unit-tests --gtest_filter\u003dliblog.__android_log_bswrite_and_print___max\n      logcat -b events --debug -t 50\nBug: 32903864\nChange-Id: Ib4eb9f466777cd23b8b54728d36354590d07869a\n"
    },
    {
      "commit": "d67a4abc647d5ed7235ff7ee1695b31340e63a1c",
      "tree": "e51e4b59dc3524c13a99236c12f3ed70cc45e1b3",
      "parents": [
        "8b1d526a72c1e6705b03f4b3267ee02fe84ce765"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 16 12:08:30 2016 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 16 15:46:19 2016 -0800"
      },
      "message": "init: fix undefined behavior in ExecuteCommand\n\nExecuteCommand may change command_ vector which leads undefined behavior\nThis bug is found when adding logs in ExecuteCommand printing our Command class fields\n\nBug: 32838381\nTest: on emulator\nChange-Id: I96468bd2192ca80013871a3a6ac4132149363fff\n"
    },
    {
      "commit": "a8d8434c42b27f0186be7ecd78c2acc9d459b068",
      "tree": "897dbc3e29e705d582a9d1fbf89eece5fc4b4da3",
      "parents": [
        "e631e470e059d84388f3aacfe11a3fa60a584ba7"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Nov 14 15:40:18 2016 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Nov 16 22:27:45 2016 +0000"
      },
      "message": "Add flags to restorecon_recursive to traverse filesystems\n\nUse to solve the problem of tracefs conditionally being mounted\nunder debugfs and needing restorecon\u0027d without boot performance\npenalty.\n\nAlso move skip-ce to a flag for consistency.\n\nTest: Check that trace_mount has correct attributes after boot\nBug: 32849675\nChange-Id: Ib6731f502b6afc393ea5ada96fa95b339f14da49\n"
    },
    {
      "commit": "e631e470e059d84388f3aacfe11a3fa60a584ba7",
      "tree": "b92ad2cde4fabfad84b5f1f956b20c975a1b538d",
      "parents": [
        "cfd12251bd6243ac9919ddabfbc51349314ed1f5",
        "4602adbcd3b15f0a575f3ade899f481ff0909f44"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 22:21:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 22:21:41 2016 +0000"
      },
      "message": "Merge \"adb: add sysdeps/chrono.h for chrono literals on Win32.\""
    },
    {
      "commit": "cfd12251bd6243ac9919ddabfbc51349314ed1f5",
      "tree": "d8d7f4d892cb234f9bd8e51ba39e02459608afb8",
      "parents": [
        "59826ddee5462d1be93176e2dee660c46e413e52",
        "d1d3bdd16fbaae87e0cfdb8d412f226e4aa390cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 22:04:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 22:04:50 2016 +0000"
      },
      "message": "Merge \"Only restorecon CE storage after unlocked.\""
    },
    {
      "commit": "d1d3bdd16fbaae87e0cfdb8d412f226e4aa390cf",
      "tree": "f3ab6e57aa4c9b7545e0da36003d3c1c8bf5271e",
      "parents": [
        "0673412bb962a2c92830e903acf442506d092ebc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 15 16:21:34 2016 -0600"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Nov 16 21:19:17 2016 +0000"
      },
      "message": "Only restorecon CE storage after unlocked.\n\nOn FBE devices, the filenames inside credential-encrypted directories\nare mangled until the key is installed.  This means the initial\nrestorecon at boot needs to skip these directories until the keys\nare installed.\n\nThis CL changes the implementation of the \"restorecon_recursive\"\nbuilt-in command to use the new SKIPCE flag to avoid labeling files\nin CE directories.  vold will request a restorecon when the keys\nare actually installed.\n\n(cherrypicked from commit 1635afe83d1ebd6b5f1fac1e9c6c6b5cd1c93204)\n\nBug: 30126557\nTest: Cherry-picked from master\nChange-Id: I320584574a4d712c493b5bbd8a79b56c0c04aa58\n"
    },
    {
      "commit": "4602adbcd3b15f0a575f3ade899f481ff0909f44",
      "tree": "befe1cd8074c210ebee38ddbbc5a803cd3817ec1",
      "parents": [
        "59826ddee5462d1be93176e2dee660c46e413e52"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 15 18:55:47 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 16 12:14:59 2016 -0800"
      },
      "message": "adb: add sysdeps/chrono.h for chrono literals on Win32.\n\nBug: http://b/32878766\nTest: mma\nChange-Id: Iaa89d4eadf07e63d6d7205057435a6c7fb5d4ec5\n"
    },
    {
      "commit": "59826ddee5462d1be93176e2dee660c46e413e52",
      "tree": "b4ee9416cf515019b73b220e8a2cccfa86f858cd",
      "parents": [
        "0673412bb962a2c92830e903acf442506d092ebc",
        "dbe91eee26300be10d6f1a0b42451dd46ea68538"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 20:05:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 20:05:52 2016 +0000"
      },
      "message": "Merge \"Switch adb over to \u003cchrono\u003e.\""
    },
    {
      "commit": "dbe91eee26300be10d6f1a0b42451dd46ea68538",
      "tree": "41edaef07b187715367a707826a13b305fff39e4",
      "parents": [
        "f3e731b3c5711f3d0de7d2c4a6fecace72fec25a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 15 12:37:32 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 09:12:12 2016 -0800"
      },
      "message": "Switch adb over to \u003cchrono\u003e.\n\nClearer code, and lets us lose some more portability cruft.\n\nBug: http://b/32878766\nTest: manual\nChange-Id: Ie44928bbf8d68a74127aaf76e7e0060e25fa2cc8\n"
    },
    {
      "commit": "8b1d526a72c1e6705b03f4b3267ee02fe84ce765",
      "tree": "e1b67d9bcc147a18da8136b9c85a6fa8eff4c335",
      "parents": [
        "0673412bb962a2c92830e903acf442506d092ebc"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Nov 15 23:58:55 2016 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Nov 15 23:58:55 2016 -0800"
      },
      "message": "Revert \"Revert \"init: warn slow action\"\"\n\nThis reverts commit 1802d11cc766f04e75e93c7f98dcf52fb2e64149.\n\nTest: grep init log\nBug: 32712851\n"
    },
    {
      "commit": "0673412bb962a2c92830e903acf442506d092ebc",
      "tree": "a8e39c1a18e4cdd6836f0da00665e46f1f1cf03f",
      "parents": [
        "335502453d9b37c9c853dd3ac904d945b04e01ee",
        "16d0b426a32f9611278466ee4bb369241f55d74a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 07:46:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 07:46:44 2016 +0000"
      },
      "message": "Merge \"Use FUSE_COMPAT_22_INIT_OUT_SIZE always as the resopnse size of FUSE_INIT.\""
    },
    {
      "commit": "335502453d9b37c9c853dd3ac904d945b04e01ee",
      "tree": "9548760304ff75860cb5fc79d37667407250e9d5",
      "parents": [
        "c884f80755f8ecaed92a783f2a13038ab06ae691",
        "329c60458b1461c31696652b8171460c4ffbc381"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Nov 16 05:52:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 05:52:18 2016 +0000"
      },
      "message": "Merge \"Update to new minui text API\""
    },
    {
      "commit": "c884f80755f8ecaed92a783f2a13038ab06ae691",
      "tree": "1254698431bfb95d1fcfba4af54d9b5940c8b184",
      "parents": [
        "a73ba879b1bac25ce0b93cbeb895b05c796fc9ec",
        "471ad6a59d4ab765a5e93d5dd557057e88858974"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 03:57:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 03:57:46 2016 +0000"
      },
      "message": "Merge \"Use FUSE_COMPAT_22_INIT_OUT_SIZE always if available.\""
    },
    {
      "commit": "a73ba879b1bac25ce0b93cbeb895b05c796fc9ec",
      "tree": "ca33a6f9cc3b0c42490cb23ae9d9d08deccebe1d",
      "parents": [
        "e3bd4a2fec053372587c8fc5e03b02586ecc7de4",
        "09bd41d097b15421a6dd7b547fadbb46928b9150"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 03:25:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 03:25:34 2016 +0000"
      },
      "message": "Merge \"init: fix memory leaks\""
    },
    {
      "commit": "e3bd4a2fec053372587c8fc5e03b02586ecc7de4",
      "tree": "16b1374957ba3d508f69515f374a77e6a006187f",
      "parents": [
        "925834821944e4f0cb4722be5f0cf08e86853a1c",
        "58da81d98748892fcbe9eeb71e7ca5c1b0e4b68b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 03:10:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 03:10:38 2016 +0000"
      },
      "message": "Merge \"toolbox: fix memory leak\""
    },
    {
      "commit": "16d0b426a32f9611278466ee4bb369241f55d74a",
      "tree": "40f4afeb73ad93b031dc9c2be64d50a76bdc64ce",
      "parents": [
        "b5ce6f02dd11b42c03884dd9531c6c8a80bcecda"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Nov 10 10:22:42 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Nov 16 01:58:28 2016 +0000"
      },
      "message": "Use FUSE_COMPAT_22_INIT_OUT_SIZE always as the resopnse size of FUSE_INIT.\n\nWe return the minor version number 15 to FUSE_INIT since we don\u0027t handle\nBATCH_FORGET. Thus the kernel does not accept the latest size of\nfuse_init_out. Instead we need to use FUSE_COMPAT_22_INIT_OUT_SIZE.\n\nPreviously the code unintentionally used FUSE_COMPAT_22_INIT_OUT_SIZE always\nbecause we override the minor version out-\u003eminor to 15. Because sdcard.c shares\nthe buffer for |in| and |out|, it overrides the version number of in-\u003eminnor as\nwell.\n\nThe if closure in the previous code \"if (in-\u003eminor \u003c\u003d 22)\" was always true. The\nCL removes the if closure to explicitly use FUSE_COMPAT_22_INIT_OUT_SIZE always.\n\nBug: 32779923\nTest: Manually boot Android and check if the storage shows up in Settings app.\nChange-Id: Ibbc50da7fb82be148acfc5f1a3d46fefbe211f9d\n"
    },
    {
      "commit": "471ad6a59d4ab765a5e93d5dd557057e88858974",
      "tree": "2cba6ec0c0772b8ebb049df9e2383cc55f90d5cc",
      "parents": [
        "b5ce6f02dd11b42c03884dd9531c6c8a80bcecda"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Nov 10 09:41:54 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Nov 16 01:56:00 2016 +0000"
      },
      "message": "Use FUSE_COMPAT_22_INIT_OUT_SIZE always if available.\n\nWe return the minor version number 15 to FUSE_INIT since we don\u0027t handle\nBATCH_FORGET. Thus the kernel does not accept the latest size of\nfuse_init_out. Instead we need to use FUSE_COMPAT_22_INIT_OUT_SIZE.\n\nBug: 32779923\nTest: libappfuse_test\n\nChange-Id: I5c979d0e45344ca8adfe3ad3f4a9561442abcb3a\n"
    },
    {
      "commit": "09bd41d097b15421a6dd7b547fadbb46928b9150",
      "tree": "3b13b57300fa27ed1247e5b8f92a22339a0d25ae",
      "parents": [
        "847670437bd4b11ad1d32ec65be84f39954b0a6c"
      ],
      "author": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 15 15:35:16 2016 -0800"
      },
      "committer": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 15 16:55:50 2016 -0800"
      },
      "message": "init: fix memory leaks\n\nIt\u0027s possible that node is not freed before return.\n\nTest: make WITH_TIDY\u003d1 mmma system/core/init\n\nChange-Id: I648eea9dda006d2b2239e169785190817ad31352\n"
    },
    {
      "commit": "58da81d98748892fcbe9eeb71e7ca5c1b0e4b68b",
      "tree": "4da9042976a8f467b3aa1b7bb3904326421c82af",
      "parents": [
        "847670437bd4b11ad1d32ec65be84f39954b0a6c"
      ],
      "author": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 15 16:27:03 2016 -0800"
      },
      "committer": {
        "name": "Ting-Yuan Huang",
        "email": "laszio@google.com",
        "time": "Tue Nov 15 16:27:03 2016 -0800"
      },
      "message": "toolbox: fix memory leak\n\nfree img\n\nTest: make WITH_TIDY\u003d1 mmma system/core/toolbox\nChange-Id: I2f8feff0eddca763ee4e7fc9867480af60c8a911\n"
    },
    {
      "commit": "925834821944e4f0cb4722be5f0cf08e86853a1c",
      "tree": "7cbcacaa7030403c4672f5336e1e4136c95b5f90",
      "parents": [
        "787482ecd9658b3078044aa287680b32795c2375",
        "1a57ae3a7d2e33531ce26fa2d2fefaae679b6eeb"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 16 00:18:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 00:18:02 2016 +0000"
      },
      "message": "Merge \"liblog: logprint: report truncated event log contents if error\""
    }
  ],
  "next": "1a57ae3a7d2e33531ce26fa2d2fefaae679b6eeb"
}
