)]}'
{
  "log": [
    {
      "commit": "e850f5786cdd4d3e4f1157db8785de3e6ff77eab",
      "tree": "827c57e5934426277af9bbb6e3635facafce81db",
      "parents": [
        "5271b5edeb8613c74d7d7df91c1fd2ac0dbabf5b"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Mon Jul 20 16:01:48 2015 -0700"
      },
      "committer": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Tue Jul 21 19:49:45 2015 +0000"
      },
      "message": "Disable scaling of the cfs tunables.\n\nThe cfs tunables auto-scale with the number of active cpus by default. Given\nthat the tunable settings are in device-independent code and it\u0027s not\nknown how many cores are currently active when the init.rc file runs,\nthe cfs tunables can vary pretty significantly across devices depending\non the state at boot. Disable scaling of the the tunables so that we\ncan get more consistent behavior of cfs across devices. If we want to\ndo per-device tuning of these values, we can override what\u0027s written\nhere in device specific files.\n\nBug: 22634118\nChange-Id: Id19b24ef819fef762521e75af55e6d4378cfc949\n"
    },
    {
      "commit": "ee923139c346e6751203fc7d2a341388e01c7b19",
      "tree": "eaf54658aca60e6ad33661782138f7b210406f50",
      "parents": [
        "d5ef984195779aa9e27d7baabdd751d641eea1a0",
        "749af8c08f6db8da4202ad93f9a6d06884b27c0d"
      ],
      "author": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Mon Jul 13 20:52:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 13 20:52:45 2015 +0000"
      },
      "message": "Merge \"Set up user directory crypto in init.\" into mnc-dr-dev"
    },
    {
      "commit": "948410a4936fda5348304af9711db932926bcc1a",
      "tree": "818c20f6659135757abe766fa08724324d899250",
      "parents": [
        "8104616696ac5e806b16a393ea02c4f5d8efc328"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jul 01 14:40:56 2015 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jul 07 13:23:19 2015 -0700"
      },
      "message": "Change init sequence to support file level encryption\n\nFile level encryption must get the key between mounting userdata and\ncalling post_fs_data when the directories are created. This requires\naccess to keymaster, which in turn is found from a system property.\n\nSplit property loaded into system and data, and load in right order.\n\nBug: 22233063\n"
    },
    {
      "commit": "8104616696ac5e806b16a393ea02c4f5d8efc328",
      "tree": "7d80a4889001e1a9bb00a3dab9a57fde49d62cc0",
      "parents": [
        "833f142d201a4b682885ff9d95c6b3ab32fd0618",
        "437bc5dceca1608456c1c40b694645bc2d100ad4"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jul 07 17:28:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 17:29:00 2015 +0000"
      },
      "message": "Merge \"Revert \"Change init sequence to support file level encryption\"\" into mnc-dev"
    },
    {
      "commit": "437bc5dceca1608456c1c40b694645bc2d100ad4",
      "tree": "b1c50ad382ddbd968b29d2b1e87a985569150859",
      "parents": [
        "d815178b7512cb44d8b5f234e3f823b5a3e44dea"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jul 07 17:05:58 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Jul 07 17:05:58 2015 +0000"
      },
      "message": "Revert \"Change init sequence to support file level encryption\"\n\nThis reverts commit d815178b7512cb44d8b5f234e3f823b5a3e44dea.\n\nChange-Id: I7e3f55d3092fcd04ea9f62f1971c9d42570f096c\n"
    },
    {
      "commit": "833f142d201a4b682885ff9d95c6b3ab32fd0618",
      "tree": "6ef74ffc3e943f23989ca684695243929fcc4530",
      "parents": [
        "6b6c1bd996be7b7b640ef9b074435620f73eecac",
        "4dd2982dd31d43e905f6792201c404a2e549ca17"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Mon Jul 06 23:00:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 23:00:09 2015 +0000"
      },
      "message": "Merge \"[init] start gatekeeperd after device decryption\" into mnc-dev"
    },
    {
      "commit": "4dd2982dd31d43e905f6792201c404a2e549ca17",
      "tree": "d6bb7241bf82fa16fc8ee1b3e46470317f39ca3c",
      "parents": [
        "d5a84845e6d75777de3cd35ecb23115bb740024c"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Mon Jul 06 12:00:22 2015 -0700"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Mon Jul 06 12:00:22 2015 -0700"
      },
      "message": "[init] start gatekeeperd after device decryption\n\ngatekeeperd depends on having /data to determine whether\nto call setup routines for qcom HALs.\n\nBug: 22298552\nChange-Id: I6c552016dc863bbb04bd5a949a2317a720c8263f\n"
    },
    {
      "commit": "d815178b7512cb44d8b5f234e3f823b5a3e44dea",
      "tree": "477d6a66a611502d90658a5ad83e589631eb0d90",
      "parents": [
        "d5a84845e6d75777de3cd35ecb23115bb740024c"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jul 01 14:40:56 2015 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Jul 06 07:52:06 2015 -0700"
      },
      "message": "Change init sequence to support file level encryption\n\nFile level encryption must get the key between mounting userdata and\ncalling post_fs_data when the directories are created. This requires\naccess to keymaster, which in turn is found from a system property.\n\nSplit property loaded into system and data, and load in right order.\n\nBug: 22233063\nChange-Id: I8a6c40d44e17de386417a443c9dfc3b4e7fe59a5\n"
    },
    {
      "commit": "f38f29c87d97cea45d04b783bddbd969234b1030",
      "tree": "baf822dc9522afff61ae4c8f412f5ba553b860ff",
      "parents": [
        "9a53bb0f809ae6d048646da2cf720d32d14f1a22"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 23 14:30:37 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 25 22:27:04 2015 -0700"
      },
      "message": "Let\u0027s reinvent storage, yet again!\n\nNow that we\u0027re treating storage as a runtime permission, we need to\ngrant read/write access without killing the app.  This is really\ntricky, since we had been using GIDs for access control, and they\u0027re\nset in stone once Zygote drops privileges.\n\nThe only thing left that can change dynamically is the filesystem\nitself, so let\u0027s do that.  This means changing the FUSE daemon to\npresent itself as three different views:\n\n/mnt/runtime_default/foo - view for apps with no access\n/mnt/runtime_read/foo - view for apps with read access\n/mnt/runtime_write/foo - view for apps with write access\n\nThere is still a single location for all the backing files, and\nfilesystem permissions are derived the same way for each view, but\nthe file modes are masked off differently for each mountpoint.\n\nDuring Zygote fork, it wires up the appropriate storage access into\nan isolated mount namespace based on the current app permissions.  When\nthe app is granted permissions dynamically at runtime, the system\nasks vold to jump into the existing mount namespace and bind mount\nthe newly granted access model into place.\n\nBug: 21858077\nChange-Id: I5a016f0958a92fd390c02b5ae159f8008bd4f4b7\n"
    },
    {
      "commit": "749af8c08f6db8da4202ad93f9a6d06884b27c0d",
      "tree": "75e05aa61b8c858d3c20d64f82d581ef6ca63885",
      "parents": [
        "bd5cb997233acbfa2bebcafa698994d744e5c9a7"
      ],
      "author": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Thu May 28 17:35:06 2015 +0100"
      },
      "committer": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Tue Jun 23 15:21:51 2015 +0000"
      },
      "message": "Set up user directory crypto in init.\n\n(cherry-picked from commit b94032b79c3cded501e2d5f7c328cf8c0c3911c4)\n\nBug: 19704432\nChange-Id: Ife4928ffbee39c8ae69e6ba66d9ce5ef5a0beb76\n"
    },
    {
      "commit": "8175bb235277f637faf30138b30e97e07fb85b8e",
      "tree": "4f92ab348dcd54c50364d9b1db202e01ecf4ef98",
      "parents": [
        "1cddc2092f544c5eac339e59746436facfdd5dc7"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jun 19 19:12:46 2015 -0700"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Jun 22 10:19:30 2015 -0700"
      },
      "message": "Fix the file permissions of /data/misc/bluedroid/bt_config.conf\n\nFix the file access permissions and group ownership of\n\"/data/misc/bluedroid/bt_config.conf\" so the file can be reused when\nswitching users on the device.\nFor that purpose, we need to do the following:\n\n1. Set the set-group-ID (bit 02000) flag for directory \"/data/misc/bluedroid\"\n   so the files created in that directory will have group-id of\n   \"net_bt_stack\" .\n\n2. Change the file\u0027s permissions of file \"/data/misc/bluedroid/bt_config.conf\"\n   to Read/Write by User and Group.\n\nBug: 21493919\nChange-Id: Ie00ab4695198ef2aa299b484ef9d4f17bd41b98a\n"
    },
    {
      "commit": "b769c8d24fd7be96f8968aa4c80b669525b930d3",
      "tree": "9dd58ff700e0c5f437aa55cb79ef04067f5edd0b",
      "parents": [
        "350926ef2f13f75335b32e9904dc0b46c01ab1fe"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jun 08 14:56:29 2015 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Jun 11 18:35:46 2015 -0700"
      },
      "message": "add cpuset support to libcutils\n\nbug 21782794\n\nChange-Id: I249531754fb29442dc3c7434d77dbb103f4220a7\n"
    },
    {
      "commit": "3678a5fb8d1094c4796c1316f3b571cb63cf7246",
      "tree": "fa902eec9f3379fed0dba9276a66da6d9ac3a66f",
      "parents": [
        "25a1341f44749eb20e4c8c4cf5c42a5f34a8446f",
        "37fcc5d73ebf31b193cda41731a5a9dcb8206473"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Jun 04 21:32:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 04 21:32:44 2015 +0000"
      },
      "message": "Merge \"Move crypt commands to a different listener in vold\" into mnc-dev"
    },
    {
      "commit": "37fcc5d73ebf31b193cda41731a5a9dcb8206473",
      "tree": "7ce0bfd57cc0974d8c1f564de97fa773053376d1",
      "parents": [
        "c6d5cd18f86aa78b769ba06e43963231f05bc809"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jun 03 14:19:29 2015 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jun 03 14:19:29 2015 -0700"
      },
      "message": "Move crypt commands to a different listener in vold\n\nIn order to prevent this bug from happening, we must allow vold cryptfs\ncommands to complete while a long running mount is underway.\n\nWhile waiting for vold to be changed to a binder interface, we will simply\ncreate two listeners, one for cryptfs and one for everything else.\n\nBug: 19197175\nChange-Id: Ie3d9567819ced7757b0a8f391547f27db944153c\n"
    },
    {
      "commit": "32512e716750b94c9e72c50a98a5db724857f1d5",
      "tree": "a7eb1d8aeb204ed328ba0acbe02b4390de168e2e",
      "parents": [
        "21bd040effcfc48e8794558c91bbfdc159a98f00"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 03 13:05:28 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jun 03 13:36:24 2015 -0700"
      },
      "message": "tzdatacheck: don\u0027t hard code SELinux domain name\n\nAn automatic domain transition is already defined by SELinux\npolicy. Avoid having redundant information on the exec line.\n\nThis commit depends on commit 17fff893c04971b519d25d52b07f51111353cba5\nwhich made the SELinux process label optional.\n\n(cherrypicked from commit 221fca7ddd2ba1778ec89013c96434a9d36b529e)\n\nChange-Id: I89464f2bd218c7d6e8db08aa6bed2b62ec6dad2a\n"
    },
    {
      "commit": "49ed105fd91677f7c87417890bf7441146953fff",
      "tree": "c9f795ed2f18d558f8b00451434ccde81730b4b5",
      "parents": [
        "cdb468abb38bb75aaad5d4c6699a824559cf272a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue May 26 14:57:13 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 02 15:28:36 2015 -0700"
      },
      "message": "init.rc: logd: Add logpersistd (nee logcatd)\n\n(cherry pick from commit 100658c303919d8f69c76f6f25eac376795712f0)\n\n- logpersistd is defined as a thread or process in the context of the\n  logd domain. Here we define logpersistd as logcat -f in logd domain\n  and call it logcatd to represent its service mechanics.\n- Use logcatd to manage content in /data/misc/logd/ directory.\n- Only turn on for persist.logd.logpersistd \u003d logcatd.\n- Add logpersist.start, logpersist.stop and logpersist.cat debug\n  class executables, thus only in the eng and userdebug builds.\n\nToDo: Wish to add Developer Options menu to turn this feature on or\noff, complicated by the fact that user builds have no tools with\naccess rights to /data/misc/logd.\n\nBug: 19608716\nChange-Id: I57ad757f121c473d04f9fabe9d4820a0eca06f31\n"
    },
    {
      "commit": "0a423d994a0dbd05924ae6cff702b5d4d7dd43f0",
      "tree": "de7a20a355c1e1bb0c71fa8dc8d67a204d2c6bce",
      "parents": [
        "0aab798312364971ad3d2052306f3c9a8aed6c57"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Apr 28 22:07:10 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri May 29 17:39:16 2015 +0000"
      },
      "message": "DO NOT MERGE Securely encrypt the master key\n\n(chery-picked from commit 806d10be2336f32cdca16c2540cbf3d548f2fec7)\n\nMove all key management into vold\nReuse vold\u0027s existing key management through the crypto footer\nto manage the device wide keys.\n\nUse ro.crypto.type flag to determine crypto type, which prevents\nany issues when running in block encrypted mode, as well as speeding\nup boot in block or no encryption.\n\nThis is one of four changes to enable this functionality:\n  https://android-review.googlesource.com/#/c/148586/\n  https://android-review.googlesource.com/#/c/148604/\n  https://android-review.googlesource.com/#/c/148606/\n  https://android-review.googlesource.com/#/c/148607/\n\nBug: 18151196\n\nChange-Id: I6a8a18f43ae837e330e2785bd26c2c306ae1816b\n"
    },
    {
      "commit": "6484f3d1cb4078c7525e23d16c7e7bcd90afa653",
      "tree": "0cc45a19255b38e0f124a72f3179abe25a9457c0",
      "parents": [
        "0c3f1ae66b693ef0f37066b697cc10a07ef56acc",
        "e48aed0f0abd10cb21e14d81ae46214d08872f79"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu May 28 21:48:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 21:48:16 2015 +0000"
      },
      "message": "Merge \"Change pre-recovery into two services\" into mnc-dev"
    },
    {
      "commit": "b37c45e90aa311b4d32a5b21dad5fce93c9761a7",
      "tree": "3d486aa0add98f5e43596b5eec4ffc4647adb484",
      "parents": [
        "0983a6d54c202fde75523f1340bd9c9a168ab98c"
      ],
      "author": {
        "name": "Than McIntosh",
        "email": "thanm@google.com",
        "time": "Wed May 27 14:02:11 2015 -0400"
      },
      "committer": {
        "name": "Than McIntosh",
        "email": "thanm@google.com",
        "time": "Thu May 28 11:58:31 2015 -0400"
      },
      "message": "Move perfprofd to late_start class.\n\nBug: http://b/19483574\nChange-Id: I88649b50b95cbddb7d0671a5499232cbef156c48\n(cherry picked from commit e8efd0d6bf41527d67a402ed3a945a8c5f75f10d)\n"
    },
    {
      "commit": "e48aed0f0abd10cb21e14d81ae46214d08872f79",
      "tree": "1bd0de67de5af067595b2c59ae4a95edf4c310bf",
      "parents": [
        "4652fc6f08e9b03240980cdec42d66514fdc4a64"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Mon May 11 14:08:18 2015 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue May 19 10:04:56 2015 -0700"
      },
      "message": "Change pre-recovery into two services\n\n/system/bin/uncrypt needs to be triggered to prepare the OTA package\nbefore rebooting into the recovery. Separate pre-recovery (uncrypt)\ninto two services: uncrypt that does the uncryption work and\npre-recovery that actually reboots the device into recovery.\n\nAlso create /cache/recovery on post-fs in case it doesn\u0027t exist.\n\nBug: 20012567\nBug: 20949086\nChange-Id: If67fe1e9ee6279593d2788452febcd3f0fe714c2\n"
    },
    {
      "commit": "ac725c12da8a67ca33d10c7b6131f8f543ed4449",
      "tree": "6a8b6c5037d14eeec38d42d1202fd1d9d9053356",
      "parents": [
        "6ee6917757bd4b00437cabe07fbaa48ce2621b38"
      ],
      "author": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Tue May 05 15:05:39 2015 -0700"
      },
      "committer": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Wed May 06 15:09:23 2015 -0700"
      },
      "message": "Add /data/misc/perfprofd to store perf profile.\n\nBUG: 19483574\n\n(cherry picked from commit 30c401fa92f5a32a9a41024d9d1daddd1bc37ea5)\n\nChange-Id: Ibf96db9f7e5db625b395db20b73572acc240b1f9\n"
    },
    {
      "commit": "7d678d8d78b40c9c7697565637ba5e4dc81ec02f",
      "tree": "53b6938afde69ffa15032a5e23f3b3f1656d7613",
      "parents": [
        "e1a55004e9fa46055c59f86e952e9e457c36c3f2"
      ],
      "author": {
        "name": "Than McIntosh",
        "email": "thanm@google.com",
        "time": "Tue Apr 28 14:32:35 2015 -0400"
      },
      "committer": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Mon May 04 11:50:27 2015 -0700"
      },
      "message": "Invoke perfprofd daemon (only for userdebug/eng builds).\n\nChange-Id: Ifaabe32dda6db249efc62c5db3760e32295eb1a9\n(cherry picked from commit d6544d2a405df4c6e1fb517b1038a3640ae5f095)\n"
    },
    {
      "commit": "5cb4c8796cf43ddcb11ac5af8cc4bfe6be730154",
      "tree": "f3b48f4ad97f4652bb519bf495c36aa759fe9883",
      "parents": [
        "b2beaf7b204952dc5f6447f75e9d247a895e8ed4"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 24 20:30:07 2015 +0000"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 24 21:32:17 2015 +0000"
      },
      "message": "Revert \"STOPSHIP: WifiStateMachine logging temporarily disabled\"\n\nThis reverts commit 15ae6c2e7ce02db583ca5a6be5ca30499d56de87.\n\nChange-Id: I281a65209a5118a6c73ddec65ed40d149c23bf0b\n"
    },
    {
      "commit": "b2beaf7b204952dc5f6447f75e9d247a895e8ed4",
      "tree": "933e5f28e8182f0a2415ad4beeb6a34bd773423d",
      "parents": [
        "013708c43f4a194696cd19c8c4dfd7baa9fd8eea",
        "ea782d327a3d959d93f2b23b85894aa392e64a2f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 24 21:29:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 21:30:22 2015 +0000"
      },
      "message": "Merge \"Revert \"STOPSHIP: Additional Wifi logging temporarily disabled\"\""
    },
    {
      "commit": "03c9267865d34cc4a233776dea03b967ac0b54da",
      "tree": "b44a7b7e1009a66e933f81a936080cb88fe33a85",
      "parents": [
        "4822bd197d7214f14a59e1d516f668640db5da71",
        "a8088f380932d873a39fafdd816f96328f7caa9c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 24 21:09:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 24 21:09:34 2015 +0000"
      },
      "message": "am a8088f38: am ec389902: am 132440b0: Merge \"Revert \"Revert \"Make init re-exec itself for its SELinux domain transition.\"\"\"\n\n* commit \u0027a8088f380932d873a39fafdd816f96328f7caa9c\u0027:\n  Revert \"Revert \"Make init re-exec itself for its SELinux domain transition.\"\"\n"
    },
    {
      "commit": "ea782d327a3d959d93f2b23b85894aa392e64a2f",
      "tree": "8c30bb1fae4065a19ed2b6b6373b7370768b7861",
      "parents": [
        "18b1da2033440cf362ea5c71ca687d359671096f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 24 20:28:27 2015 +0000"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 24 20:28:27 2015 +0000"
      },
      "message": "Revert \"STOPSHIP: Additional Wifi logging temporarily disabled\"\n\nThis reverts commit 18b1da2033440cf362ea5c71ca687d359671096f.\n\nChange-Id: I86cde061a36a9a9e43c8a5df2df1e853ed32b7a0\n"
    },
    {
      "commit": "f65730e620dde083133b8c1ab61c0d07b4dd8c2f",
      "tree": "a92c5688fc45a24edfc25c9a709086d9d752da05",
      "parents": [
        "34dd04dbb53bc6dc1ec4f9c6639b10acb7c53c72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 24 18:38:17 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 24 12:26:05 2015 -0700"
      },
      "message": "Revert \"Revert \"Make init re-exec itself for its SELinux domain transition.\"\"\n\nThis reverts commit 4217374611ada50f33aee544f015f6f9dfbf7ced.\n\nIt turns out that the kernel passes any unrecognized arguments on to init,\nand (at least) N6 and N9 have such arguments. My lazy check of argc was\nthus insufficient to recognize what stage of init we were in, so we\u0027d\nskip to stage 2 and not set up SELinux. And apparently you can get a\nvery long way with SELinux off... We\u0027ll fix that in a later change.\n\nBug: 19702273\nChange-Id: I43b3fb722fed35dd217cb529cbcac9a29aff4e4b\n"
    },
    {
      "commit": "d6069e21ee5c6941844b31b29732f9ccb84304b5",
      "tree": "063ed69dea89da8c64e46d1d4aeb4e40c0e31758",
      "parents": [
        "e203d278e4f6949d0cbb0443ae873454376f6369",
        "b706a8acff9c62da7b4045374b93a8739671a8a0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 24 17:37:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 24 17:37:42 2015 +0000"
      },
      "message": "am b706a8ac: am 2db3cd3e: am 46fee19c: Merge \"Revert \"Make init re-exec itself for its SELinux domain transition.\"\"\n\n* commit \u0027b706a8acff9c62da7b4045374b93a8739671a8a0\u0027:\n  Revert \"Make init re-exec itself for its SELinux domain transition.\"\n"
    },
    {
      "commit": "46fee19cb27dd24a58bbcad608058f25ca7b3e52",
      "tree": "9c57d572731448c718b893265acc72466da5a560",
      "parents": [
        "f0b4792017b338ac6397e9809f3629c33ef94c2d",
        "4217374611ada50f33aee544f015f6f9dfbf7ced"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 24 16:57:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 24 16:58:01 2015 +0000"
      },
      "message": "Merge \"Revert \"Make init re-exec itself for its SELinux domain transition.\"\""
    },
    {
      "commit": "4217374611ada50f33aee544f015f6f9dfbf7ced",
      "tree": "96e6fe53791cd8c57dc6bf4153773e55a0d7cc8c",
      "parents": [
        "adf0d1bbfa4bc560c2106f14afa8258a11c48bf6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 24 16:57:21 2015 +0000"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 24 16:57:21 2015 +0000"
      },
      "message": "Revert \"Make init re-exec itself for its SELinux domain transition.\"\n\nshamu isn\u0027t booting.\n\nThis reverts commit adf0d1bbfa4bc560c2106f14afa8258a11c48bf6.\n\nChange-Id: I89d568838cebbe14cc4a8ae3843f0f1ac54987af\n"
    },
    {
      "commit": "45a2329b2d3e928d48f546d6d6822620e0dac057",
      "tree": "5f1781f2f4458f71d94373ebc118947874de1aa0",
      "parents": [
        "7076796cab1ae275d9e9336f19e068abf28f946b",
        "77434ab362b3234accf16499aaf2a5340d568553"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 24 03:51:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 24 03:51:12 2015 +0000"
      },
      "message": "am 77434ab3: am ef68fd3f: am d4656784: Merge \"Make init re-exec itself for its SELinux domain transition.\"\n\n* commit \u002777434ab362b3234accf16499aaf2a5340d568553\u0027:\n  Make init re-exec itself for its SELinux domain transition.\n"
    },
    {
      "commit": "d46567848bfcdc8f2cbc3faeef487cf5c770b43a",
      "tree": "91578fac2ea04ddfa806376d471b2aa5fa202b67",
      "parents": [
        "765207524fcbe261686c5d96bc42ea3dcc124f0a",
        "adf0d1bbfa4bc560c2106f14afa8258a11c48bf6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 24 03:10:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 24 03:10:16 2015 +0000"
      },
      "message": "Merge \"Make init re-exec itself for its SELinux domain transition.\""
    },
    {
      "commit": "7076796cab1ae275d9e9336f19e068abf28f946b",
      "tree": "80131524a1281b16c88df31650f3c4ca5ca45ecb",
      "parents": [
        "2b70a6501f35db890d3ff81254c0bba13e039a28",
        "44f1356e42a64fefb194b5c74b62402f4ec2881e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Apr 23 23:16:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 23 23:16:39 2015 +0000"
      },
      "message": "am 44f1356e: am 85a9566f: am 76520752: Merge \"rootfs: init.rc start logd parse error\"\n\n* commit \u002744f1356e42a64fefb194b5c74b62402f4ec2881e\u0027:\n  rootfs: init.rc start logd parse error\n"
    },
    {
      "commit": "765207524fcbe261686c5d96bc42ea3dcc124f0a",
      "tree": "adc2ae18ee985f03904caff24b7fe07073644cc2",
      "parents": [
        "2ce1d81fd412657c14a14dd43ec570ac65cc1874",
        "5c39e0ada89de6a945ad3df0a0e6181fc3325cca"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Apr 23 22:25:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 23 22:25:30 2015 +0000"
      },
      "message": "Merge \"rootfs: init.rc start logd parse error\""
    },
    {
      "commit": "adf0d1bbfa4bc560c2106f14afa8258a11c48bf6",
      "tree": "ffce4af31f881404111a124dc858d21996bfbfcb",
      "parents": [
        "876881b22ad5d735cdb3ae2ac1afa6c336378808"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 22 18:39:58 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 23 15:20:51 2015 -0700"
      },
      "message": "Make init re-exec itself for its SELinux domain transition.\n\nChange-Id: I38adabe5789d671e3f7d21936071a758ec8cea8a\n"
    },
    {
      "commit": "18b1da2033440cf362ea5c71ca687d359671096f",
      "tree": "8b82f31f2d4918e42b26b111cbf47ce3ebf148f6",
      "parents": [
        "15ae6c2e7ce02db583ca5a6be5ca30499d56de87"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 21 15:58:40 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 21 23:09:58 2015 +0000"
      },
      "message": "STOPSHIP: Additional Wifi logging temporarily disabled\n\nBug: 20416721\nChange-Id: I1be1c742f47f0e673eef6a8d391246f47c35c336\n"
    },
    {
      "commit": "15ae6c2e7ce02db583ca5a6be5ca30499d56de87",
      "tree": "8c30bb1fae4065a19ed2b6b6373b7370768b7861",
      "parents": [
        "72e9ff084bf0a22c77be9f437b7cc27798e34340"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 21 15:29:12 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 21 22:39:09 2015 +0000"
      },
      "message": "STOPSHIP: WifiStateMachine logging temporarily disabled\n\nBug: 20416721\nChange-Id: Id60eb6ab77589ab50800532de0d2877adef1d5b7\n"
    },
    {
      "commit": "5c39e0ada89de6a945ad3df0a0e6181fc3325cca",
      "tree": "ed62404145731ebee79491ce7db446994c820623",
      "parents": [
        "4d0cb5e8064cecb25cd7bce7e9932f95a9bef7f4"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Apr 20 08:55:02 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Apr 20 15:56:14 2015 +0000"
      },
      "message": "rootfs: init.rc start logd parse error\n\ninit: /init.rc: 490: invalid option \u0027start\u0027\n\nChange-Id: Ica985e45d4652dab0ebd434803344f14cc73d834"
    },
    {
      "commit": "1450586ffd1113baa80f415531fb1de378fc8037",
      "tree": "4da01b07e1d29206e619bb55dbe1696e16ebed56",
      "parents": [
        "4d0cb5e8064cecb25cd7bce7e9932f95a9bef7f4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 20 08:55:12 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 20 08:55:12 2015 -0700"
      },
      "message": "create /data/misc/gatekeeper\n\nChange-Id: I7631401ac21b60a22f6fd4052814186bf3bc2b05\n"
    },
    {
      "commit": "4e9da84be188d3ad49bc9306723448eccc061ad0",
      "tree": "7f27d2bb5a223f9083157ee95255df61c91f8fde",
      "parents": [
        "7364f24d7e95d84beda8c82bef4dd6a38929af9a",
        "6a49c2fa4371cad600f4a96da3d1644df862d2a5"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Apr 16 22:16:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 16 22:16:58 2015 +0000"
      },
      "message": "Merge \"Implement SID API\""
    },
    {
      "commit": "6a49c2fa4371cad600f4a96da3d1644df862d2a5",
      "tree": "de675d63c6cf4d3577512a8805db0f82f1e5fe33",
      "parents": [
        "5134cc0139f8c9e5657487f386b11803df284818"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Apr 16 13:16:24 2015 -0700"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Apr 16 13:17:54 2015 -0700"
      },
      "message": "Implement SID API\n\nChange-Id: Id11632a6b4b9cab6f08f97026dd65fdf49a46491\n"
    },
    {
      "commit": "b63190fda8ab7d4271380c6a8512411ec2910c7d",
      "tree": "5e61d53b5b3904d94fe1f458596cead549a02558",
      "parents": [
        "e498c7ca2cdbf4a16aa155bca3357c4ece401854",
        "b4ef85c636390d54afcb0e3fbcafe687f050b2b5"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Tue Apr 14 15:06:55 2015 -0700"
      },
      "committer": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Tue Apr 14 15:06:55 2015 -0700"
      },
      "message": "am b4ef85c..b4ef85c from mirror-m-wireless-internal-release\n\nb4ef85c Add Bluetooth SAP UIM socket\n"
    },
    {
      "commit": "13859d12309c86ca4423484cd07ca56a029064db",
      "tree": "fe2e0aca1076cf163e9eaf07d8843708b7608f51",
      "parents": [
        "c828ae87768f3539cefadb7e485b877995918299",
        "90014d61c83ef5105881c171481a50f21fd4dd57"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Apr 13 12:18:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 13 12:18:34 2015 +0000"
      },
      "message": "am 90014d61: am 532d0a11: am 9b83b623: Merge \"Executable to run on boot that removes old tzdata if needed\"\n\n* commit \u002790014d61c83ef5105881c171481a50f21fd4dd57\u0027:\n  Executable to run on boot that removes old tzdata if needed\n"
    },
    {
      "commit": "08913228e17f4a16b6fbe77f9f08ca2a13323f5e",
      "tree": "89956aff603e0506c8c2d884e79a8ce1985803c6",
      "parents": [
        "d67ff2d507add84a4d958bc19657e88d4689b92d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Mar 31 18:24:29 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Apr 13 11:38:32 2015 +0100"
      },
      "message": "Executable to run on boot that removes old tzdata if needed\n\ntzdatacheck is exec\u0027d from init.rc early in boot just after /data is\nmounted. It checks to make sure that the tz rule data in /data\nis newer than the version in /system. If the data is older it is\ndeleted. This is to address problems with earlier tz rule updates\nthat occurred: after an OTA upgrade previous updates in /data\nwould override newer versions in the system partition.\n\nIncludes change to init.rc neccessary to run it at boot time. Other\nchanges are in external/selinux.\n\nBug: 19941636\nBug: https://code.google.com/p/android/issues/detail?id\u003d35730\nChange-Id: I7cc61e058424c856da88f11ff9b259f34cb39dc7\n"
    },
    {
      "commit": "b4ef85c636390d54afcb0e3fbcafe687f050b2b5",
      "tree": "9ad96a4c44f03877c536391ef24ec4d226d5995b",
      "parents": [
        "a8cb3cd1601909ae04e14cd5ce42c286a8cf3ba4"
      ],
      "author": {
        "name": "Dheeraj Shetty",
        "email": "dshetty@codeaurora.org",
        "time": "Fri Apr 10 10:31:21 2015 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Sun Apr 12 22:16:35 2015 -0700"
      },
      "message": "Add Bluetooth SAP UIM socket\n\nChange-Id: I1445e51f613ac3e21cf818c0b1364c334579593e\n"
    },
    {
      "commit": "2d08dce0beedcfc63b2a837045d1be7d49157555",
      "tree": "0a74bf6cd5b25138d1fc63ae8c0df389912efb0f",
      "parents": [
        "56b8a6a59f6e86ba88ede9719e3445e8eb3187ae"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Fri Apr 03 16:40:15 2015 -0700"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Wed Apr 08 15:20:22 2015 -0700"
      },
      "message": "GateKeeper proxy service\n\nUntil we have SELinux support for gating access\nto individual TEE services, we will proxy TEE requests\nto GateKeeper via this daemon.\n\nChange-Id: Ifa316b75f75bff79bdae613a112c8c3c2e7189a8\n"
    },
    {
      "commit": "6abe4295881c9ebd2baf12ea7443a15c9d59da29",
      "tree": "0323833433cfea89e2f7da60f65052dcf2258e19",
      "parents": [
        "ec56019c0f7823dbac81562e05de17967088df7c",
        "4122304de3990ca1fca2790468fb8e9ddcca11f2"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 08 16:56:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 08 16:56:04 2015 +0000"
      },
      "message": "am 4122304d: am 07e3ed46: am c19572fa: Merge \"rootfs: init start logd in post-fs\"\n\n* commit \u00274122304de3990ca1fca2790468fb8e9ddcca11f2\u0027:\n  rootfs: init start logd in post-fs\n"
    },
    {
      "commit": "124ff15bcaeded8b794e18bd1523e3affa97c386",
      "tree": "316d0f6b0bd5c6ad6f1a694025ce4fc78ac5faa6",
      "parents": [
        "bf403968878fca07c6df98852e8958ddda365bab"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 07 15:32:12 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 08 09:18:50 2015 -0700"
      },
      "message": "rootfs: init start logd in post-fs\n\nThe earliest point we can start logd is after /system is mounted.\nIdeally on post-fs-system (does not exist), post-fs will do.\nAs insurance, we will also make sure logd is started if a\nlogd-reinit is requested. This results in logd starting at least\n4 processes earlier than it does currently, with a tighter\ngrouping of threads which means we are taking advantage of a\nlighter CPU load at the time, rather than taking cycles during\nheavy activity during core startup.\n\nChange-Id: If4f0bd3a53bb4c47500a54d741ca635d87c0c330\n"
    },
    {
      "commit": "bd3212fd92470fa76577530fbc515c866755e722",
      "tree": "31e5005da6fe06511163660474395b3d863ada78",
      "parents": [
        "136a790a3a27214377bbde00455d4c66a0fcb16d",
        "5056cdcdde4901fe667522cfebf3e1f9e1af3b3b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 08 01:06:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 08 01:06:59 2015 +0000"
      },
      "message": "am 5056cdcd: am 01190672: am de957955: Merge \"Create /data/system/heapdump for system_server\"\n\n* commit \u00275056cdcdde4901fe667522cfebf3e1f9e1af3b3b\u0027:\n  Create /data/system/heapdump for system_server\n"
    },
    {
      "commit": "9c0437fba7357ae4abe70b540468799df3bfdbd3",
      "tree": "0fada83485ff0a5d1c0a99e5e3c96547f0b70c61",
      "parents": [
        "5ae7b1e5dfc1b3612fb3a894b9e01aed4624a602"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 07 16:44:08 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 07 16:44:43 2015 -0700"
      },
      "message": "Create /data/system/heapdump for system_server\n\nBug: 20073185\nChange-Id: I6fd83d33da33d048fdd6b07fa1f675ecb4f4eb2c\n"
    },
    {
      "commit": "ae0a5acc0e46df569b97a605246e59c6ea4821f8",
      "tree": "14a84310e31e16b01060431bb44daee1e417ac1e",
      "parents": [
        "94a86a4f97d610c63928ec6faae513ce409f9633"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 06 14:08:54 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 06 17:42:14 2015 -0700"
      },
      "message": "Mount point for expanded storage.\n\nManaged by vold.\n\nBug: 19993667\nChange-Id: I7957b44d37d6a1f572cbec515d03856a8ed54391\n"
    },
    {
      "commit": "b8bd76b7cbfbc4b0d3b7d76070c9b53eec87c83a",
      "tree": "521166390a106133b8d210038ab89d5b32b07f07",
      "parents": [
        "4761c2a0e506c0c4389d4acfeb8a6d8f0d941718",
        "c410b3bd63828730623b9c5ccf15242175ac3c10"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Apr 02 14:49:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 02 14:49:25 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Adding e4crypt support\"\"\""
    },
    {
      "commit": "c410b3bd63828730623b9c5ccf15242175ac3c10",
      "tree": "04a31be5983af40ef11c710a81f45812e5d492e5",
      "parents": [
        "fc0004894a3ff93382493688bb9ab9af83b74ea4"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Mar 26 15:49:42 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Apr 01 13:48:06 2015 -0700"
      },
      "message": "Revert \"Revert \"Adding e4crypt support\"\"\n\nFix build break caused by original change\n\nThis reverts commit 84b0bab58fcc7f225e9a17a15c531b0c2fc509c5.\n\n(cherry picked from commit bbb4c85bdcc9a1bce315ed9d61a228bb1b992a1c)\n\nChange-Id: If0ead0f2656b69f33f72c64b03a05784455a4143\n"
    },
    {
      "commit": "25775e8e638d9d323c2dbac6d770092b920a5360",
      "tree": "0e236b24737f2d98cee9a0aef0bc1cefd421b67a",
      "parents": [
        "fc0004894a3ff93382493688bb9ab9af83b74ea4"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 31 15:03:29 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 01 11:55:50 2015 -0700"
      },
      "message": "Different blkid and fsck execution domains.\n\nTell vold about which SELinux domains to use for different classes\nof devices.  Also create a directory for vold to store private\nfiles.\n\nBug: 19993667\nChange-Id: Ib7bc80234f2b13a89b143bf90f147140109570cd\n"
    },
    {
      "commit": "b8c9d273a07f3fc45780e763bb3f7f6266b8cab7",
      "tree": "0f3f3070a9f3e447393e97116917348b1d9aa49d",
      "parents": [
        "934102baf8fca57abf63df7f134e977e696722db"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Mar 26 15:49:42 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Tue Mar 31 13:02:13 2015 -0700"
      },
      "message": "Revert \"Revert \"Adding e4crypt support\"\"\n\nFix build break caused by original change\n\nThis reverts commit 84b0bab58fcc7f225e9a17a15c531b0c2fc509c5.\n\nChange-Id: I99fbd7c3d1ed92db1f546033c8493bb71a327924\n"
    },
    {
      "commit": "fc0004894a3ff93382493688bb9ab9af83b74ea4",
      "tree": "e145001c3dd2dae12c628b1e7eefc0cefa2dcc54",
      "parents": [
        "c9eccaa58b11af9f5cc73194deac0bc391e6d867"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 16 10:17:47 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 30 19:48:38 2015 -0700"
      },
      "message": "Progress towards dynamic storage support.\n\nTo support external storage devices that are dynamically added and\nremoved at runtime, we\u0027re changing /mnt and /storage to be tmpfs that\nare managed by vold.\n\nTo support primary storage being inserted/ejected at runtime in a\nmulti-user environment, we can no longer bind-mount each user into\nplace.  Instead, we have a new /storage/self/primary symlink which\nis resolved through /mnt/user/n/primary, and which vold updates at\nruntime.\n\nFix small mode bugs in FUSE daemon so it can be safely mounted\nvisible to all users on device.\n\nBug: 19993667\nChange-Id: I0ebf4d10aba03d73d9a6fa37d4d43766be8a173b\n"
    },
    {
      "commit": "1ef8498d02a4fa762d24195deefe293556bc807b",
      "tree": "6daab60fc13465daef40559310d94d6be2fba00d",
      "parents": [
        "d854481f6c79d5681dd25823413d5bc4c959acb1",
        "4ce3c8288ba030c2d2a80cf94ceb5d2f84a66d26"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Mar 28 17:10:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 28 17:10:38 2015 +0000"
      },
      "message": "am 4ce3c828: am 0cd316a4: am 5db3936d: Merge \"Log more timing information from init.\"\n\n* commit \u00274ce3c8288ba030c2d2a80cf94ceb5d2f84a66d26\u0027:\n  Log more timing information from init.\n"
    },
    {
      "commit": "da40c00137f75543a69972f1be506e2d14a41845",
      "tree": "d24df4f9a94411205786227c26cd2a1a664420bc",
      "parents": [
        "e29744d94df787fa83307572d90a954b1592f69b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 27 23:20:44 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Mar 28 00:25:22 2015 -0700"
      },
      "message": "Log more timing information from init.\n\nAlso make important events in init\u0027s life NOTICE rather than INFO,\nand ensure that NOTICE events actually make it to the kernel log.\n\nAlso fix the logging so that if you have a printf format string\nerror, the compiler now catches it.\n\nAlso give messages from init, ueventd, and watchdogd distinct tags.\n(Previously they\u0027d all call themselves \"init\", and dmesg doesn\u0027t\ninclude pids, so you couldn\u0027t untangle them.)\n\nAlso include the tag in SELinux messages.\n\nBug: 19544788\nChange-Id: Ica6daea065bfdb80155c52c0b06f346a7df208fe\n"
    },
    {
      "commit": "84b0bab58fcc7f225e9a17a15c531b0c2fc509c5",
      "tree": "513c4de94f6065a159e673b3e00386a229e75bbd",
      "parents": [
        "6095afc115fe3a4b7d151b4fcc164e00f9df9659"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Mar 26 14:53:19 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu Mar 26 14:53:19 2015 +0000"
      },
      "message": "Revert \"Adding e4crypt support\"\n\nThis reverts commit 6095afc115fe3a4b7d151b4fcc164e00f9df9659.\n\nChange-Id: Icedfe0036223d7f42eaaefc4a35ad0f2efb14e4e\n"
    },
    {
      "commit": "6095afc115fe3a4b7d151b4fcc164e00f9df9659",
      "tree": "ae19174fa1de356704a00d8dbbd91db99ea4a398",
      "parents": [
        "631945200e6442421e736c05b5e1df469752faf8"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Feb 25 15:09:39 2015 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Mar 23 14:16:43 2015 -0700"
      },
      "message": "Adding e4crypt support\n\nAdd file encryption flag to fstab.\n\nIf file encryption flag set in fstab, handle identically to block\nencrypted volumes.\n\nRequires matching change:\n  https://googleplex-android-review.git.corp.google.com/#/c/642778/\n\nChange-Id: I28c236959f2d7d5f0dccc8ea45c325ea0cf871fc\n"
    },
    {
      "commit": "e3b164d024a1f9a21731a42aff442bc575dc03a7",
      "tree": "0e213679997b331f627cb28a38e16843e1ce71a4",
      "parents": [
        "5ed3e9ec31322f689934f339da0dcdbfbb1aec47",
        "429e7424f29ab42e10559340f31a64c25035ce4f"
      ],
      "author": {
        "name": "Daniel Cardenas",
        "email": "danielcar@google.com",
        "time": "Fri Mar 20 00:14:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 20 00:14:36 2015 +0000"
      },
      "message": "Merge \"Revert \"lowmemorykiller: make perms 0220\"\""
    },
    {
      "commit": "429e7424f29ab42e10559340f31a64c25035ce4f",
      "tree": "08fa485ec49c88a0dcf78081436fe0fd6fbd5715",
      "parents": [
        "b3739735b84a88cccfe08c0d69b1017a07004470"
      ],
      "author": {
        "name": "Daniel Cardenas",
        "email": "danielcar@google.com",
        "time": "Fri Mar 20 00:07:57 2015 +0000"
      },
      "committer": {
        "name": "Daniel Cardenas",
        "email": "danielcar@google.com",
        "time": "Fri Mar 20 00:10:15 2015 +0000"
      },
      "message": "Revert \"lowmemorykiller: make perms 0220\"\n\nThis reverts commit b3739735b84a88cccfe08c0d69b1017a07004470.\nValues are helpful to inspect during memory performance tuning.\n\nb/19847626\n\nChange-Id: I004ed37d5cc67e466c1fd1a84e47348524056e87\n"
    },
    {
      "commit": "7ad506839a4ea39bb47f203cd1dcd21b9260b3a6",
      "tree": "6d940529008e06c27039712b37ca822bfd49f6bd",
      "parents": [
        "959470f72226a03187c00bad3e18bd54e8c77671",
        "6025a2bc493534b3003ebd2ad7130366cf4f6723"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Mar 13 07:09:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 13 07:09:39 2015 +0000"
      },
      "message": "am 6025a2bc: am bd518bce: Merge changes I3187aa34,Iadac58e6\n\n* commit \u00276025a2bc493534b3003ebd2ad7130366cf4f6723\u0027:\n  init.rc: logd --reinit on changes to persistent properties\n  logd: add reinit command\n"
    },
    {
      "commit": "48d06069a8a6be3a968694dad65ce4c11b7bef22",
      "tree": "38183fdc5a82d0f0a7a5b995921d2f10d5032bc8",
      "parents": [
        "11e55cb9c1e5efe553e36f1b5c04ab21883f66e1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 11 14:45:05 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 12 12:24:53 2015 -0700"
      },
      "message": "init.rc: logd --reinit on changes to persistent properties\n\nBug: 19681572\nChange-Id: I3187aa348dae79fa5822ffb7ee9566919a7a04e6\n"
    },
    {
      "commit": "87946e714b8efd4448efc90812306afbce62a8c7",
      "tree": "65a5c13dfa4b7599e4688ed57ec8c57ffb57443d",
      "parents": [
        "e6b0512efae64219f140b852e885d2e42f0a78d8",
        "20dc9c01fabb33ed5a0e17b8efbdcdbe576c0941"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Feb 27 19:44:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 27 19:44:46 2015 +0000"
      },
      "message": "am 20dc9c01: am 1dd71ae1: am f33c3bc9: Merge \"init: drop dontpanic \u0026 apanic initialization\"\n\n* commit \u002720dc9c01fabb33ed5a0e17b8efbdcdbe576c0941\u0027:\n  init: drop dontpanic \u0026 apanic initialization\n"
    },
    {
      "commit": "1dd71ae12e2e47c9ca63eb04878ee9632cc4417c",
      "tree": "da5f2fcf2b8c375e15262fb01122cee4cf5539cc",
      "parents": [
        "b8d1af618d9b8486765933bda03f2e80c1166491",
        "f33c3bc9602e4a369c4cc5d28357b8f73a3eed6c"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Feb 27 19:34:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 27 19:34:33 2015 +0000"
      },
      "message": "am f33c3bc9: Merge \"init: drop dontpanic \u0026 apanic initialization\"\n\n* commit \u0027f33c3bc9602e4a369c4cc5d28357b8f73a3eed6c\u0027:\n  init: drop dontpanic \u0026 apanic initialization\n"
    },
    {
      "commit": "1eaba37aae04ba3db65e4c3564192d53b2137bac",
      "tree": "233f0f43ef79fe9f8b36620c8909b7580f218e18",
      "parents": [
        "be9712156bdcf8cff774a78a3afdb0c562998c73"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Feb 26 17:17:55 2015 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Feb 27 07:03:01 2015 -0800"
      },
      "message": "init: drop dontpanic \u0026 apanic initialization\n\nBug: 19050686\nBug: 19525200\nChange-Id: Id81abe3b44283b439390b42db7a9da23748dee0a\n"
    },
    {
      "commit": "be95a75e6f9532bf78a4a8a408a7bf2f337a32d3",
      "tree": "004fc5299346f9c389220e48d49b7d67c3ad764d",
      "parents": [
        "80783dea1dbf3f33039fa0a21952dc17c83806dc",
        "0a316829fb856f98d8db3ba78667feb19fb12e22"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 26 02:27:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 26 02:27:11 2015 +0000"
      },
      "message": "am 0a316829: am 398ade81: am 7bb72b73: Merge \"seclabel use on services out of system partition\"\n\n* commit \u00270a316829fb856f98d8db3ba78667feb19fb12e22\u0027:\n  seclabel use on services out of system partition\n"
    },
    {
      "commit": "398ade817b64308cabbf10883ab5a74e4850e43d",
      "tree": "533b40c9a36d21b9d9add0fead101a8c2fe2b82f",
      "parents": [
        "15e625f7dc24890603f30db5cdac75daf323a39d",
        "7bb72b73b0291636721d83a45adad175163361ec"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 26 01:07:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 26 01:07:12 2015 +0000"
      },
      "message": "am 7bb72b73: Merge \"seclabel use on services out of system partition\"\n\n* commit \u00277bb72b73b0291636721d83a45adad175163361ec\u0027:\n  seclabel use on services out of system partition\n"
    },
    {
      "commit": "2422c17c5e5dc4aaaaca6ec99953497d87091a50",
      "tree": "481b1f2aa8c241e71c3096cdb80a6d667d5d9df9",
      "parents": [
        "85a6d7b28cf44a6dfd637feb3e6ae77bb230f3fb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 11:02:27 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 11:02:27 2015 +0000"
      },
      "message": "Track removal of the inputflinger binary.\n\nChange-Id: Ie3c3e5a67e7dfac5bd1672da6979fb053e8483b9\n"
    },
    {
      "commit": "6889007627fa0b50cb393c822e59f4f76d3883aa",
      "tree": "52a6489e0a567732373639ba6798f965dfea1341",
      "parents": [
        "f1ac6917da172dd3e6829bac41fcbf23e96da079"
      ],
      "author": {
        "name": "William Roberts",
        "email": "w2.roberts@samsung.com",
        "time": "Mon Feb 23 13:49:49 2015 -0800"
      },
      "committer": {
        "name": "William Roberts",
        "email": "w2.roberts@samsung.com",
        "time": "Mon Feb 23 13:50:37 2015 -0800"
      },
      "message": "seclabel use on services out of system partition\n\nThese services can make use of type transitions already\npresent in the base policy.\n\nChange-Id: Id785c39c4ea44598c64dc499bd943c73bc55ca85\n"
    },
    {
      "commit": "7630916fb86d87efc94df574c9a644903591e180",
      "tree": "9bd3019f06c67f646f92a48e8cc9e6ecb2003026",
      "parents": [
        "afb6545320069e511efa126f1c34118fb3c40973",
        "9c1bc6bbc82e3e4f005e9fcacfca94b2dd82ca31"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 05:14:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 14 05:14:22 2015 +0000"
      },
      "message": "am 9c1bc6bb: am 29576ae8: Merge \"/vendor is sometimes on a separate partition now.\"\n\n* commit \u00279c1bc6bbc82e3e4f005e9fcacfca94b2dd82ca31\u0027:\n  /vendor is sometimes on a separate partition now.\n"
    },
    {
      "commit": "9c1bc6bbc82e3e4f005e9fcacfca94b2dd82ca31",
      "tree": "64052dd3c3d6e69f2aa8588d5a60ad2782f0036c",
      "parents": [
        "c3d2793f6f89391285a2d65cbf85c3eab252ba8d",
        "29576ae8901eb95d4c8a34f242a282b2fb73d35f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 05:08:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 14 05:08:42 2015 +0000"
      },
      "message": "am 29576ae8: Merge \"/vendor is sometimes on a separate partition now.\"\n\n* commit \u002729576ae8901eb95d4c8a34f242a282b2fb73d35f\u0027:\n  /vendor is sometimes on a separate partition now.\n"
    },
    {
      "commit": "3a5d71ac60ea1769aa5a0c4d0d76b08238392247",
      "tree": "47a1f074ffc51eb11b23ac3241f62c6a1349f592",
      "parents": [
        "b0572e2566ed743e4e65b899ff0a678c804ee1a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 13 16:47:02 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 13 16:59:00 2015 -0800"
      },
      "message": "/vendor is sometimes on a separate partition now.\n\nChange-Id: I3217c272ea38ab8212056e0432d0ededacd362f6\n"
    },
    {
      "commit": "e6cc8012f5adadca867f5370d235525dff529091",
      "tree": "b938bda9bc08d7d931ca5fe823443f814ff246cb",
      "parents": [
        "b31528e9fedfcd76060b4911cace1306a6e0fc8c",
        "0903c13ade29e6eedecd198ac54131248a1818f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 12 21:36:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 12 21:36:21 2015 +0000"
      },
      "message": "am 0903c13a: am 265df6f5: Merge \"bootchart: fix bootchart can not be triggered problem\"\n\n* commit \u00270903c13ade29e6eedecd198ac54131248a1818f3\u0027:\n  bootchart: fix bootchart can not be triggered problem\n"
    },
    {
      "commit": "0903c13ade29e6eedecd198ac54131248a1818f3",
      "tree": "721d505c9b0a37ec57429a290ecac905e8f56fab",
      "parents": [
        "06b308bef0432db53c41b28930a857f6ab3cdcb6",
        "265df6f50c508710f0b717d67650732baa906976"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 12 20:32:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 12 20:32:33 2015 +0000"
      },
      "message": "am 265df6f5: Merge \"bootchart: fix bootchart can not be triggered problem\"\n\n* commit \u0027265df6f50c508710f0b717d67650732baa906976\u0027:\n  bootchart: fix bootchart can not be triggered problem\n"
    },
    {
      "commit": "a197ff12dd336a9945ad1164402980296f9c235c",
      "tree": "b01d81e0a3f06b3b239005697112de20f389ccda",
      "parents": [
        "ed318bff41c4515ca79a11afb97507a452e9fcd3"
      ],
      "author": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Fri Dec 05 13:45:02 2014 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 12 12:13:24 2015 -0800"
      },
      "message": "bootchart: fix bootchart can not be triggered problem\n\nbootchart uses a file on the data partition to decide if it should collect\ndata for bootchart, but the data partition will be mounted by the mount_all\ncommand in the \"on fs\" section, and it will be only added into the action\nqueue when command \"trigger fs\" is executed, but that\u0027s after the\nbootchart_init action (late_init).\n\nThis change makes bootchart_init a builtin command of init,\nand make it executed as the first command of \"on post-fs\" section\nwhich will be triggered after the \"on fs\" section.\n\nThis change also refactors the bootchart code to all be in bootchart.cpp.\n\nChange-Id: Ia74aa34ca5b785f51fcffdd383075a549b2a99d9\nSigned-off-by: Yongqin Liu \u003cyongqin.liu@linaro.org\u003e\n"
    },
    {
      "commit": "d933fc0c05c9dff977ec6824cecb37e49a5b28ff",
      "tree": "b240b4c7d4c430641c038e7d2203ed3d18e5dbec",
      "parents": [
        "14b964f52ebf9a4e86fdb1ced0ca4d9a3cb6fcab",
        "a1738915329e704ea52fc09c222bb4893e6e51df"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Feb 09 04:14:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 09 04:14:22 2015 +0000"
      },
      "message": "am a1738915: am 317b4024: Revert \"Make encryption configurable\"\n\n* commit \u0027a1738915329e704ea52fc09c222bb4893e6e51df\u0027:\n  Revert \"Make encryption configurable\"\n"
    },
    {
      "commit": "a1738915329e704ea52fc09c222bb4893e6e51df",
      "tree": "1ca57494303eb4e662c744f271807ef383ded03c",
      "parents": [
        "e6ed63e610c5e6a56b04a5168e873dfa48c73aec",
        "317b4024a2a46b8c57abfa08f2a649df13572bd3"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Sat Feb 07 00:11:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 07 00:11:12 2015 +0000"
      },
      "message": "am 317b4024: Revert \"Make encryption configurable\"\n\n* commit \u0027317b4024a2a46b8c57abfa08f2a649df13572bd3\u0027:\n  Revert \"Make encryption configurable\"\n"
    },
    {
      "commit": "317b4024a2a46b8c57abfa08f2a649df13572bd3",
      "tree": "a2b682914fee9619b06ee52c68be25d1eaa7a1d3",
      "parents": [
        "bda6272446454886339841a62daaa1b66c07ad60"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Feb 06 17:18:19 2015 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Feb 06 17:32:09 2015 +0000"
      },
      "message": "Revert \"Make encryption configurable\"\n\nThis reverts commit bda6272446454886339841a62daaa1b66c07ad60.\n\nThe original fix seems to have led to boot failures in QA. Rather than\nrisk shipping, revert the change. Bug 18764230 reopened.\n\nRequires change\n    https://googleplex-android-review.git.corp.google.com/#/c/629764/\n\nBug: 19278390\nBug: 19199624\n\nChange-Id: I8b6ab585666f2b0f585ffb2a5f61ac2e3462e06e\n"
    },
    {
      "commit": "0c713b52436674cac2cb4dc2bac50dfad31042a1",
      "tree": "7af1c157026f9b061e159dc293a6be48e62d340f",
      "parents": [
        "07e0ee7cf473c6c0afef906164b775ac6d4984f8",
        "86cdce1aab39ddbb346e6f7be1ca86531970419f"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Feb 05 23:31:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 05 23:31:32 2015 +0000"
      },
      "message": "am 86cdce1a: am f52338fe: Merge \"rootdir: enable armv8_deprecated swp hook\"\n\n* commit \u002786cdce1aab39ddbb346e6f7be1ca86531970419f\u0027:\n  rootdir: enable armv8_deprecated swp hook\n"
    },
    {
      "commit": "86cdce1aab39ddbb346e6f7be1ca86531970419f",
      "tree": "959aca6b0d30ba163704b3050769f118f90ea87d",
      "parents": [
        "dcbeb41a673e3fa6eb8344e9c806cb8a5f7eeff5",
        "f52338fe1e8f74123a895db591d6a2a53061a2b1"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Feb 05 23:21:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 05 23:21:19 2015 +0000"
      },
      "message": "am f52338fe: Merge \"rootdir: enable armv8_deprecated swp hook\"\n\n* commit \u0027f52338fe1e8f74123a895db591d6a2a53061a2b1\u0027:\n  rootdir: enable armv8_deprecated swp hook\n"
    },
    {
      "commit": "cee8757f921d5b74acbc29b37a1842041b27fb00",
      "tree": "521afb835f9b090870a5081ce7b2081fcec5b910",
      "parents": [
        "d558530ba90cb6218fe8e255c71a034c3fe1ea58"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Jan 26 10:40:29 2015 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Feb 05 13:38:58 2015 -0800"
      },
      "message": "rootdir: enable armv8_deprecated swp hook\n\nThe upstream kernel now includes support for emulating legacy AArch32\ninstructions on ARMv8 devices.  By default this framework emulates\ndeprecated instructions but not obsolete instructions.\n\nAndroid requires support for the obsolete SWP and SWPB instructions on\nall ARM devices, so override this default for the swp emulation hook.\n\nChange-Id: I82b9bdb564413ec7c1a101da75a9928aebe1606b\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "07932da9118893563624116dad926d7c49c06424",
      "tree": "a1a18748dc32d97bb0772999798172545cd155e6",
      "parents": [
        "75ad8ce75718a5e91903e8b8d4bf095f6c6ff4bd",
        "e1f62802f6bec8ecc89100a1bbbdc36b7d18985b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jan 31 08:34:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 31 08:34:08 2015 +0000"
      },
      "message": "am e1f62802: am d07555db: Merge \"ensure /data/tombstones exists on all Android devices\"\n\n* commit \u0027e1f62802f6bec8ecc89100a1bbbdc36b7d18985b\u0027:\n  ensure /data/tombstones exists on all Android devices\n"
    },
    {
      "commit": "e1f62802f6bec8ecc89100a1bbbdc36b7d18985b",
      "tree": "ae55e6664c15868b20cfd93cac97ebfb398e5eeb",
      "parents": [
        "977e23397a8c7bc3b14c393664fcab05cd6267f6",
        "d07555dba01d64011b0d611dd6d3b197b216c163"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jan 31 07:49:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 31 07:49:28 2015 +0000"
      },
      "message": "am d07555db: Merge \"ensure /data/tombstones exists on all Android devices\"\n\n* commit \u0027d07555dba01d64011b0d611dd6d3b197b216c163\u0027:\n  ensure /data/tombstones exists on all Android devices\n"
    },
    {
      "commit": "0359d778a564a5c63baba08a33484fb69eda4d1e",
      "tree": "5f62a1ea2446f5c8f03897fc2f32f7a13eb28700",
      "parents": [
        "6b1d86322eb300e65539eadc24a65f76a49997b9"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 30 17:38:06 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 30 17:38:06 2015 -0800"
      },
      "message": "ensure /data/tombstones exists on all Android devices\n\n/data/tombstones is referenced by core platform code, but is not\nguaranteed to exist on all Android devices. Move the directory\ncreation out of device specific files and into the core\ninit.rc file.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d93207\nChange-Id: I94ae5199a6a32c4fe555ca994fc4a8345e0c9690\n"
    },
    {
      "commit": "36d0eaecd7bd7970b91ac35d6753bf715097e3b9",
      "tree": "5fc2626551d91d10f65796280403938541b9d894",
      "parents": [
        "2f7ee6b7dd36f3d5c55473b67dc2430c795402ce"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jan 21 09:57:01 2015 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jan 28 11:41:53 2015 -0800"
      },
      "message": "Make encryption configurable\n\nDelay mounting encryptable but unencrypted volumes until we can\ncheck the ro.vold.forceencrypt flag, then optionally encrypt.\n\nRequires matching vold change from\n    https://googleplex-android-review.git.corp.google.com/#/c/615309/\n\nBug: 18764230\nChange-Id: If22008be8de6a4f3216b349f81ace49be1730314\n"
    },
    {
      "commit": "e5a84ce55e1a0b5d8a4eed2fd8c96d6579829b85",
      "tree": "47da9528600777c93376bc11bcdab8d29649ff4e",
      "parents": [
        "6671bd1fbfcb413ca5c1f6d2f262bcafe56110e1",
        "7e890a4d32816d34b30fb5d1f651d966d64bbf36"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Jan 26 16:28:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 26 16:28:33 2015 +0000"
      },
      "message": "am 7e890a4d: am bda62724: Make encryption configurable\n\n* commit \u00277e890a4d32816d34b30fb5d1f651d966d64bbf36\u0027:\n  Make encryption configurable\n"
    },
    {
      "commit": "7e890a4d32816d34b30fb5d1f651d966d64bbf36",
      "tree": "6df70cd1ef437a00dffeb7c497bcda90500dc45d",
      "parents": [
        "406865adcb23e3de573b61b29be205a76b2fc211",
        "bda6272446454886339841a62daaa1b66c07ad60"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Jan 26 16:22:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 26 16:22:49 2015 +0000"
      },
      "message": "am bda62724: Make encryption configurable\n\n* commit \u0027bda6272446454886339841a62daaa1b66c07ad60\u0027:\n  Make encryption configurable\n"
    },
    {
      "commit": "bda6272446454886339841a62daaa1b66c07ad60",
      "tree": "62853a7f9d46dea01fb29d50da39fe7f4608579c",
      "parents": [
        "70f6dea9d06876bc65181c40ee9e623be196fb4c"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jan 21 09:57:01 2015 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Jan 21 10:03:29 2015 -0800"
      },
      "message": "Make encryption configurable\n\nDelay mounting encryptable but unencrypted volumes until we can\ncheck the ro.vold.forceencrypt flag, then optionally encrypt.\n\nRequires matching vold change from\n    https://googleplex-android-review.git.corp.google.com/#/c/615309/\n\nBug: 18764230\nChange-Id: If22008be8de6a4f3216b349f81ace49be1730314\n"
    },
    {
      "commit": "f756cf143968e0c17b7992b9d850490e8c314bd6",
      "tree": "b41f66728358b37a7402f991ae792f1fd72e5bcf",
      "parents": [
        "51f33fca6b2cf2f91896eb2ab5fe6661b8401bc9",
        "8c7380b4761d5ca02d839ccd337014116134a5b8"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 15 02:27:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 02:27:51 2015 +0000"
      },
      "message": "am 8c7380b4: am 3802b5d4: Merge \"rootdir: add pstore\"\n\n* commit \u00278c7380b4761d5ca02d839ccd337014116134a5b8\u0027:\n  rootdir: add pstore\n"
    },
    {
      "commit": "8c7380b4761d5ca02d839ccd337014116134a5b8",
      "tree": "526f349eb8fee3ad9381e45b23ee58b7385827fc",
      "parents": [
        "03e45da4fee72c9ebe9416c36d8bc60a43ec028e",
        "3802b5d4c5cb14864dcdd8820e9140b81a2d7d78"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 14 17:46:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 14 17:46:46 2015 +0000"
      },
      "message": "am 3802b5d4: Merge \"rootdir: add pstore\"\n\n* commit \u00273802b5d4c5cb14864dcdd8820e9140b81a2d7d78\u0027:\n  rootdir: add pstore\n"
    },
    {
      "commit": "4b0313e4d39d4ce9c911907e0f1b34ab3b32dd58",
      "tree": "fb2e90615e9d691dd6176c57ebb55662614b92e9",
      "parents": [
        "49beb7e01be1c7a9914371fb6f8d2c9d76c46a7e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Dec 15 07:52:19 2014 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 14 17:15:39 2015 +0000"
      },
      "message": "rootdir: add pstore\n\n/dev/pmsg0 used to record the Android log messages, then\non reboot /sys/fs/pstore/pmsg-ramoops-0 provides a means\nto pull and triage user-space activities leading\nup to a panic. A companion to the pstore console logs.\n\nChange-Id: Id92cacb8a30339ae10b8bf9e5d46bb0bd4a284c4\n"
    },
    {
      "commit": "f3fd1226e05c806dd4ad4552abf56bcac12efe5e",
      "tree": "e6657689c1b9b450142a6054f7a04583aeeb082b",
      "parents": [
        "f84c6a1fcd9b142b84af20ca2c6591de180ffe33"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Dec 03 09:57:00 2014 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Dec 10 09:38:14 2014 -0800"
      },
      "message": "init.rc: disable ICMP redirects\n\nBug: 18604139\n\nChange-Id: I4bf22d0029f8b03b0ef4329b7b8632d8e116c8e1\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "ac12f25004d728fe117c058446fccb0ca0a397c9",
      "tree": "2d6cccd6c622925441fef6efb10a2a1bda7693b7",
      "parents": [
        "b5422854361be038b812f1c0272c66cdb4618a4b",
        "667230074b6e4e306a50d84a88a57bf4f1ec0291"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 05 19:18:32 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 05 19:18:32 2014 +0000"
      },
      "message": "Ensure /data/adb exists\nautomerge: 6672300\n\n* commit \u0027667230074b6e4e306a50d84a88a57bf4f1ec0291\u0027:\n  Ensure /data/adb exists\n"
    },
    {
      "commit": "667230074b6e4e306a50d84a88a57bf4f1ec0291",
      "tree": "d071a1e3f6f0f6f7ea4e10728c930beda59fd5a5",
      "parents": [
        "4b970895848ff114ac1011a293663eb6d43e8fd7"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Oct 20 21:53:56 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 05 10:17:39 2014 -0800"
      },
      "message": "Ensure /data/adb exists\n\nEnsure that /data/adb always exists. This directory is used\nfor writing adb debugging information when persist.adb.trace_mask\nis set.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d72895\n\n(cherry picked from commit 89252ce31aacb27248e708b6487f730d3a024943)\n\nChange-Id: I44e01bee50125f4e6e5fff6e74c53bb2022ce355\n"
    },
    {
      "commit": "aad358fbc19592cefc37160fb7e3901f732dc033",
      "tree": "0d15acb7ac9931879d42fc74d2fe22f7c6660439",
      "parents": [
        "37d70f53672c8878a5ce5506d6d89b851400f8e6",
        "b2042f7263c7bbacc5115de4a42c5a96b64a06f2"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 08:49:05 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 08:49:05 2014 -0700"
      },
      "message": "Merge commit \u0027b2042f7263c7bbacc5115de4a42c5a96b64a06f2\u0027 into HEAD\n"
    },
    {
      "commit": "268c887f0c689625701f1218d649217ebc887e15",
      "tree": "b512c047ae8fd9701b27b2d7a10a669f45205985",
      "parents": [
        "e272a538dca3e02f452fd80d2bc0a793315fbd39",
        "147de7e147c9a85158f79b6aeffd87af6b921690"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Oct 21 17:16:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 17:16:31 2014 +0000"
      },
      "message": "am 147de7e1: am 37d70f53: am c0b4b8b0: Merge \"Ensure /data/adb exists\"\n\n* commit \u0027147de7e147c9a85158f79b6aeffd87af6b921690\u0027:\n  Ensure /data/adb exists\n"
    },
    {
      "commit": "147de7e147c9a85158f79b6aeffd87af6b921690",
      "tree": "f7af2d2df118b41cc40137ee0669c6fe44032f14",
      "parents": [
        "06850f9ccd9c7668a8ab80bdfea00c1b275b5af9",
        "37d70f53672c8878a5ce5506d6d89b851400f8e6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Oct 21 17:10:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 17:10:47 2014 +0000"
      },
      "message": "am 37d70f53: am c0b4b8b0: Merge \"Ensure /data/adb exists\"\n\n* commit \u002737d70f53672c8878a5ce5506d6d89b851400f8e6\u0027:\n  Ensure /data/adb exists\n"
    },
    {
      "commit": "89252ce31aacb27248e708b6487f730d3a024943",
      "tree": "1f1f62becaaf5b8747c6164e642cdfda37441146",
      "parents": [
        "951c48c504b28cd1646560a73d670493722f68f0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Oct 20 21:53:56 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Oct 21 16:16:39 2014 +0000"
      },
      "message": "Ensure /data/adb exists\n\nEnsure that /data/adb always exists. This directory is used\nfor writing adb debugging information when persist.adb.trace_mask\nis set.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d72895\nChange-Id: I9cee2a0202417ff72a5ede7742e25877f51732dd"
    }
  ],
  "next": "49d1ba1743528ae492a24851e4632b0af5917ef5"
}
