)]}'
{
  "log": [
    {
      "commit": "1968f5eed54ce47bde488fd9a450912e4a2d7138",
      "tree": "bcf13b98fda519c240e89cae3de95fc7d9ece715",
      "parents": [
        "ce8f76fb7320297ccbe7c950fd9a2d727dd6a5a0"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:39 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:55 2010 -0400"
      },
      "message": "fanotify: use both marks when possible\n\nfanotify currently, when given a vfsmount_mark will look up (if it exists)\nthe corresponding inode mark.  This patch drops that lookup and uses the\nmark provided.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ce8f76fb7320297ccbe7c950fd9a2d727dd6a5a0",
      "tree": "fb870e9564bfef438e46ba3c39be2999e246b179",
      "parents": [
        "613a807fe7c793ceb7d6f059773527a5a6c84a96"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:39 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:54 2010 -0400"
      },
      "message": "fsnotify: pass both the vfsmount mark and inode mark\n\nshould_send_event() and handle_event() will both need to look up the inode\nevent if they get a vfsmount event.  Lets just pass both at the same time\nsince we have them both after walking the lists in lockstep.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "43709a288ed03aa0e2979ab63dd089b3889645c4",
      "tree": "71717ebf944c099af5ab8ea339889665d4b9ef67",
      "parents": [
        "03930979afa63e079e9aefd4d3dd429240711027"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:39 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:54 2010 -0400"
      },
      "message": "fsnotify: remove group-\u003emask\n\ngroup-\u003emask is now useless.  It was originally a shortcut for fsnotify to\nsave on performance.  These checks are now redundant, so we remove them.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2612abb51b11ffd2d75c472b11178115f5808909",
      "tree": "5657a07a347984cc1f34117d7ef88af73ea12b60",
      "parents": [
        "0215054f377ce5ac4ffc27b26b13b3f10e6410e6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:39 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:53 2010 -0400"
      },
      "message": "fsnotify: cleanup should_send_event\n\nThe change to use srcu and walk the object list rather than the global\nfsnotify_group list means that should_send_event is no longer needed for a\nnumber of groups and can be simplified for others.  Do that.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c496313fcc35a41e176e3f19cdda2544ea3a32a6",
      "tree": "442a90a3a2ac7b7106c3e7ba0583735b17f7153d",
      "parents": [
        "7f6b6117e1803777fcf48fe31bd236a7fbf740db"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:38 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:53 2010 -0400"
      },
      "message": "dnotify: use the mark in handler functions\n\ndnotify now gets a mark in the should_send_event and handle_event\nfunctions.  Rather than look up the mark themselves dnotify should just use\nthe mark it was handed.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3a9b16b407f10b2a771bcae13fb5791e527d6bcf",
      "tree": "0d88cac61bd6d3f5028eb0c9a45e7af9fbd24311",
      "parents": [
        "8778abb9a88fc4a74d8776ffaadf7214cf33c61e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:38 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:52 2010 -0400"
      },
      "message": "fsnotify: send fsnotify_mark to groups in event handling functions\n\nWith the change of fsnotify to use srcu walking the marks list instead of\nwalking the global groups list we now know the mark in question.  The code can\nsend the mark to the group\u0027s handling functions and the groups won\u0027t have to\nfind those marks themselves.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "90b1e7a57880fb66437ab7db39e1e65ca0372822",
      "tree": "61b7195c84d9dfd057ed3dcb07c5fc831db6a3a9",
      "parents": [
        "33d3dfff451a2ab6fe2f6aaabed9b24e91aad109"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:59 2010 -0400"
      },
      "message": "fsnotify: allow marks to not pin inodes in core\n\ninotify marks must pin inodes in core.  dnotify doesn\u0027t technically need to\nsince they are closed when the directory is closed.  fanotify also need to\npin inodes in core as it works today.  But the next step is to introduce\nthe concept of \u0027ignored masks\u0027 which is actually a mask of events for an\ninode of no interest.  I claim that these should be liberally sent to the\nkernel and should not pin the inode in core.  If the inode is brought back\nin the listener will get an event it may have thought excluded, but this is\nnot a serious situation and one any listener should deal with.\n\nThis patch lays the ground work for non-pinning inode marks by using lazy\ninode pinning.  We do not pin a mark until it has a non-zero mask entry.  If a\nlistener new sets a mask we never pin the inode.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5444e2981c31d0ed7465475e451b8437084337e5",
      "tree": "66b6d84b7aab886b44a3467a139d258d9aba09df",
      "parents": [
        "32c3263221bd63316815286dccacdc7abfd7f3c4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify: split generic and inode specific mark code\n\ncurrently all marking is done by functions in inode-mark.c.  Some of this\nis pretty generic and should be instead done in a generic function and we\nshould only put the inode specific code in inode-mark.c\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "35566087099c3ff8901d65ee98af56347ee66e5a",
      "tree": "e4e56bcf787e5f100fa1ea0138c417e1203b10ae",
      "parents": [
        "ef5e2b785fb3216269e6d0656d38ec286b98dbe5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "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": "fsnotify: take inode-\u003ei_lock inside fsnotify_find_mark_entry()\n\nAll callers to fsnotify_find_mark_entry() except one take and\nrelease inode-\u003ei_lock around the call.  Take the lock inside\nfsnotify_find_mark_entry() instead.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ef5e2b785fb3216269e6d0656d38ec286b98dbe5",
      "tree": "6adf1f49a217c77e9ab28a5c57d1ed2c150008a8",
      "parents": [
        "000285deb99a5e0636fdd3c6a2483a5d039ee2c2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:54 2010 -0400"
      },
      "message": "dnotify: rename mark_entry to mark\n\nnomenclature change.  Used to call things \u0027entries\u0027 but now we just call\nthem \u0027marks.\u0027  Do those changes for dnotify.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d07754412f9cdc2f4a99318d5ee81ace6715ea99",
      "tree": "f62902ad420de023c0fad931d9508903a9f42e3b",
      "parents": [
        "e61ce86737b4d60521e4e71f9892fe4bdcfb688b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_find_mark_entry to fsnotify_find_mark\n\nthe _entry portion of fsnotify functions is useless.  Drop it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e61ce86737b4d60521e4e71f9892fe4bdcfb688b",
      "tree": "a1aba411504ac028d4ead6f28ca05bd024c74142",
      "parents": [
        "72acc854427948efed7a83da27f7dc3239ac9afc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_mark_entry to just fsnotify_mark\n\nThe name is long and it serves no real purpose.  So rename\nfsnotify_mark_entry to just fsnotify_mark.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2823e04de4f1a49087b58ff2bb8f61361ffd9321",
      "tree": "0467ddf513cfb9ec76f3fe498bdc9b5084008c84",
      "parents": [
        "3a9fb89f4cd04c23e16397befba92efb5d989b74"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: put inode specific fields in an fsnotify_mark in a union\n\nThe addition of marks on vfs mounts will be simplified if the inode\nspecific parts of a mark and the vfsmnt specific parts of a mark are\nactually in a union so naming can be easy.  This patch just implements the\ninode struct and the union.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3a9fb89f4cd04c23e16397befba92efb5d989b74",
      "tree": "f60b48c8cf488ad8952601ccbc6192b5f86ec900",
      "parents": [
        "7131485a93679ff9a543b74df280cfd119eb03ca"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: include vfsmount in should_send_event when appropriate\n\nTo ensure that a group will not duplicate events when it receives it based\non the vfsmount and the inode should_send_event test we should distinguish\nthose two cases.  We pass a vfsmount to this function so groups can make\ntheir own determinations.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0d2e2a1d00d7d23e5bd9bb0935cde7c3d5835c56",
      "tree": "1c6bbbcbb143a364838d6749aa086af3c019f965",
      "parents": [
        "220d14df0dc587c06b97762829a41157c9375b94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:51 2010 -0400"
      },
      "message": "fsnotify: drop mask argument from fsnotify_alloc_group\n\nNothing uses the mask argument to fsnotify_alloc_group.  This patch drops\nthat argument.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ffab83402f01555a5fa32efb48a4dd0ce8d12ef5",
      "tree": "4e02fa7422becb56e6ed4b8721f8b0fb3a867d44",
      "parents": [
        "cd7752ce7cac5184ca35aecebffafae9662570bc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: fsnotify_obtain_group should be fsnotify_alloc_group\n\nfsnotify_obtain_group was intended to be able to find an already existing\ngroup.  Nothing uses that functionality.  This just renames it to\nfsnotify_alloc_group so it is clear what it is doing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "74be0cc82835aecad332a29896b0f212ba893403",
      "tree": "eaae59c73ba52ff8cab8ee845e989d9877603f4c",
      "parents": [
        "cac69dad32899c6f4c66bb4f9baf69b0d3c7d3d1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: remove group_num altogether\n\nThe original fsnotify interface has a group-num which was intended to be\nable to find a group after it was added.  I no longer think this is a\nnecessary thing to do and so we remove the group_num.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8112e2d6a7356e8c3ff1f7f3c86f375ed0305705",
      "tree": "953926dd3596c0ac87d7407960d0987b765a8239",
      "parents": [
        "7b0a04fbfb35650941af87728d4891515b4fc179"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: include data in should_send calls\n\nfanotify is going to need to look at file-\u003eprivate_data to know if an event\nshould be sent or not.  This passes the data (which might be a file,\ndentry, inode, or none) to the should_send function calls so fanotify can\nget that information when available\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7b0a04fbfb35650941af87728d4891515b4fc179",
      "tree": "48d85a11a8d3c283db3eb9f91ac4fb97bb2beafe",
      "parents": [
        "d7f0ce4e436b6109527c51b0efe0deff53d215f7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: provide the data type to should_send_event\n\nfanotify is only interested in event types which contain enough information\nto open the original file in the context of the fanotify listener.  Since\nfanotify may not want to send events if that data isn\u0027t present we pass\nthe data type to the should_send_event function call so fanotify can express\nits lack of interest.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "40554c3dae83bd892b7fbfaa2ea9de739cbcf065",
      "tree": "7b9d4951734af9d819a900ff08f23c797a5c1b5c",
      "parents": [
        "9e1c74321d87a8b079f04d89e750b39a43365e1f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "fsnotify: allow addition of duplicate fsnotify marks\n\nThis patch allows a task to add a second fsnotify mark to an inode for the\nsame group.  This mark will be added to the end of the inode\u0027s list and\nthis will never be found by the stand fsnotify_find_mark() function.   This\nis useful if a user wants to add a new mark before removing the old one.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "945526846a84c00adac1efd1c6befdaa77039623",
      "tree": "36a3ca9188af8d1154af8684f541f3abbf2cd3c7",
      "parents": [
        "3de0ef4f2067da58fa5126d821a56dcb98cdb565"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Oct 15 00:13:23 2009 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Oct 20 18:02:33 2009 -0400"
      },
      "message": "dnotify: ignore FS_EVENT_ON_CHILD\n\nMask off FS_EVENT_ON_CHILD in dnotify_handle_event().  Otherwise, when there\nis more than one watch on a directory and dnotify_should_send_event()\nsucceeds, events with FS_EVENT_ON_CHILD set will trigger all watches and cause\nspurious events.\n\nThis case was overlooked in commit e42e2773.\n\n\t#define _GNU_SOURCE\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cstdlib.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csignal.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cfcntl.h\u003e\n\t#include \u003cstring.h\u003e\n\n\tstatic void create_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"create\\n\");\n\t}\n\n\tstatic void delete_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"delete\\n\");\n\t}\n\n\tint main (void) {\n\t\tstruct sigaction action;\n\t\tchar *tmpdir, *file;\n\t\tint fd1, fd2;\n\n\t\tsigemptyset (\u0026action.sa_mask);\n\t\taction.sa_flags \u003d SA_SIGINFO;\n\n\t\taction.sa_sigaction \u003d create_event;\n\t\tsigaction (SIGRTMIN + 0, \u0026action, NULL);\n\n\t\taction.sa_sigaction \u003d delete_event;\n\t\tsigaction (SIGRTMIN + 1, \u0026action, NULL);\n\n\t#\tdefine TMPDIR \"/tmp/test.XXXXXX\"\n\t\ttmpdir \u003d malloc(strlen(TMPDIR) + 1);\n\t\tstrcpy(tmpdir, TMPDIR);\n\t\tmkdtemp(tmpdir);\n\n\t#\tdefine TMPFILE \"/file\"\n\t\tfile \u003d malloc(strlen(tmpdir) + strlen(TMPFILE) + 1);\n\t\tsprintf(file, \"%s/%s\", tmpdir, TMPFILE);\n\n\t\tfd1 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd1, F_SETSIG, SIGRTMIN);\n\t\tfcntl(fd1, F_NOTIFY, DN_MULTISHOT | DN_CREATE);\n\n\t\tfd2 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd2, F_SETSIG, SIGRTMIN + 1);\n\t\tfcntl(fd2, F_NOTIFY, DN_MULTISHOT | DN_DELETE);\n\n\t\tif (fork()) {\n\t\t\t/* This triggers a create event */\n\t\t\tcreat(file, 0600);\n\t\t\t/* This triggers a create and delete event (!) */\n\t\t\tunlink(file);\n\t\t} else {\n\t\t\tsleep(1);\n\t\t\trmdir(tmpdir);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "520dc2a526fd681337883b6ff1ddcf7c23b1b063",
      "tree": "a6346bbd0b405d1a377aaaf5f1f69a5f662f814a",
      "parents": [
        "7e790dd5fc937bc8d2400c30a05e32a9e9eef276"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jul 13 15:56:54 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jul 21 15:26:26 2009 -0400"
      },
      "message": "fsnotify: use def_bool in kconfig instead of letting the user choose\n\nfsnotify doens\u0027t give the user anything.  If someone chooses inotify or\ndnotify it should build fsnotify, if they don\u0027t select one it shouldn\u0027t be\nbuilt.  This patch changes fsnotify to be a def_bool\u003dn and makes everything\nelse select it.  Also fixes the issue people complained about on lwn where\ngdm hung because they didn\u0027t have inotify and they didn\u0027t get the inotify\nbuild option.....\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a092ee20fd33d2df0990dcbf2235afc181612818",
      "tree": "c172839ce60bcc55e770e6707694842301e3ed6b",
      "parents": [
        "e42e27736de80045f925564ea27a1d32957219e7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 11:09:48 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:55 2009 -0400"
      },
      "message": "fsnotify: allow groups to set freeing_mark to null\n\nMost fsnotify listeners (all but inotify) do not care about marks being\nfreed.  Allow groups to set freeing_mark to null and do not call any\nfunction if it is set that way.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e42e27736de80045f925564ea27a1d32957219e7",
      "tree": "cae8a5bc81f02c7563625e30f5f0d05357dc3701",
      "parents": [
        "ce61856bd2aadb064f595e5c0444376a2b117c41"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 11:09:47 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:54 2009 -0400"
      },
      "message": "inotify/dnotify: should_send_event shouldn\u0027t match on FS_EVENT_ON_CHILD\n\ninotify and dnotify will both indicate that they want any event which came\nfrom a child inode.  The fix is to mask off FS_EVENT_ON_CHILD when deciding\nif inotify or dnotify is interested in a given event.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ce61856bd2aadb064f595e5c0444376a2b117c41",
      "tree": "4a438d07fbce1acbb3970b631211aaf445f2e41b",
      "parents": [
        "5ac697b793a3c45005c568df692518da6e690390"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 11:09:47 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:54 2009 -0400"
      },
      "message": "dnotify: do not bother to lock entry-\u003elock when reading mask\n\nentry-\u003elock is needed to make sure entry-\u003emask does not change while\nmanipulating it.  In dnotify_should_send_event() we don\u0027t care if we get an\nold or a new mask value out of this entry so there is no point it taking\nthe lock.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5ac697b793a3c45005c568df692518da6e690390",
      "tree": "9481b421be4a67f91eb4a6f790e02cb555035cc9",
      "parents": [
        "ff52cc2158b32b3b979ca7802b1fd7c70f36e13c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 11:09:47 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:54 2009 -0400"
      },
      "message": "dnotify: do not use ?true:false when assigning to a bool\n\ndnotify_should send event assigned a bool using ?true:false when computing\na bit operation.  This is poitless and the bool type does this for us.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e4aff117368cfdd3567ee41844d216d079b55173",
      "tree": "c467bc38edc7ba3154bbf6875dca635b855e1c8c",
      "parents": [
        "47882c6f51e8ef41fbbe2bbb746a1ea3228dd7ca"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu May 21 17:01:50 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:54 2009 -0400"
      },
      "message": "fsnotify: allow groups to add private data to events\n\ninotify needs per group information attached to events.  This patch allows\ngroups to attach private information and implements a callback so that\ninformation can be freed when an event is being destroyed.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3c5119c05d624f95f4967d16b38c9624b816bdb9",
      "tree": "0b5f66106aea38e52adf62958762b0a975607322",
      "parents": [
        "c28f7e56e9d95fb531dc3be8df2e7f52bee76d21"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu May 21 17:01:33 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:53 2009 -0400"
      },
      "message": "dnotify: reimplement dnotify using fsnotify\n\nReimplement dnotify using fsnotify.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "272eb01485dda98e3b8910c7c1a53d597616b0a0",
      "tree": "6a1dcd34c1dd668b465c166c2d6d2596924eff5f",
      "parents": [
        "c2acf7b90821785fe812cc0aa05148e5a1f84204"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Dec 17 13:59:41 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "filesystem notification: create fs/notify to contain all fs notification\n\nCreating a generic filesystem notification interface, fsnotify, which will be\nused by inotify, dnotify, and eventually fanotify is really starting to\nclutter the fs directory.  This patch simply moves inotify and dnotify into\nfs/notify/inotify and fs/notify/dnotify respectively to make both current fs/\nand future notification tidier.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ]
}
