)]}'
{
  "log": [
    {
      "commit": "736910ca99a40b9add4353bf619e778c40938948",
      "tree": "e259c18585f9198d5ba1ffc6ed27f0fc56afb519",
      "parents": [
        "97f2fc110b2ace7914671c2f5852379bd78922e4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 27 13:37:07 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 27 13:37:28 2011 -0700"
      },
      "message": "Add new vold call to get the path to an asec fs.\n\nChange-Id: Ife15628ed6e2493c9e85a2ade6d59a194fdddde5\n"
    },
    {
      "commit": "97f2fc110b2ace7914671c2f5852379bd78922e4",
      "tree": "a6b73397af64f7b18836f0331acc35de258e1092",
      "parents": [
        "6b715592ec94f9d75ca8119ace824ff729c104c2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 10:51:38 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 23:57:12 2011 -0400"
      },
      "message": "Update path for seting USB mass storage backing store\n\nChange-Id: I0e5fab1624e5ef5d2f55e2584d8adc1b6bab91b0\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6b715592ec94f9d75ca8119ace824ff729c104c2",
      "tree": "b01b2dd0e9501285e24c0a18384329e11aa32495",
      "parents": [
        "86bccb14d6db2435e0115b20e8e30f8200d06ef1",
        "a976656ff90291b9437a4d37b48e82abcd48195e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 20:55:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 17 20:55:07 2011 -0700"
      },
      "message": "Merge \"Remove obsolete code for monitoring USB status\""
    },
    {
      "commit": "319b1043bbbd410aa2d572d88b5936f26072d026",
      "tree": "1283d2ae340dd330c980df0ef0ebd1b46e508a64",
      "parents": [
        "29d8da8cefa99e436c13295d4c9bad060ca18a6d"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Jun 14 14:01:55 2011 -0700"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Jun 14 14:01:55 2011 -0700"
      },
      "message": "Don\u0027t abort the encryption process if an internal volume is present but unmounted.\n\nIt is not a failure if the SD card is not mounted.\n\nChange-Id: If954f77c55ac124b9b7b39c89ffbafb4e5ea9e98\n"
    },
    {
      "commit": "a976656ff90291b9437a4d37b48e82abcd48195e",
      "tree": "3a3e6ae7721fbfe1bcf478fa7386c663419ce224",
      "parents": [
        "29d8da8cefa99e436c13295d4c9bad060ca18a6d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 08:34:08 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 08:34:08 2011 -0700"
      },
      "message": "Remove obsolete code for monitoring USB status\n\nChange-Id: I8ac8900b3135f03b7717540b825ff6df76f31c0b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "29d8da8cefa99e436c13295d4c9bad060ca18a6d",
      "tree": "3608a594ae4a411b8bdfa5238812290090643274",
      "parents": [
        "10a9e42835e7a241e796fe1b9c159dbfb312a69d"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed May 18 17:20:07 2011 -0700"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Thu Jun 02 16:30:14 2011 -0700"
      },
      "message": "vold: allow to store key in a file on another partition\n\nAdd support for keeping the keys in a separate file on another partition,\nfor devices with no space reserved for a footer after the userdata filesystem.\n\nAdd support for encrypting the volumes managed by vold, if they meet certain\ncriteria, namely being marked as nonremovable and encryptable in vold.fstab.\nA bit of trickiness is required to keep vold happy.\n\nChange-Id: Idf0611f74b56c1026c45742ca82e0c26e58828fe\n"
    },
    {
      "commit": "3c9a73f643f7c782bdd326f628eeea97bec42ae8",
      "tree": "aa371c494fecb6dda3277427e984699ea1b58525",
      "parents": [
        "905ed1fbd34ecb537c8c89affa6fae7c592029dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 10 15:07:14 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 10 15:07:14 2010 -0800"
      },
      "message": "Stifle \"Ignoring unknown switch\" logging\n\nChange-Id: I9770ab880f379e2f7f6a93d3c84990edec60a116\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a28056b38275003895ff5d9576681aca01544822",
      "tree": "8179cf23a1b0906d8e4fc7d186a6df2203a6bb9a",
      "parents": [
        "918e5f9f10b9c1ff929683743ffbf229027ce240"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 28 15:21:24 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 28 15:21:24 2010 -0400"
      },
      "message": "Set VM dirty ratio to zero when UMS is active\n\nImproves UI responsiveness when copying large amount of data to the device.\n\nBUG: 3131847\n\nChange-Id: I4aa5ade7e2cd7e5110c8f0f7ee43bdc57577e11d\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "918e5f9f10b9c1ff929683743ffbf229027ce240",
      "tree": "a27ad6a7d6b2d4e0d0cdfe66e7149b4367a99b8e",
      "parents": [
        "cbacf78eff70bd43bb899e164ec2ab409bc0904c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 18:00:52 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 18:02:34 2010 -0700"
      },
      "message": "Better error code for unmounting not-mounted volumes\n\nENOENT is more descriptive than the generic error that EINVAL gets\nturned into. Then we can actually treat it how we want on the other\nside.\n\nChange-Id: I9b4f3be6308e13f680eae368d2167ab9ee6aae5f\n"
    },
    {
      "commit": "cbacf78eff70bd43bb899e164ec2ab409bc0904c",
      "tree": "955a49db44566aa909b4e5c9e39c374c47c932e9",
      "parents": [
        "a4886f1f8ed72e24a302a91a0ab18bc54b6f585e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 24 15:11:48 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 07:35:17 2010 -0700"
      },
      "message": "Track type of container mounted\n\nOBB and ASEC are tracked in the same active container list, but when it\ncomes time to unmount everything, it was trying to unmount the OBBs\naccording to ASEC rules. This led to the OBB not being unmounted and the\nvolume unmount failing.\n\nChange-Id: I12c1d4d387b8022185d552b63edd61a50b9c0fc3\n"
    },
    {
      "commit": "2dfe297ec47559dbe2297a72bea71cf515c03797",
      "tree": "6e450b33108c9e9937a93603ca3656542b975a74",
      "parents": [
        "a3e06084564c86ff618c40f185f3676b8b629b94"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 17 18:50:51 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 17 18:50:51 2010 -0400"
      },
      "message": "Fixes for devices with internal FAT file system:\n\nOnly share a single partition via UMS if a specific partition\nis specified in vold.fstab (rather than \"auto\")\n\nDo not fail to reformat if MBR cannot be found.\n\nChange-Id: I544ca2ee325c308af656ab9f4732c788a964c156\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a3e06084564c86ff618c40f185f3676b8b629b94",
      "tree": "4f3f124803330ec2ed41c31c9c8ba34a2b40fef9",
      "parents": [
        "e17e91f63b3cceb2ef670947fd7f9ff3c40ee1a7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Aug 27 08:31:35 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 02 13:16:53 2010 -0700"
      },
      "message": "Allow execute on mounted ASEC and OBB containers\n\nThis allows us to place shared libraries in these containers which may\nonly be loaded if they are executable.\n\nChange-Id: I78fa9ab6d5c58ec8b98c40004da72aebc0aade2a\n"
    },
    {
      "commit": "508c0e1605b795bbb51cb47d955b89f3df26ca94",
      "tree": "f81d933fa05f1653d6e67d75c756689371316638",
      "parents": [
        "fb7c4d5a8a1031cf0e493ff182dcf458e5fe8c77"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 12 09:59:49 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 12:41:01 2010 -0700"
      },
      "message": "Additional Obb functionality\n\n* Rename all functions dealing with OBB files to mention Obb\n\n* Add \u0027path\u0027 and \u0027list\u0027 functionality to OBB commands\n\n* Store hashed filename in loop\u0027s lo_crypt_name and keep lo_file_name\n  for the real source filename. That way we can recover it later with an\n  ioctl call.\n\nChange-Id: I29e468265988bfb931d981532d86d7be7b3adfc8\n"
    },
    {
      "commit": "fb7c4d5a8a1031cf0e493ff182dcf458e5fe8c77",
      "tree": "134af6f5d522e4f08a1ad305f585e39ce973acf0",
      "parents": [
        "99635f6c289fe2528c226403ea215c917ce86037"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 30 18:48:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 08:14:32 2010 -0700"
      },
      "message": "Add image mounting commands for OBB files\n\nAllow the mounting of OBB filesystem images if they\u0027re encrypted with\ntwofish and in FAT filesystem format.\n\nChange-Id: I54804e598f46b1f3a784ffe517ebd9d7626de7aa\n"
    },
    {
      "commit": "99635f6c289fe2528c226403ea215c917ce86037",
      "tree": "03b1bdd0e42ec08e6cc361824a28368871e0158c",
      "parents": [
        "acc9e7dcca8978fc809fa5b4d9b819c515a980ff"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 25 23:04:04 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 28 08:57:00 2010 -0400"
      },
      "message": "Use new kernel notifications to determine if USB mass storage is available.\n\nThe usb_mass_storage switch no longer exists in our 2.6.35 kernel.\nInstead we will consider mass storage to be available if both USB is connected\nand the USB mass storage function is enable.\n\nChange-Id: I730d1b3cb3cac664fc2abcdc36cd39856a08404a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "acc9e7dcca8978fc809fa5b4d9b819c515a980ff",
      "tree": "e87097a4721ae08f01f153a86800d90ff4003de9",
      "parents": [
        "f69b3b9af78c94b5ce56a73e086b22b585ea5c85"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 18 19:06:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Jun 20 22:03:10 2010 -0700"
      },
      "message": "Change ASCII conversion for hash and add tests\n\nHash was printed using snprintf(), but we can just write yet another hex\nconversion utility!\n\nChange-Id: I04f1992deaf5bf1b3e2751c8f07072f8ed6660e9\n"
    },
    {
      "commit": "1a06edaf4db4e9c520624bcc06e0e13ee470d90e",
      "tree": "274a062c49efd0f44af1943ed8b7ab51e8211be0",
      "parents": [
        "97ac40e4e6f3ed0bd5d6878d7d8d4a54fcaecb76"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 15 12:58:50 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 15 12:59:15 2010 -0700"
      },
      "message": "vold: Ensure we cleanup secure containers on card removal.\n\nFixes bug: http://b/issue?id\u003d2567572\n\nNote: The framework will still likely restart since the system_server\nis holding references to assets on the card which are mmaped, but\nat least now storage will be available when a new card is re-inserted.\n\nChange-Id: I4e195c0c666426b93da47198fa826a6f58d855a9\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "97ac40e4e6f3ed0bd5d6878d7d8d4a54fcaecb76",
      "tree": "824665f991e4ec6aa6a6a0fbf491a06e24cae500",
      "parents": [
        "da62e7c00259f6b98696cedb7d031f04951caef0"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 24 10:24:19 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 25 08:02:28 2010 -0700"
      },
      "message": "vold: Switch from LOG -\u003e SLOG\n\nChange-Id: I48ee8bd90b47f5845f069cdf4d1b8ba6ecdb1b39\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "88ac2c06539485942bf414efda2d39647fa1a415",
      "tree": "2871f9e624e115b4c441c5f05b18c760fc31d538",
      "parents": [
        "96597e8b840ef671fe5279f8bd64fb09a8b38d4c"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Mar 23 11:15:58 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Mar 23 11:15:58 2010 -0700"
      },
      "message": "vold: asec path cmd now returns OpFailedStorageNotFound if id doesn\u0027t exist\n\nChange-Id: Icbe3de7c28505f7496c8f8edea126c7b616de475\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "96597e8b840ef671fe5279f8bd64fb09a8b38d4c",
      "tree": "26acc737d672b4e52180bf5f491a4ad0819c3574",
      "parents": [
        "7b18a7b36f61574c0f0bdde0a7409dc36676fa12"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 17 09:50:54 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 17 09:50:54 2010 -0700"
      },
      "message": "vold: Add mounted filesystems to dump cmd\n\nChange-Id: If025e7ee10a79ff089920a6d0c1a52358b2d2c22\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "7b18a7b36f61574c0f0bdde0a7409dc36676fa12",
      "tree": "2c9230487adece3a5bb6722ceda531ddc1cd33d9",
      "parents": [
        "befd59c152835b815665ec3c5e453b55e70d5f0b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 15 13:13:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 15 14:39:40 2010 -0700"
      },
      "message": "vold: Convert to use OpenSSL MD5 API\n\nChange-Id: I9b84370fa9a98464c211ebe8983be8dbe9dd7ccd\n"
    },
    {
      "commit": "befd59c152835b815665ec3c5e453b55e70d5f0b",
      "tree": "6f255ba0a2437331bb2c9695e075c106b865d643",
      "parents": [
        "cb4dac8a5243f6673b0590019b5b28a01bd3e343"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 15 10:28:21 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 15 10:28:21 2010 -0700"
      },
      "message": "vold: remove some dead code\n\nChange-Id: Iaeb5d3334ec22ed31da9734bb8d7cd17e6a40eaf\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "d9a4e358614a0c5f60cc76c0636ee4bb02004a32",
      "tree": "00aaf23db6a1d1f4d385c5ed0ccfa8e711f41e19",
      "parents": [
        "2a5b8ce09b8836a8463ef9beaaff865c36ca5e6a"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Mar 12 13:32:47 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Mar 13 16:42:19 2010 -0800"
      },
      "message": "vold: Bugfixes \u0026 cleanups\n\n  - Fix issue where container-names \u003e 64 bytes were getting truncated in the\n    kernel. lo_name is only 64 bytes in length, so we now hash the container\n    id via md5\n  - Add \u0027dump\u0027 command to dump loop and devicemapper status\n  - Add \u0027debug\u0027 command to enable more detailed logging at runtime\n  - Log vold IPC arguments (minus encryption keys)\n  - Fix premature return from Loop::lookupActive() and friends\n\nChange-Id: I0e833261a445ce9dc1a8187e5501d27daba1ca76\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "fcf24fe62f98c5d44431aa575555569c2c7a29b0",
      "tree": "807d8d665f8e457c6fb6e0fb023e486aa581ed78",
      "parents": [
        "2350c44ff39b4cb2940893964a05f778fc80a436"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 03 12:37:32 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 03 12:40:34 2010 -0800"
      },
      "message": "vold: Add a versioned superblock to secure containers.\n\nAdd an un-encrypted superblock to the end of a secure container to\nhelp identify the crypto cipher used. This is required in order to\nprovide some semblence of versioning, in case we have cause to\nchange the crypto type on an update - say for example switching\nfrom software to hardware encryption, or from 128 -\u003e a zillion\nbit keys.\n\nNOTE: This format is incompatible with previous secure containers.\nAfter this change they will no longer be mountable.\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "a1091cb0c448a933068f9120fe6946c09812bfb6",
      "tree": "beeac205b538517083eda0b1fd5917a6b1c78b8e",
      "parents": [
        "55013f7131ffe094e1c7d929cfc32b3b25096a9b"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sun Feb 28 20:17:20 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sun Feb 28 20:17:20 2010 -0800"
      },
      "message": "vold: Allow creation of a container with no filesystem\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "55013f7131ffe094e1c7d929cfc32b3b25096a9b",
      "tree": "c799f3bc244bd00f9c991e6fba855d22425d2b3e",
      "parents": [
        "12f4b89046b54de1bdc188b7057ba77d7566e573"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 12:12:34 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 12:12:34 2010 -0800"
      },
      "message": "vold: Fix uninitialized mountpoint bug\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "12f4b89046b54de1bdc188b7057ba77d7566e573",
      "tree": "75c1ce570a13a852a8721aa816334dbccd72e888",
      "parents": [
        "96956ed0e220cb62a4a96136976ded0d8c2d9075"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 11:43:22 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 11:43:22 2010 -0800"
      },
      "message": "vold: Retry rmdir of asec mount point\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "96956ed0e220cb62a4a96136976ded0d8c2d9075",
      "tree": "c48b0c026597151114d25f6f75d5bfbcc78bab54",
      "parents": [
        "0e382532f32e97f90056250f2b13c59840d2c6b4"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:42:51 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:42:51 2010 -0800"
      },
      "message": "vold: Prohibit container rename when dst container is mounted\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "0e382532f32e97f90056250f2b13c59840d2c6b4",
      "tree": "53b7135b9b9048199520942281a9e61ec96f2248",
      "parents": [
        "52c2ccb6d25b94b96685efd4803226727710fbae"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:25:55 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:25:55 2010 -0800"
      },
      "message": "vold: fix infinite loop when failing to unmount a busy container in unmountVolume()\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "3bb6020e461e8872e8df0775cba6eb32e06b93ec",
      "tree": "97acf58f5a69cae34a09205c02e5cc782d19582a",
      "parents": [
        "8f2875b29780312f4edda3d831cc8a99e1648dd5"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 19 18:14:36 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 19 18:14:36 2010 -0800"
      },
      "message": "vold: Stage the mounting of media to hide the ASEC imagefile directory\n\n  In order to protect the \u0027/android_secure\u0027 directory on VFAT removable media\nfrom being mucked with by 3rd party applications on the device, we hide the\ndirectory with a read-only, zero-sized tmpfs mounted on-top. A reference to the\nhidden directory is kept by a bind-mount which is mounted at a location which\nonly root can access.\n\nStaging consists of:\n  1. Mount checked media at a secure location (/mnt/secure/staging)\n  2. Ensure /android_secure exists on the media, (creating if it doesnt)\n  3. Bind-mount /mnt/secure/staging/android_secure -\u003e /mnt/secure/asec\n     (where only root can access it)\n  4. Mount an RDONLY zero-sized tmpfs over /mnt/secure/staging/android_secure\n  5. Atomically move /mnt/secure/staging to the publicly accessable storage\n     directory (/mnt/sdcard)\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "4ba8948dc16463053e21cda5744f519a555080d0",
      "tree": "b033c6371d77569f490bf0b4a2a7e64dbac58882",
      "parents": [
        "d31e380bd9689dd9629b510ffe324707e261b439"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 09:00:18 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 11:48:49 2010 -0800"
      },
      "message": "vold: Add \u0027force\u0027 option to anything that can cause an unmount\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "d31e380bd9689dd9629b510ffe324707e261b439",
      "tree": "b82e3fb386be426389f418548b1dc6fe55e680d4",
      "parents": [
        "b3b4318ab8e2908f7b3c75fb68a5cbfc48fe6ab2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 08:37:45 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 11:48:49 2010 -0800"
      },
      "message": "vold2: Don\u0027t allow containers \u003c 1mb, and clean up some logging\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "586536c60b773e3517531ad8a6cb0de6722c67fc",
      "tree": "afd0ab67daf64d18ef7bfca282d82e14d74d2f09",
      "parents": [
        "8c940ef7dbd423cadc92982b44a65ed1014389e2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 16 17:12:00 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 16 17:12:00 2010 -0800"
      },
      "message": "vold: Refactor Processkiller and add command to return users of a mount point\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "8c940ef7dbd423cadc92982b44a65ed1014389e2",
      "tree": "c9184aaf7d322f94dfda24f46fb29ba42061a033",
      "parents": [
        "c6fc646af4f957dc7a586a448e63c458480d8355"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Feb 13 14:19:53 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Feb 13 18:59:48 2010 -0800"
      },
      "message": "vold: Fix devmapper/ptmx fd leak, and give asec unmount more time\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b9aed74b146beb7499ebc5775e8ae179d16900ef",
      "tree": "64c7bbb8a16c2510b648452334d25e5e6d467144",
      "parents": [
        "f5c61980969a0b49bda37b5dc94ffe675ebd5a5a"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 04 15:07:01 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 04 15:07:01 2010 -0800"
      },
      "message": "vold: Fix a few bugs\n\n - share command was taking wrong arguments\n - shared command was returning two termination codes\n - Force FAT32 cluster size to 4k when formatting\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "f5c61980969a0b49bda37b5dc94ffe675ebd5a5a",
      "tree": "ab962d69410ec00231f7fbb202f7cdc4a65bc7ca",
      "parents": [
        "2b22552f9a3b077f9d0a3624ac6f9b8b332f8a7a"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 03 11:04:46 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 03 11:04:46 2010 -0800"
      },
      "message": "vold: Silly rabbit, don\u0027t use unlink() when you mean\u0027t rmdir()\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "eba65e9d438a05f1c5dfd0f8d31bc463a5d08eee",
      "tree": "1811be052e092794889020492ec909295e56b7d3",
      "parents": [
        "048b0801fcd6fcfbb8fa812284c751181e4821b8"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 29 05:15:16 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 02 08:03:50 2010 -0800"
      },
      "message": "vold: Bloat reduction\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "048b0801fcd6fcfbb8fa812284c751181e4821b8",
      "tree": "01486b36199df7a155390a0b3fce968b4f7acdde",
      "parents": [
        "68f8ebdb24dfe1fe94de2c8fc11084ebfab9fa5d"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 23 08:17:06 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 23 08:17:06 2010 -0800"
      },
      "message": "vold: Add support for renaming secure containers\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "68f8ebdb24dfe1fe94de2c8fc11084ebfab9fa5d",
      "tree": "a14195a122db6e0fddc74823aba3f7766025321c",
      "parents": [
        "a4dc3b15b7886f661675ab5243800c80831e549b"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 23 07:21:21 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 23 07:23:59 2010 -0800"
      },
      "message": "vold2: update some debugging\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "a4dc3b15b7886f661675ab5243800c80831e549b",
      "tree": "5937c32749d5feb22d1ff689f6b89c919efeba55",
      "parents": [
        "5817821cf10b5f7d13eb693ffbc3f80f13bc681b"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 22 14:48:31 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 22 14:48:31 2010 -0800"
      },
      "message": "vold: Don\u0027t fail to return path if volume isn\u0027t mounted\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "88705166ab82057090a070c6d4200c3d9db76f11",
      "tree": "271b70fda4919c73e6741b4a50617b63eb2872ff",
      "parents": [
        "0586d54053ee00e6d6523d4f125282ccb9a24aab"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 15 09:26:28 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 15 09:26:28 2010 -0800"
      },
      "message": "vold: Unmount secure containers when the underlying media is removed.\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "0586d54053ee00e6d6523d4f125282ccb9a24aab",
      "tree": "a4ab1d9721cceace7f5b6a3797e2926f9c3a2e60",
      "parents": [
        "dfe79492a4f5280e9de2db6fa749a7781c59f2a6"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Jan 12 15:38:59 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Jan 12 15:38:59 2010 -0800"
      },
      "message": "vold2: Fix issue with destroying / unmounting asec\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "8b8f71b1d760411279f3b07a5c97709f052c689e",
      "tree": "42b1009d8619b23173b15aa0c9386e184d40f9ed",
      "parents": [
        "b78a32c1d5eeb243bdac0eaf18effb1897f1ee67"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jan 11 09:17:25 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jan 11 09:17:25 2010 -0800"
      },
      "message": "vold: Internally use sector counts for asec lengths\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b78a32c1d5eeb243bdac0eaf18effb1897f1ee67",
      "tree": "26d922ac90f359acf67cf49a5ed7ea40559922a1",
      "parents": [
        "8da6bcb006f4e4257cdd685e35e910a6334f6cea"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sun Jan 10 13:02:12 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jan 11 08:12:52 2010 -0800"
      },
      "message": "vold: Add encrypted ASEC support via devmapper\n\n- Supports up to 4096 containers\n- Keys are now implemented - specifying a key of \u0027none\u0027 means no encryption.\n  Otherwise, the key must be a string of 32 characters\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "8da6bcb006f4e4257cdd685e35e910a6334f6cea",
      "tree": "f13b9435711bf6728c1cc09e711db3fb982a6b4a",
      "parents": [
        "8d934caeae971d7d08ca33e98dae294eb57c402d"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 09 12:24:05 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 09 12:24:05 2010 -0800"
      },
      "message": "vold: Increase max supported loop devices to 255\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "23969931fad6e993832208f099f6eea0f6f76eb5",
      "tree": "c6336161c3ddedb8a0ff10ed90f72616f68fc23e",
      "parents": [
        "cff5ec3d360b699ad13df05670efe0d0a7386fbe"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 09 07:08:06 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Jan 09 07:08:06 2010 -0800"
      },
      "message": "vold: Use process-killer when unmounting asec containers\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "cff5ec3d360b699ad13df05670efe0d0a7386fbe",
      "tree": "b4c3ecede5d148e7b08b255e4eb45b35bd97caf8",
      "parents": [
        "1bc9558895dbb38b2103345ab90016f318c37bff"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 08 12:31:44 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 08 12:31:44 2010 -0800"
      },
      "message": "vold: Temporarily disable asec mountpoint permissions\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "eb13a90bb96b329d8e24a6c3d4720ae88451d301",
      "tree": "0d82e59e80b4d93b9a34f4f10c0fa7173189d84f",
      "parents": [
        "fff0b47998a722d57eea6a07350bbd7a6032b3cc"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Jan 07 12:12:50 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Jan 07 12:15:00 2010 -0800"
      },
      "message": "vold: Don\u0027t freak out if an asec mountpoint already exists\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "fff0b47998a722d57eea6a07350bbd7a6032b3cc",
      "tree": "dc917e75cb94578ecea6e161711036293a5137e7",
      "parents": [
        "a19b250bd273455933ca3502cf2c2e0a803aff77"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Jan 06 19:19:46 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Jan 06 19:19:46 2010 -0800"
      },
      "message": "vold2: Enable support for custom mount perm masks and wire to asec\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "a19b250bd273455933ca3502cf2c2e0a803aff77",
      "tree": "52cc87754a056859bcf1fe6362a16dd594f3e392",
      "parents": [
        "7b8f2db4b07deaaa2f6f5ffbee0386a394032b08"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Jan 06 10:33:53 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Jan 06 10:55:29 2010 -0800"
      },
      "message": "vold2: Initial support for Android Secure External Caches\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "0cde53ce7b44ce189d0bc6fa81c0036e096deb51",
      "tree": "80194ce3c0bc0ca293e6a4bc791a8026774d534d",
      "parents": [
        "a1c2ca1c70e52cccb7e63f4be8d7127b22afc0e5"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Dec 22 08:32:33 2009 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jan 01 10:57:33 2010 -0800"
      },
      "message": "vold2: Manually bootstrap the ums switch since switch kernel uevents are broken\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "a2677e4ad01f250b0765f04adf0acfa6627efc98",
      "tree": "1b45710a1cf2fdad5350c42fb4d6295aa80e8134",
      "parents": [
        "dd9b8e92aaf330b48ddb40a7380588ef92b53de6"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sun Dec 13 10:40:18 2009 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Dec 19 09:54:42 2009 -0800"
      },
      "message": "vold2: Get mounting/unmounting/formatting/sharing working\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "49e2bce5b74129c26a35e25d4693cbfe98c4688e",
      "tree": "0f1d842ae2cd3258bef7172691c85c622b865450",
      "parents": [
        "ae10b91044bf76b40b77d81c169e48e0bbdf6d75"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 16:29:01 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 16:29:01 2009 -0700"
      },
      "message": "vold2: Wire up more of the mount function\n\nSigned-off-by: San Mehat \u003csan@android.com\u003e\n"
    },
    {
      "commit": "ae10b91044bf76b40b77d81c169e48e0bbdf6d75",
      "tree": "d89d84f24b0ae649b0a1b4c61b4f6b87cc3b7983",
      "parents": [
        "3578c41ef138cb3edf38bb488cb9864921f55c79"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 14:57:05 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 15:03:15 2009 -0700"
      },
      "message": "vold2: Rename DeviceVolume -\u003e DirectVolume\n\nSigned-off-by: San Mehat \u003csan@android.com\u003e\n"
    },
    {
      "commit": "fd7f5875129adfe2845f4f3fffb17db3a89eea25",
      "tree": "5eb4230dc80b91ced9c7c45629d68f91059b1423",
      "parents": [
        "f1b736bc5605e92e917ab27f5abf3ba839be2270"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 11:32:47 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Oct 12 15:02:58 2009 -0700"
      },
      "message": "vold2: Refactor the netlink event handling and better define how partitions/disks are handled\n\nSigned-off-by: San Mehat \u003csan@android.com\u003e\n"
    },
    {
      "commit": "f1b736bc5605e92e917ab27f5abf3ba839be2270",
      "tree": "6c7eca090ea4e9292ad8d5e7bd157a5c59c17e08",
      "parents": [
        "8f8ba4d0c0a8bcfed22628928843f943638769db"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Sat Oct 10 17:22:08 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Sat Oct 10 17:57:51 2009 -0700"
      },
      "message": "system: vold2: Initial skeleton for vold2.\n\n  Let there be light.\n\nSigned-off-by: San Mehat \u003csan@android.com\u003e\n"
    }
  ]
}
