)]}'
{
  "log": [
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "67a23c494621ff1d5431c3bc320947865b224625",
      "tree": "cce0868fc73031d8b0addc4dc7412d49ee9ec370",
      "parents": [
        "a66979abad090b2765a6c6790c9fdeab996833f2"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Mar 22 22:23:42 2011 +1100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 24 21:17:51 2011 -0400"
      },
      "message": "fs: rename inode_lock to inode_hash_lock\n\nAll that remains of the inode_lock is protecting the inode hash list\nmanipulation and traversals. Rename the inode_lock to\ninode_hash_lock to reflect it\u0027s actual function.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "02436668d98385f5b5d9ffb695a37dadf98ed8a8",
      "tree": "e0e37328a9ba5c0af49903114fffd82f2141180d",
      "parents": [
        "43709a288ed03aa0e2979ab63dd089b3889645c4"
      ],
      "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 global fsnotify groups lists\n\nThe global fsnotify groups lists were invented as a way to increase the\nperformance of fsnotify by shortcutting events which were not interesting.\nWith the changes to walk the object lists rather than global groups lists\nthese shortcuts are not useful.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8778abb9a88fc4a74d8776ffaadf7214cf33c61e",
      "tree": "6a32c8b885e68b3d6035887face6a3c5414d609e",
      "parents": [
        "75c1be487a690db43da2c1234fcacd84c982803c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "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: Exchange list heads instead of moving elements\n\nInstead of moving list elements from destroy_list to \u0026private_destroy_list,\nexchange the list heads.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "75c1be487a690db43da2c1234fcacd84c982803c",
      "tree": "b38ce47f157d3b0eff7ac6eb4756a4b390ac35ae",
      "parents": [
        "700307a29ad61090dcf1d45f8f4a135f5e9211ae"
      ],
      "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: srcu to protect read side of inode and vfsmount locks\n\nCurrently reading the inode-\u003ei_fsnotify_marks or\nvfsmount-\u003emnt_fsnotify_marks lists are protected by a spinlock on both the\nread and the write side.  This patch protects the read side of those lists\nwith a new single srcu.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "700307a29ad61090dcf1d45f8f4a135f5e9211ae",
      "tree": "08b7969486c0039495684a6c13bbac3124a40348",
      "parents": [
        "a4c6e9961fcb9da54648d98978d33c6fdcb7bb45"
      ],
      "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: use an explicit flag to indicate fsnotify_destroy_mark has been called\n\nCurrently fsnotify check is mark-\u003egroup is NULL to decide if\nfsnotify_destroy_mark() has already been called or not.  With the upcoming\nrcu work it is a heck of a lot easier to use an explicit flag than worry\nabout group being set to NULL.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b31d397e430a90cbe9d3656929a7d5f96e986666",
      "tree": "bafe176811479d922e2f19f4386f34a11a30c39f",
      "parents": [
        "98b5c10d320adfa250c1c18f3ccaec2f78e5e11d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Apr 21 16:49:38 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:02 2010 -0400"
      },
      "message": "fsnotify: call iput on inodes when no longer marked\n\nfsnotify takes an igrab on an inode when it adds a mark.  The code was\nsupposed to drop the reference when the mark was removed but didn\u0027t.\nThis caused problems when an fs was unmounted because those inodes would\nclearly not be gone.  Thus resulting in the most devistating of messages:\n\nVFS: Busy inodes after unmount of loop0. Self-destruct in 5 seconds.\n\u003e\u003e\u003e Have a nice day...\n\nJiri Slaby bisected the problem to a patch in the fsnotify tree.  The\ncode snippets below show my stupidity quite clearly.\n\nvoid fsnotify_destroy_inode_mark(struct fsnotify_mark *mark)\n{\n\t...\n\tmark-\u003einode \u003d NULL;\n\t...\n}\n\nvoid fsnotify_destroy_mark(struct fsnotify_mark *mark)\n{\n\tstruct inode *inode \u003d NULL;\n\t...\n\tif (mark-\u003eflags \u0026 FSNOTIFY_MARK_FLAG_INODE) {\n\t\tfsnotify_destroy_inode_mark(mark);\n\t\tinode \u003d mark-\u003ei.inode;\n\t}\n\t...\n\tif (inode)\n\t\tiput(inode);\n\t...\n}\n\nObviously the intent was to capture the inode before it was set to NULL in\nfsnotify_destory_inode_mark() so we wouldn\u0027t be leaking inodes forever.\nInstead we leaked them (and exploded on umount)\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4d92604cc90aa18bbbe0f6e23b7a9fdb612836d3",
      "tree": "c04b26fb38a8524fa5e204cb9e40870afa9823f9",
      "parents": [
        "c9778a98e7440fb73e0d27b8155a688663a0d493"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fanotify: clear all fanotify marks\n\nfanotify listeners may want to clear all marks.  They may want to do this\nto destroy all of their inode marks which have nothing but ignores.\nRealistically this is useful for av vendors who update policy and want to\nclear all of their cached allows.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "33af5e32e0bb73c704b5e156f4411cdb53e6cc59",
      "tree": "c427a66b81498c14598ed4161e3646930a805043",
      "parents": [
        "90b1e7a57880fb66437ab7db39e1e65ca0372822"
      ],
      "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:59:00 2010 -0400"
      },
      "message": "fsnotify: ignored_mask - excluding notification\n\nThe ignored_mask is a new mask which is part of fsnotify marks.  A group\u0027s\nshould_send_event() function can use the ignored mask to determine that\ncertain events are not of interest.  In particular if a group registers a\nmask including FS_OPEN on a vfsmount they could add FS_OPEN to the\nignored_mask for individual inodes and not send open events for those\ninodes.\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": "0d48b7f01f442bc88a69aa98f3b6b015f2817608",
      "tree": "6b484d9b8ac355609e9b2783169ed584cc365f9a",
      "parents": [
        "2504c5d63b811b71bbaa8d5d5af163e698f4df1f"
      ],
      "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: vfsmount marks generic functions\n\nMuch like inode-mark.c has all of the code dealing with marks on inodes\nthis patch adds a vfsmount-mark.c which has similar code but is intended\nfor marks on vfsmounts.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ba643f04cdda170215c8820acd3e201936fc512d",
      "tree": "ad871aa57096cd228f666405f370170f70b26968",
      "parents": [
        "5444e2981c31d0ed7465475e451b8437084337e5"
      ],
      "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: clear marks to 0 in fsnotify_init_mark\n\nCurrently fsnotify_init_mark sets some fields to 0/NULL.  Some users\nalready used some sorts of zalloc, some didn\u0027t.  This patch uses memset to\nexplicitly zero everything in the fsnotify_mark when it is initialized so we\ndon\u0027t have to be careful if fields are later added to marks.\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"
    }
  ]
}
