)]}'
{
  "commit": "ff0b16a9850e8a240ad59e10b0a1291a8fcf7cbc",
  "tree": "fe6fad578cfb2b8528828d4f77e5494542a1fb34",
  "parents": [
    "12ed2e36c98aec6c41559222e311f4aa15d254b6"
  ],
  "author": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Thu Dec 17 21:24:25 2009 -0500"
  },
  "committer": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Wed Jul 28 09:58:54 2010 -0400"
  },
  "message": "fanotify: fscking all notification system\n\nfanotify is a novel file notification system which bases notification on\ngiving userspace both an event type (open, close, read, write) and an open\nfile descriptor to the object in question.  This should address a number of\nraces and problems with other notification systems like inotify and dnotify\nand should allow the future implementation of blocking or access controlled\nnotification.  These are useful for on access scanners or hierachical storage\nmanagement schemes.\n\nThis patch just implements the basics of the fsnotify functions.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dffbb0911d022cea33b599aecb336f481a2a8741",
      "old_mode": 33188,
      "old_path": "fs/notify/Kconfig",
      "new_id": "22c629eedd82d70425704ee86b4ddf816b7bd174",
      "new_mode": 33188,
      "new_path": "fs/notify/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "0922cc826c46b3befc0f4c2b7000de3bf78e20ba",
      "old_mode": 33188,
      "old_path": "fs/notify/Makefile",
      "new_id": "396a387793718a4387f9cd166c88339c0f76287e",
      "new_mode": 33188,
      "new_path": "fs/notify/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9d7ae081f858e608f9b69228d68ab5891a7fea6",
      "new_mode": 33188,
      "new_path": "fs/notify/fanotify/Kconfig"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7d39c05b0feebcab1cae193767a86c211ad630a",
      "new_mode": 33188,
      "new_path": "fs/notify/fanotify/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3ffb9dbcab08090f7f47113a3d1173f62d922326",
      "new_mode": 33188,
      "new_path": "fs/notify/fanotify/fanotify.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "50765eb30fe4b64fc483e658429804b33fc9a4cb",
      "new_mode": 33188,
      "new_path": "fs/notify/fanotify/fanotify.h"
    },
    {
      "type": "modify",
      "old_id": "2fc8e14cc24a8b6ce36a39d4d929539d38a5710e",
      "old_mode": 33188,
      "old_path": "include/linux/Kbuild",
      "new_id": "d5cca9a05f14d70e0e2076569bfc44bb6308c612",
      "new_mode": 33188,
      "new_path": "include/linux/Kbuild"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b560f86d1401e6b8c3a407a1315d4f3a730cc339",
      "new_mode": 33188,
      "new_path": "include/linux/fanotify.h"
    }
  ]
}
