)]}'
{
  "commit": "536063f4f0c08fcfd1bb5c709edd3a8d3e5ad784",
  "tree": "5189b1348804f6408386df3dd43a3c1b922e6bd1",
  "parents": [
    "b63fbd0eb32237979544047d8d93a33f04762f9e"
  ],
  "author": {
    "name": "JP Abgrall",
    "email": "jpa@google.com",
    "time": "Thu Aug 07 17:12:43 2014 -0700"
  },
  "committer": {
    "name": "flintman",
    "email": "flintman@flintmancomputers.com",
    "time": "Mon Apr 27 08:05:06 2015 -0400"
  },
  "message": "ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim\n\n* What\nThis provides an interface for issuing an FITRIM which uses the\nsecure discard instead of just a discard.\nOnly the eMMC command is \"secure\", and not how the FS uses it:\ndue to the fact that the FS might reassign a region somewhere else,\nthe original deleted data will not be affected by the \"trim\" which only\nhandles un-used regions.\nSo we\u0027ll just call it \"deep discard\", and note that this is a\n\"best effort\" cleanup.\n\n* Why\nOnce in a while, We want to be able to cleanup most of the unused blocks\nafter erasing a bunch of files.\nWe don\u0027t want to constantly secure-discard via a mount option.\n\nFrom an eMMC spec perspective, it tells the device to really get rid of\nall the data for the specified blocks and not just put them back into the\npool of free ones (unlike the normal TRIM). The eMMC spec says the\nsecure trim handling must make sure the data (and metadata) is not available\nanymore. A simple TRIM doesn\u0027t clear the data, it just puts blocks in the\nfree pool.\nJEDEC Standard No. 84-A441\n  7.6.9 Secure Erase\n  7.6.10 Secure Trim\n\nFrom an FS perspective, it is acceptable to leave some data behind.\n - directory entries related to deleted files\n - databases entries related to deleted files\n - small-file data stored in inode extents\n - blocks held by the FS waiting to be re-used (mitigated by sync).\n - blocks reassigned by the FS prior to FIDTRIM.\n\nChange-Id: I676a1404a80130d93930c84898360f2e6fb2f81e\nSigned-off-by: Geremy Condra \u003cgcondra@google.com\u003e\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b9cdb6df8d2b168d5f041d27c2a73a7c5e9b0805",
      "old_mode": 33188,
      "old_path": "fs/ext4/ext4.h",
      "new_id": "d789d1a2a4dd352cb45670ed4c6e0320e828c41b",
      "new_mode": 33188,
      "new_path": "fs/ext4/ext4.h"
    },
    {
      "type": "modify",
      "old_id": "d5cb2b86b929760074f64053800f4d754bbade9f",
      "old_mode": 33188,
      "old_path": "fs/ext4/ioctl.c",
      "new_id": "d5dbde7c8deb33a560267f6b418f4d37c78b578f",
      "new_mode": 33188,
      "new_path": "fs/ext4/ioctl.c"
    },
    {
      "type": "modify",
      "old_id": "cdfc763b313fcf6e9aac39a6fc95497d91748d6d",
      "old_mode": 33188,
      "old_path": "fs/ext4/mballoc.c",
      "new_id": "fd73b2d67b6b4d4aca94915637556b16c19c9172",
      "new_mode": 33188,
      "new_path": "fs/ext4/mballoc.c"
    },
    {
      "type": "modify",
      "old_id": "a0d19781443f349eb3e82eb3668af9a00a13fd48",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "e4368554075f524c65f1500cc222c78a2862d262",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    }
  ]
}
