)]}'
{
  "log": [
    {
      "commit": "56d08fef2369d5ca9ad2e1fc697f5379fd8af751",
      "tree": "19439ef513be93f995cf9a579038c44660fbd2f4",
      "parents": [
        "38527b153a7b43e5c8103f0c2d901d11cfa26d30"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:30:32 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:53:43 2012 -0400"
      },
      "message": "NFS: nfs_getaclargs.acl_len is a size_t\n\nSquelch compiler warnings:\n\nfs/nfs/nfs4proc.c: In function ‘__nfs4_get_acl_uncached’:\nfs/nfs/nfs4proc.c:3811:14: warning: comparison between signed and\n\tunsigned integer expressions [-Wsign-compare]\nfs/nfs/nfs4proc.c:3818:15: warning: comparison between signed and\n\tunsigned integer expressions [-Wsign-compare]\n\nIntroduced by commit bf118a34 \"NFSv4: include bitmap in nfsv4 get\nacl data\", Dec 7, 2011.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "38527b153a7b43e5c8103f0c2d901d11cfa26d30",
      "tree": "ac3736a12230b2bfe5793ac8441e0ac6ef2a78a7",
      "parents": [
        "3e60ffdd36fa518cc1822941dbb011e7a9adf513"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:30:23 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:53:34 2012 -0400"
      },
      "message": "NFS: Clean up TEST_STATEID and FREE_STATEID error reporting\n\nAs a finishing touch, add appropriate documenting comments and some\ndebugging printk\u0027s.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3e60ffdd36fa518cc1822941dbb011e7a9adf513",
      "tree": "252c39f5ab56378b06f8bc6ca04e7a6fe9874c02",
      "parents": [
        "eb64cf964d453f8b559a8c0c2625952dbbcb5838"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:30:14 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:49:40 2012 -0400"
      },
      "message": "NFS: Clean up nfs41_check_expired_stateid()\n\nClean up: Instead of open-coded flag manipulation, use test_bit() and\nclear_bit() just like all other accessors of the state-\u003eflag field.\nThis also eliminates several unnecessary implicit integer type\nconversions.\n\nTo make it absolutely clear what is going on, a number of comments\nare introduced.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb64cf964d453f8b559a8c0c2625952dbbcb5838",
      "tree": "b6ac6d9cfdee8d8ae1710d6f2fb25520d7d2a576",
      "parents": [
        "89af2739589365bf0dd2023c6a076b22ccd530f9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:30:05 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:48:53 2012 -0400"
      },
      "message": "NFS: State reclaim clears OPEN and LOCK state\n\nThe \"state-\u003eflags \u0026 flags\" test in nfs41_check_expired_stateid()\nallows the state manager to squelch a TEST_STATEID operation when\nit is known for sure that a state ID is no longer valid.  If the\nlease was purged, for example, the client already knows that state\nID is now defunct.\n\nBut open recovery is still needed for that inode.\n\nTo force a call to nfs4_open_expired(), change the default return\nvalue for nfs41_check_expired_stateid() to force open recovery, and\nthe default return value for nfs41_check_locks() to force lock\nrecovery, if the requested flags are clear.  Fix suggested by Bryan\nSchumaker.\n\nAlso, the presence of a delegation state ID must not prevent normal\nopen recovery.  The delegation state ID must be cleared if it was\nrevoked, but once cleared I don\u0027t think it\u0027s presence or absence has\nany bearing on whether open recovery is still needed.  So the logic\nis adjusted to ignore the TEST_STATEID result for the delegation\nstate ID.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "89af2739589365bf0dd2023c6a076b22ccd530f9",
      "tree": "91608923b32aa16c7bf013bfb25d6006266c89a1",
      "parents": [
        "377e507d1572eca6372c862483f4ce4680ad310a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:29:56 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:48:10 2012 -0400"
      },
      "message": "NFS: Don\u0027t free a state ID the server does not recognize\n\nThe result of a TEST_STATEID operation can indicate a few different\nthings:\n\n  o If NFS_OK is returned, then the client can continue using the\n    state ID under test, and skip recovery.\n\n  o RFC 5661 says that if the state ID was revoked, then the client\n    must perform an explicit FREE_STATEID before trying to re-open.\n\n  o If the server doesn\u0027t recognize the state ID at all, then no\n    FREE_STATEID is needed, and the client can immediately continue\n    with open recovery.\n\nLet\u0027s err on the side of caution: if the server clearly tells us the\nstate ID is unknown, we skip the FREE_STATEID.  For any other error,\nwe issue a FREE_STATEID.  Sometimes that FREE_STATEID will be\nunnecessary, but leaving unused state IDs on the server needlessly\nties up resources.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "377e507d1572eca6372c862483f4ce4680ad310a",
      "tree": "2e94f7d9ebb113c493e1f73986645312a8d65fd8",
      "parents": [
        "293b3b065c5ec5d15c3087ca42a52c991d7d8235"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:29:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:47:52 2012 -0400"
      },
      "message": "NFS: Fix up TEST_STATEID and FREE_STATEID return code handling\n\nThe TEST_STATEID and FREE_STATEID operations can return\n-NFS4ERR_BAD_STATEID, -NFS4ERR_OLD_STATEID, or -NFS4ERR_DEADSESSION.\n\nnfs41_{test,free}_stateid() should not pass these errors to\nnfs4_handle_exception() during state recovery, since that will\nrecursively kick off state recovery again, resulting in a deadlock.\n\nIn particular, when the TEST_STATEID operation returns NFS4_OK,\nres.status can contain one of these errors.  _nfs41_test_stateid()\nreplaces NFS4_OK with the value in res.status, which is then returned\nto callers.\n\nBut res.status is not passed through nfs4_stat_to_errno(), and thus is\na positive NFS4ERR value.  Currently callers are only interested in\n!NFS4_OK, and nfs4_handle_exception() ignores positive values.\n\nThus the res.status values are currently ignored by\nnfs4_handle_exception() and won\u0027t cause the deadlock above.  Thanks to\nthis missing negative, it is only when these operations fail (which\nis very rare) that a deadlock can occur.\n\nBryan agrees the original intent was to return res.status as a\nnegative NFS4ERR value to callers of nfs41_test_stateid().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "293b3b065c5ec5d15c3087ca42a52c991d7d8235",
      "tree": "32b9422aa2d097af2618d225b925535b75492ee0",
      "parents": [
        "366d50521c57939e61e25dc27f009367447563e6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 20 15:03:34 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:39:00 2012 -0400"
      },
      "message": "NFSv4.1 do not send LAYOUTRETURN on emtpy plh_segs list\n\nmark_matching_lsegs_invalid() resets the mds_threshold counters and can\ndereference the layout hdr on an initial empty plh_segs list. It returns 0 both\nin the case of an initial empty list and in a non-emtpy list that was cleared\nby calls to mark_lseg_invalid.\n\nDon\u0027t send a LAYOUTRETURN if the list was initially empty.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "366d50521c57939e61e25dc27f009367447563e6",
      "tree": "d69e02a6fad26e4d746710a7b8dd2caa0047efed",
      "parents": [
        "baf6c2a44af02cf6f7cec1ff177189c78fc30f9a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 20 15:03:33 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:37:25 2012 -0400"
      },
      "message": "NFSv4.1 mark layout when already returned\n\nWhen the file layout driver is fencing a DS, _pnfs_return_layout can be\ncalled mulitple times per inode due to in-flight i/o referencing lsegs on it\u0027s\nplh_segs list.\n\nRemember that LAYOUTRETURN has been called, and do not call it again.\nAllow LAYOUTRETURNs after a subsequent LAYOUTGET.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "baf6c2a44af02cf6f7cec1ff177189c78fc30f9a",
      "tree": "382cd1db99147f3b3b29b044bac27d9a8dde1c98",
      "parents": [
        "82c7c7a5a9270b13380a588dc57b7541a5e4f541"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 20 15:03:32 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:37:00 2012 -0400"
      },
      "message": "NFSv4.1 don\u0027t send LAYOUTCOMMIT if data resent through MDS\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "82c7c7a5a9270b13380a588dc57b7541a5e4f541",
      "tree": "20b38256e4ef38d34b2b291d3cdcfa322cfa0218",
      "parents": [
        "8626e4a42675ff9903f7d4fbf14d8ebc11b5926c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 20 15:03:31 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 14:36:52 2012 -0400"
      },
      "message": "NFSv4.1 return the LAYOUT for each file with failed DS connection I/O\n\nFirst mark the deviceid invalid to prevent any future use. Then fence all\nfiles involved in I/O to a DS with a connection error by sending a\nLAYOUTRETURN.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8626e4a42675ff9903f7d4fbf14d8ebc11b5926c",
      "tree": "c631dfe2854cb1382a5d8f5aa11b071762ddf27d",
      "parents": [
        "a8d8f02cf0c379693762107afe812b9e52090e39",
        "9249e17fe094d853d1ef7475dd559a2cc7e23d42"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 12:01:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 12:01:42 2012 -0400"
      },
      "message": "Merge commit \u00279249e17fe094d853d1ef7475dd559a2cc7e23d42\u0027 into nfs-for-3.6\n\nResolve conflicts with the VFS atomic open and sget changes.\n\nConflicts:\n\tfs/nfs/nfs4proc.c\n"
    },
    {
      "commit": "9249e17fe094d853d1ef7475dd559a2cc7e23d42",
      "tree": "fa80a6044c14b38994d232c0e05cb7365800adf2",
      "parents": [
        "f015f1267b23d3530d3f874243fb83cb5f443005"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jun 25 12:55:37 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:38:34 2012 +0400"
      },
      "message": "VFS: Pass mount flags to sget()\n\nPass mount flags to sget() so that it can use them in initialising a new\nsuperblock before the set function is called.  They could also be passed to the\ncompare function.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f015f1267b23d3530d3f874243fb83cb5f443005",
      "tree": "14db3794b2716614ee8acfaaad011d6fe7e6db44",
      "parents": [
        "be34d1a3bc4b6f357a49acb55ae870c81337e4f0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jun 25 12:55:28 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:38:32 2012 +0400"
      },
      "message": "VFS: Comment mount following code\n\nAdd comments describing what the directions \"up\" and \"down\" mean and ref count\nhandling to the VFS mount following family of functions.\n\nSigned-off-by: Valerie Aurora \u003cvaurora@redhat.com\u003e (Original author)\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be34d1a3bc4b6f357a49acb55ae870c81337e4f0",
      "tree": "39caaf1b4965d47be64ce45491477fce555b2d17",
      "parents": [
        "55e4def0a6e79e7eb53017c4935adfed76510cd7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jun 25 12:55:18 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:37:27 2012 +0400"
      },
      "message": "VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errors\n\ncopy_tree() can theoretically fail in a case other than ENOMEM, but always\nreturns NULL which is interpreted by callers as -ENOMEM.  Change it to return\nan explicit error.\n\nAlso change clone_mnt() for consistency and because union mounts will add new\nerror cases.\n\nThanks to Andreas Gruenbacher \u003cagruen@suse.de\u003e for a bug fix.\n[AV: folded braino fix by Dan Carpenter]\n\nOriginal-author: Valerie Aurora \u003cvaurora@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Valerie Aurora \u003cvalerie.aurora@gmail.com\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "55e4def0a6e79e7eb53017c4935adfed76510cd7",
      "tree": "e970472b64e95f32933ad49cb36d0ae814595e54",
      "parents": [
        "c3c4f69424db0760239762d36d0b1b6ae524008b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jun 25 12:55:09 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:54 2012 +0400"
      },
      "message": "VFS: Make chown() and lchown() call fchownat()\n\nMake the chown() and lchown() syscalls jump to the fchownat() syscall with the\nappropriate extra arguments.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c3c4f69424db0760239762d36d0b1b6ae524008b",
      "tree": "b8a6a5eb446d22604d362b7b718c2ff52c7812de",
      "parents": [
        "85d7d618c17a09cfd824c1ad4483c19e6f9637ff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 23 22:49:45 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:50 2012 +0400"
      },
      "message": "do_dentry_open(): close the race with mark_files_ro() in failure exit\n\nwe want to take it out of mark_files_ro() reach *before* we start\nchecking if we ought to drop write access.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "85d7d618c17a09cfd824c1ad4483c19e6f9637ff",
      "tree": "40ec525ab50573094a1ab402877aac9e4e6053fa",
      "parents": [
        "c4107b3097465e25f7d6a9b0ac0518b07b24e774"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 23 22:41:54 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:46 2012 +0400"
      },
      "message": "mark_files_ro(): don\u0027t bother with mntget/mntput\n\nmnt_drop_write_file() is safe under any lock\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4107b3097465e25f7d6a9b0ac0518b07b24e774",
      "tree": "55586999886b01a548608936ca58ccd038604235",
      "parents": [
        "b5fb63c18315c5510c1d0636179c057e0c761c77"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jun 20 09:55:58 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:42 2012 +0400"
      },
      "message": "notify_change(): check that i_mutex is held\n\nCc: Djalal Harouni \u003ctixxdz@opendz.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5fb63c18315c5510c1d0636179c057e0c761c77",
      "tree": "19e42c9aa285eb64c277ece4083d4834351b3d5b",
      "parents": [
        "408ef013cc9e2f94a14f7ccbbe52ddfb18437a99"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Jun 18 10:47:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:40 2012 +0400"
      },
      "message": "fs: add nd_jump_link\n\nAdd a helper that abstracts out the jump to an already parsed struct path\nfrom -\u003efollow_link operation from procfs.  Not only does this clean up\nthe code by moving the two sides of this game into a single helper, but\nit also prepares for making struct nameidata private to namei.c\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "408ef013cc9e2f94a14f7ccbbe52ddfb18437a99",
      "tree": "3168e06e8090210a59af788ca97cd40d87b5282e",
      "parents": [
        "ac481d6ca4081bdd348cbd84963d1ece843a3407"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Jun 18 10:47:03 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:35 2012 +0400"
      },
      "message": "fs: move path_put on failure out of -\u003efollow_link\n\nCurrently the non-nd_set_link based versions of -\u003efollow_link are expected\nto do a path_put(\u0026nd-\u003epath) on failure.  This calling convention is unexpected,\nundocumented and doesn\u0027t match what the nd_set_link-based instances do.\n\nMove the path_put out of the only non-nd_set_link based -\u003efollow_link\ninstance into the caller.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ac481d6ca4081bdd348cbd84963d1ece843a3407",
      "tree": "1111a831ccd48cd6b955b00a19d27f97ef8d05f7",
      "parents": [
        "cfa57c11b0d5a80f7bffa1ab35bc46892127817f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 20:40:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:30 2012 +0400"
      },
      "message": "debugfs: get rid of useless arguments to debugfs_{mkdir,symlink}\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cfa57c11b0d5a80f7bffa1ab35bc46892127817f",
      "tree": "7b86c2c918e0790fa8623c49874f7b3c11477c25",
      "parents": [
        "c3b1a350846a11dd1054cb7832e098aa37025deb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 20:33:28 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:25 2012 +0400"
      },
      "message": "debugfs: fold debugfs_create_by_name() into the only caller\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c3b1a350846a11dd1054cb7832e098aa37025deb",
      "tree": "0915cd01d07b4b41c2133e307d7b74cb34a94a43",
      "parents": [
        "ee3efa91e240f513898050ef305a49a653c8ed90"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 20:28:22 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:19 2012 +0400"
      },
      "message": "debugfs: make sure that debugfs_create_file() gets used only for regulars\n\nIt, debugfs_create_dir() and debugfs_create_link() use the common helper\nnow.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee3efa91e240f513898050ef305a49a653c8ed90",
      "tree": "d6cf061b3636f3c5f9840c09f3ed6ccd625cff22",
      "parents": [
        "e77fb7cef87856d9d35f2f4d617d0b97148ee7c2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 08 15:59:33 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:15 2012 +0400"
      },
      "message": "__d_unalias() should refuse to move mountpoints\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e77fb7cef87856d9d35f2f4d617d0b97148ee7c2",
      "tree": "5be57ddbe300bdd3d6bfc04632a9464c60f4c961",
      "parents": [
        "469796d10590341c53cff0a2959254eaf5d465de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 20:56:54 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:12 2012 +0400"
      },
      "message": "sysfs: just use d_materialise_unique()\n\nsame as for nfs et.al.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "469796d10590341c53cff0a2959254eaf5d465de",
      "tree": "74728e34d43bbcd16600de66df8c453d3a35ee63",
      "parents": [
        "79714f72d3b964611997de512cb29198c9f2dbbb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 20:51:39 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:06 2012 +0400"
      },
      "message": "sysfs: switch to -\u003es_d_op and -\u003ed_release()\n\na) -\u003ed_iput() is wrong here - what we do to inode is completely usual, it\u0027s\ndentry-\u003ed_fsdata that we want to drop.  Just use -\u003ed_release().\n\nb) switch to -\u003es_d_op - no need to play with d_set_d_op()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79714f72d3b964611997de512cb29198c9f2dbbb",
      "tree": "27560778736691d1edb8276897f4ed3b9411bcb2",
      "parents": [
        "1acf0af9b981027f3e73e93f0d3f85abdc794f71"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 15 03:01:42 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:35:02 2012 +0400"
      },
      "message": "get rid of kern_path_parent()\n\nall callers want the same thing, actually - a kinda-sorta analog of\nkern_path_create().  I.e. they want parent vfsmount/dentry (with\n-\u003ei_mutex held, to make sure the child dentry is still their child)\n+ the child dentry.\n\nSigned-off-by Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1acf0af9b981027f3e73e93f0d3f85abdc794f71",
      "tree": "bf09e52d1b0487dde325008b533853ac277bb264",
      "parents": [
        "312b63fba9e88a0dcf800834b8ede8716bcc1e17"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 14 16:13:46 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:57 2012 +0400"
      },
      "message": "VFS: Fix the banner comment on lookup_open()\n\nSince commit 197e37d9, the banner comment on lookup_open() no longer matches\nwhat the function returns.  It used to return a struct file pointer or NULL and\nnow it returns an integer and is passed the struct file pointer it is to use\namongst its arguments.  Update the comment to reflect this.\n\nAlso add a banner comment to atomic_open().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "312b63fba9e88a0dcf800834b8ede8716bcc1e17",
      "tree": "a069e3b9ff142912fd09f09a22466707d31c6812",
      "parents": [
        "ebfc3b49a7ac25920cb5be5445f602e51d2ea559"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 18:09:36 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:50 2012 +0400"
      },
      "message": "don\u0027t pass nameidata * to vfs_create()\n\nall we want is a boolean flag, same as the method gets now\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebfc3b49a7ac25920cb5be5445f602e51d2ea559",
      "tree": "c3241f875dd04ab9f63b4e7ded7ed206e4df1b9f",
      "parents": [
        "72bd866a01fc62ccbc466f3eb7599b14c937e96b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 18:05:36 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:47 2012 +0400"
      },
      "message": "don\u0027t pass nameidata to -\u003ecreate()\n\nboolean \"does it have to be exclusive?\" flag is passed instead;\nLocal filesystem should just ignore it - the object is guaranteed\nnot to be there yet.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "72bd866a01fc62ccbc466f3eb7599b14c937e96b",
      "tree": "05a6e0db9d20d90d4bccbe9184ee28080b4614ec",
      "parents": [
        "00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 17:17:17 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:40 2012 +0400"
      },
      "message": "fs/namei.c: don\u0027t pass nameidata to __lookup_hash() and lookup_real()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b",
      "tree": "d44be476ced0317ae79f28853734ebe2210ad38e",
      "parents": [
        "201f956e43d4542723514e024d948011dd766d43"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 17:13:09 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:32 2012 +0400"
      },
      "message": "stop passing nameidata to -\u003elookup()\n\nJust the flags; only NFS cares even about that, but there are\nlegitimate uses for such argument.  And getting rid of that\ncompletely would require splitting -\u003elookup() into a couple\nof methods (at least), so let\u0027s leave that alone for now...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "201f956e43d4542723514e024d948011dd766d43",
      "tree": "5405b793dea456b8d6b1c55c7a3007fc6c55683c",
      "parents": [
        "4ce16ef3fed92c627b4b0136c02c85c81ee105e0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 22 12:42:10 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:25 2012 +0400"
      },
      "message": "fs/namei.c: don\u0027t pass namedata to lookup_dcache()\n\njust the flags...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ce16ef3fed92c627b4b0136c02c85c81ee105e0",
      "tree": "ec84c1cbc011462908920a800f36853058c61012",
      "parents": [
        "0b728e1911cbe6e24020727c3870628b9653f32a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 16:10:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:21 2012 +0400"
      },
      "message": "fs/namei.c: don\u0027t pass nameidata to d_revalidate()\n\nsince the method wrapped by it doesn\u0027t need that anymore...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0b728e1911cbe6e24020727c3870628b9653f32a",
      "tree": "cd975921b28300d62f3aca2fc37eef28af89b959",
      "parents": [
        "fa3c56bbda6c2ac2a57d96ba501dbe85cccd312b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 16:03:43 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:14 2012 +0400"
      },
      "message": "stop passing nameidata * to -\u003ed_revalidate()\n\nJust the lookup flags.  Die, bastard, die...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa3c56bbda6c2ac2a57d96ba501dbe85cccd312b",
      "tree": "8cda2d282bf386e88cd9e05967d1624034332a75",
      "parents": [
        "facc3530fb5c89a40bc83045422add392b8db4a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 15:36:40 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:07 2012 +0400"
      },
      "message": "fs/nfs/dir.c: switch to passing nd-\u003eflags instead of nd wherever possible\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "facc3530fb5c89a40bc83045422add392b8db4a1",
      "tree": "93279f6ca92c75b6dd09fcf21286640486ec4730",
      "parents": [
        "93420b40bb19433c3bc01c37c6c908ae7ce13228"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 15:33:51 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:34:02 2012 +0400"
      },
      "message": "nfs_lookup_verify_inode() - nd is *always* non-NULL here\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "93420b40bb19433c3bc01c37c6c908ae7ce13228",
      "tree": "8192cd8f8b19803648aab1cf09175fa628b48fdf",
      "parents": [
        "02e5180d991f203441687cecd0b7e6a2ba0a34d3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 15:18:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:57 2012 +0400"
      },
      "message": "switch nfs_lookup_check_intent() away from nameidata\n\njust pass the flags\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "02e5180d991f203441687cecd0b7e6a2ba0a34d3",
      "tree": "8699773ec227a8cbbe543b780f55df0ee45bcaea",
      "parents": [
        "2a027e7a1873812240cbdac0f55c4734ff0042a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 14:32:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:54 2012 +0400"
      },
      "message": "do_dentry_open(): take initialization of file-\u003ef_path to caller\n\n... and get rid of a couple of arguments and a pointless reassignment\nin finish_open() case.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a027e7a1873812240cbdac0f55c4734ff0042a5",
      "tree": "0442aad91b63d57dcdb9090ce9e0c66cdedad4cb",
      "parents": [
        "96b7e579addd3cdc806c1667bf5b6b126070827c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 14:24:38 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:52 2012 +0400"
      },
      "message": "fold __dentry_open() into its sole caller\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "96b7e579addd3cdc806c1667bf5b6b126070827c",
      "tree": "be156dbcf449d2408627676a63a5be758eca0ea6",
      "parents": [
        "e45198a6ac24bd2c4ad4a43b670c2f1a23dd2df3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 14:22:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:49 2012 +0400"
      },
      "message": "switch do_dentry_open() to returning int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e45198a6ac24bd2c4ad4a43b670c2f1a23dd2df3",
      "tree": "d44f4217a8a556ac9ebb11cfc41c0e148fb1084c",
      "parents": [
        "2675a4eb6a9f1240098721c8a84ede28abd9d7b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 06:48:09 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:45 2012 +0400"
      },
      "message": "make finish_no_open() return int\n\nnamely, 1 ;-)  That\u0027s what we want to return from -\u003eatomic_open()\ninstances after finish_no_open().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2675a4eb6a9f1240098721c8a84ede28abd9d7b3",
      "tree": "76714224336154a2ca645b67d7f6d0f004bc569a",
      "parents": [
        "30d904947459cca2beb69e0110716f5248b31f2a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 22 12:41:10 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:43 2012 +0400"
      },
      "message": "fs/namei.c: get do_last() and friends return int\n\nSame conventions as for -\u003eatomic_open().  Trimmed the\nforest of labels a bit, while we are at it...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "30d904947459cca2beb69e0110716f5248b31f2a",
      "tree": "024e2a913266377d234147b14b7eb37017546173",
      "parents": [
        "a4a3bdd778715999ddfeefdc52ab76254580fa76"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 22 12:40:19 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:39 2012 +0400"
      },
      "message": "kill struct opendata\n\nJust pass struct file *.  Methods are happier that way...\nThere\u0027s no need to return struct file * from finish_open() now,\nso let it return int.  Next: saner prototypes for parts in\nnamei.c\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a4a3bdd778715999ddfeefdc52ab76254580fa76",
      "tree": "cd154e1bbcf2d899c30309fa179e5fc5de968d58",
      "parents": [
        "d95852777bc8ba6b3ad3397d495c5f9dd8ca8383"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 05:55:37 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:37 2012 +0400"
      },
      "message": "kill opendata-\u003e{mnt,dentry}\n\n-\u003efilp-\u003ef_path is there for purpose...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d95852777bc8ba6b3ad3397d495c5f9dd8ca8383",
      "tree": "96e9d8b1d33c4f6f7b5ba5be0fa4fd8f77c7a67f",
      "parents": [
        "3d8a00d2099ebc6d5a6e95fadaf861709d9919a8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 22 12:39:14 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:35 2012 +0400"
      },
      "message": "make -\u003eatomic_open() return int\n\nChange of calling conventions:\nold\t\tnew\nNULL\t\t1\nfile\t\t0\nERR_PTR(-ve)\t-ve\n\nCaller *knows* that struct file *; no need to return it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3d8a00d2099ebc6d5a6e95fadaf861709d9919a8",
      "tree": "317bfb9d71e3ef35746685c6da2397545917d81e",
      "parents": [
        "47237687d73cbeae1dd7a133c3fc3d7239094568"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 05:04:43 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:33 2012 +0400"
      },
      "message": "don\u0027t modify od-\u003efilp at all\n\nmake put_filp() conditional on flag set by finish_open()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "47237687d73cbeae1dd7a133c3fc3d7239094568",
      "tree": "1d267d03246f0a16cbff3c8221ee69dd1521f835",
      "parents": [
        "a8277b9baa6268de386529a33061775bc716198b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 05:01:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:31 2012 +0400"
      },
      "message": "-\u003eatomic_open() prototype change - pass int * instead of bool *\n\n... and let finish_open() report having opened the file via that sucker.\nNext step: don\u0027t modify od-\u003efilp at all.\n\n[AV: FILE_CREATE was already used by cifs; Miklos\u0027 fix folded]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a8277b9baa6268de386529a33061775bc716198b",
      "tree": "cdd127a78f7055b873ff79b2afdbb8d74382aac4",
      "parents": [
        "f60dc3db6e24b7c36445cf1feb56b34c799074b3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:32 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:28 2012 +0400"
      },
      "message": "vfs: move O_DIRECT check to common code\n\nPerform open_check_o_direct() in a common place in do_last after opening the\nfile.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f60dc3db6e24b7c36445cf1feb56b34c799074b3",
      "tree": "594d45bf42e498c9c30fd30c93f97a3cf8827851",
      "parents": [
        "77d660a8a83036432dc33f092a367d06563d233e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:31 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:26 2012 +0400"
      },
      "message": "vfs: do_last(): clean up retry\n\nMove the lookup retry logic to the bottom of the function to make the normal\ncase simpler to read.\n\nReported-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "77d660a8a83036432dc33f092a367d06563d233e",
      "tree": "e581b5b0f7bf6b8e49a9ed2a49c5eeb29d181954",
      "parents": [
        "e83db167229702da0f48957641e0dbf36b2644aa"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:30 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:24 2012 +0400"
      },
      "message": "vfs: do_last(): clean up bool\n\nConsistently use bool for boolean values in do_last().\n\nReported-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e83db167229702da0f48957641e0dbf36b2644aa",
      "tree": "b249d4125ea6e6961eb080a6faa4149fb309bbe7",
      "parents": [
        "aa4caadb70b782999ce5d150ac2f4b1d18e2fc75"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:29 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:21 2012 +0400"
      },
      "message": "vfs: do_last(): clean up labels\n\nReported-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aa4caadb70b782999ce5d150ac2f4b1d18e2fc75",
      "tree": "36b1b61f5badd818ff4322c13249ab68ad134379",
      "parents": [
        "015c3bbcd88df2305aae5b017a9c91c08b380aa1"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:28 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:20 2012 +0400"
      },
      "message": "vfs: do_last(): clean up error handling\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "015c3bbcd88df2305aae5b017a9c91c08b380aa1",
      "tree": "25f5e936ad16eddda39477a64addb4b54970bbd2",
      "parents": [
        "e43ae79c540270865918dab5ac914c74f43101e2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:27 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:18 2012 +0400"
      },
      "message": "vfs: remove open intents from nameidata\n\nAll users of open intents have been converted to use -\u003eatomic_{open,create}.\n\nThis patch gets rid of nd-\u003eintent.open and related infrastructure.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e43ae79c540270865918dab5ac914c74f43101e2",
      "tree": "dc580a2de6799cfc3b99a6ab43e16c834e23736a",
      "parents": [
        "2d83bde9a16e18eafdc73a3a1f4a8eb110e49672"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:26 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:17 2012 +0400"
      },
      "message": "9p: implement i_op-\u003eatomic_open()\n\nAdd an -\u003eatomic_open implementation which replaces the atomic open+create\noperation implemented via -\u003ecreate.  No functionality is changed.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d83bde9a16e18eafdc73a3a1f4a8eb110e49672",
      "tree": "04e2277dba94d252f4b74cf1acb728880b606c2e",
      "parents": [
        "3819219b592159725069eb16a7a46f58e4ecef32"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:25 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:16 2012 +0400"
      },
      "message": "ceph: implement i_op-\u003eatomic_open()\n\nAdd an -\u003eatomic_open implementation which replaces the atomic lookup+open+create\noperation implemented via -\u003elookup and -\u003ecreate operations.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3819219b592159725069eb16a7a46f58e4ecef32",
      "tree": "607b9fa882ab1f1220aa6576b1436b5bc545c41e",
      "parents": [
        "d2c127197dfc0b2bae62a52e1e0d3e3ff493919e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:24 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:16 2012 +0400"
      },
      "message": "ceph: remove unused arg from ceph_lookup_open()\n\nWhat was the purpose of this?\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d2c127197dfc0b2bae62a52e1e0d3e3ff493919e",
      "tree": "75a30530499790ace8af09f9442f111f59564647",
      "parents": [
        "c8ccbe032feb127a977c66865cb63d72d9a6e08b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:23 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:15 2012 +0400"
      },
      "message": "cifs: implement i_op-\u003eatomic_open()\n\nAdd an -\u003eatomic_open implementation which replaces the atomic lookup+open+create\noperation implemented via -\u003elookup and -\u003ecreate operations.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Steve French \u003csfrench@samba.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c8ccbe032feb127a977c66865cb63d72d9a6e08b",
      "tree": "c8f4ebff9ae19a49634a8ade2cf3d3372091e970",
      "parents": [
        "eda72afb9ef9f45941fb09260c0f268ff81ec40d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:22 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:14 2012 +0400"
      },
      "message": "fuse: implement i_op-\u003eatomic_open()\n\nAdd an -\u003eatomic_open implementation which replaces the atomic open+create\noperation implemented via -\u003ecreate.  No functionality is changed.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eda72afb9ef9f45941fb09260c0f268ff81ec40d",
      "tree": "cc2fa751ec6f0f2b0efb2ec15c7a12327f98157c",
      "parents": [
        "50de348c3604f7684a89ce64180666d4dd74623f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:21 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:12 2012 +0400"
      },
      "message": "nfs: don\u0027t use intents for checking atomic open\n\nis_atomic_open() is now only used by nfs4_lookup_revalidate() to check whether\nit\u0027s okay to skip normal revalidation.\n\nIt does a racy check for mount read-onlyness and falls back to normal\nrevalidation if the open would fail.  This makes little sense now that this\nfunction isn\u0027t used for determining whether to actually open the file or not.\n\nThe d_mountpoint() check still makes sense since it is an indication that we\nmight be following a mount and so open may not revalidate the dentry.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "50de348c3604f7684a89ce64180666d4dd74623f",
      "tree": "4dfbd39f22bf3e1ed6aef272250d289aeb8a541d",
      "parents": [
        "8867fe5899010a0c0ac36dadfdacf1072b1c990c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:20 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:10 2012 +0400"
      },
      "message": "nfs: don\u0027t use nd-\u003eintent.open.flags\n\nInstead check LOOKUP_EXCL in nd-\u003eflags, which is basically what the open intent\nflags were used for.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8867fe5899010a0c0ac36dadfdacf1072b1c990c",
      "tree": "3af6bb8d50fb06a46a451ba23bde8dac98361c25",
      "parents": [
        "0dd2b474d0b69d58859399b1df7fdc699ea005d4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:19 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:08 2012 +0400"
      },
      "message": "nfs: clean up -\u003ecreate in nfs_rpc_ops\n\nDon\u0027t pass nfs_open_context() to -\u003ecreate().  Only the NFS4 implementation\nneeded that and only because it wanted to return an open file using open\nintents.  That task has been replaced by -\u003eatomic_open so it is not necessary\nanymore to pass the context to the create rpc operation.\n\nDespite nfs4_proc_create apparently being okay with a NULL context it Oopses\nsomewhere down the call chain.  So allocate a context here.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0dd2b474d0b69d58859399b1df7fdc699ea005d4",
      "tree": "637db7456112c7d52193fc5ec743b8f9e8e20fb2",
      "parents": [
        "d18e9008c377dc6a6d2166a6840bf3a23a5867fd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:18 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:06 2012 +0400"
      },
      "message": "nfs: implement i_op-\u003eatomic_open()\n\nReplace NFS4 specific -\u003elookup implementation with -\u003eatomic_open impelementation\nand use the generic nfs_lookup for other lookups.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d18e9008c377dc6a6d2166a6840bf3a23a5867fd",
      "tree": "6bbb29aea7e931b603bd4cea3cc74a0eda7b6379",
      "parents": [
        "54ef487241e863a6046536ac5b1fcd5d7cde86e5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:17 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:04 2012 +0400"
      },
      "message": "vfs: add i_op-\u003eatomic_open()\n\nAdd a new inode operation which is called on the last component of an open.\nUsing this the filesystem can look up, possibly create and open the file in one\natomic operation.  If it cannot perform this (e.g. the file type turned out to\nbe wrong) it may signal this by returning NULL instead of an open struct file\npointer.\n\ni_op-\u003eatomic_open() is only called if the last component is negative or needs\nlookup.  Handling cached positive dentries here doesn\u0027t add much value: these\ncan be opened using f_op-\u003eopen().  If the cached file turns out to be invalid,\nthe open can be retried, this time using -\u003eatomic_open() with a fresh dentry.\n\nFor now leave the old way of using open intents in lookup and revalidate in\nplace.  This will be removed once all the users are converted.\n\nDavid Howells noticed that if -\u003eatomic_open() opens the file but does not create\nit, handle_truncate() will be called on it even if it is not a regular file.\nFix this by checking the file type in this case too.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "54ef487241e863a6046536ac5b1fcd5d7cde86e5",
      "tree": "75b6ad7367e699ae891566a6b0d11d05b354ac94",
      "parents": [
        "d58ffd35c1e595df2cf8ac4803f178c8be95ca7a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:16 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:02 2012 +0400"
      },
      "message": "vfs: lookup_open(): expand lookup_hash()\n\nCopy __lookup_hash() into lookup_open().  The next patch will insert the atomic\nopen call just before the real lookup.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d58ffd35c1e595df2cf8ac4803f178c8be95ca7a",
      "tree": "c0cb0b2201a641521a4d26f702b5b18b15541772",
      "parents": [
        "7157486541bffc0dfec912e21ae639b029dae3d3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:15 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:01 2012 +0400"
      },
      "message": "vfs: add lookup_open()\n\nSplit out lookup + maybe create from do_last().  This is the part under i_mutex\nprotection.\n\nThe function is called lookup_open() and returns a filp even though the open\npart is not used yet.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7157486541bffc0dfec912e21ae639b029dae3d3",
      "tree": "67fb5de90ec7c05600935fa7b774265b7205b84b",
      "parents": [
        "b6183df7b294997a748eeb9991daa126986ead12"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:14 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:33:00 2012 +0400"
      },
      "message": "vfs: do_last(): common slow lookup\n\nMake the slow lookup part of O_CREAT and non-O_CREAT opens common.\n\nThis allows atomic_open to be hooked into the slow lookup part.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b6183df7b294997a748eeb9991daa126986ead12",
      "tree": "7ddfc09b76beabfd7f69b6da7b60a65cbfe9c8d6",
      "parents": [
        "37d7fffc9cafe75ded8a840fa30ba625f99ed7ae"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:13 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:59 2012 +0400"
      },
      "message": "vfs: do_last(): separate O_CREAT specific code\n\nCheck O_CREAT on the slow lookup paths where necessary.  This allows the rest to\nbe shared with plain open.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "37d7fffc9cafe75ded8a840fa30ba625f99ed7ae",
      "tree": "100cebbacea20ddef447ccb4485104ff87b37aeb",
      "parents": [
        "6d7b5aaed7d887b34f29f900244cdbd17a86637c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 05 15:10:12 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:58 2012 +0400"
      },
      "message": "vfs: do_last(): inline lookup_slow()\n\nCopy lookup_slow() into do_last().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d7b5aaed7d887b34f29f900244cdbd17a86637c",
      "tree": "e94341bc903a57e1c92c03c4953ae041b87f9807",
      "parents": [
        "1d674107ea4b68669e012e654d64369b7f2bb250"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 10 04:15:17 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:56 2012 +0400"
      },
      "message": "namei.c: let follow_link() do put_link() on failure\n\nno need for kludgy \"set cookie to ERR_PTR(...) because we failed\nbefore we did actual -\u003efollow_link() and want to suppress put_link()\",\nno pointless check in put_link() itself.\n\nCallers checked if follow_link() has failed anyway; might as well\nbreak out of their loops if that happened, without bothering\nto call put_link() first.\n\n[AV: folded fixes from hch]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d674107ea4b68669e012e654d64369b7f2bb250",
      "tree": "0de50193314de4ae982ae25a60094651e0f7bc83",
      "parents": [
        "b3d9b7a3c752dc4b6976a4ff7b8298887a5b734d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 19:52:19 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:56 2012 +0400"
      },
      "message": "coda: use list_for_each_entry\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b3d9b7a3c752dc4b6976a4ff7b8298887a5b734d",
      "tree": "ce0d4c84328890dd63c9c4cb3e281b6b3476f85f",
      "parents": [
        "9f713878f22e0b2d34d62df0ca55f65166375634"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 13:51:19 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:55 2012 +0400"
      },
      "message": "vfs: switch i_dentry/d_alias to hlist\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f713878f22e0b2d34d62df0ca55f65166375634",
      "tree": "fb479db8154d40dc8ac8793d2f02b8d14b9531e6",
      "parents": [
        "a614a092bf28d58c742b9ec43209f3f78c3d9fb3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 13:19:12 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:54 2012 +0400"
      },
      "message": "ext4: get rid of open-coded d_find_any_alias()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a614a092bf28d58c742b9ec43209f3f78c3d9fb3",
      "tree": "6edc881fda24eea91781320a87c6066f0ba5d1bd",
      "parents": [
        "12447c40394695c9a19920c65fea124bdf3ea034"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 13:09:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:53 2012 +0400"
      },
      "message": "ocfs2: use list_for_each_entry in ocfs2_find_local_alias()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "12447c40394695c9a19920c65fea124bdf3ea034",
      "tree": "7c689ede79d1b61986706a94b588116b4e5f4288",
      "parents": [
        "3084ee95f08ce353ae26c18c7627c4e9786983ca"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 13:06:09 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:52 2012 +0400"
      },
      "message": "affs: unobfuscate affs_fix_dcache()\n\nand add a comment on what it\u0027s doing\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3084ee95f08ce353ae26c18c7627c4e9786983ca",
      "tree": "29e3d4a7f76405ad44696d66dabef1ed46b18435",
      "parents": [
        "049b3c10eecd0a5f3605fa3cd13f638593213ccb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 13:03:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:52 2012 +0400"
      },
      "message": "affs: get rid of open-coded list_for_each_entry()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "049b3c10eecd0a5f3605fa3cd13f638593213ccb",
      "tree": "853abc0f6cf725ae9b5c340476b7e0fb34e9ae22",
      "parents": [
        "7968ce12e9645c5eb5bb3f4320e43c2e402d580c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 11:55:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:51 2012 +0400"
      },
      "message": "vfs: update documentation on -\u003ei_dentry handling\n\nwe used to need to clean it in RCU callback freeing an inode;\nin 3.2 that requirement went away.  Unfortunately, it hadn\u0027t\nbeen reflected in Documentation/filesystems/porting.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7968ce12e9645c5eb5bb3f4320e43c2e402d580c",
      "tree": "839a61f8a75db12663b292fd23f08af5d3e29e66",
      "parents": [
        "e6f9f8d0296aad7fbaf01de38ccaa1bf654bbda4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 11:51:12 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:50 2012 +0400"
      },
      "message": "adfs: don\u0027t bother with -\u003ei_dentry in -\u003edestroy_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6f9f8d0296aad7fbaf01de38ccaa1bf654bbda4",
      "tree": "0b08a2032ff94ce26e4ae12ef4b9aa31505b97bc",
      "parents": [
        "63a44583f3a4408b902a3d7ba18b4ab13d1309ab"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 11:50:36 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:49 2012 +0400"
      },
      "message": "cifs: don\u0027t bother with -\u003ei_dentry in -\u003edestroy_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "63a44583f3a4408b902a3d7ba18b4ab13d1309ab",
      "tree": "8e65c8c823d8eb35ff92252931cc6dfa5946932c",
      "parents": [
        "6ce6e24e72233073c8ead9419fc5040d44803dae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 11:49:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:48 2012 +0400"
      },
      "message": "qnx6: don\u0027t bother with -\u003ei_dentry in inode-freeing callback\n\nwe\u0027ll initialize it in inode_init_always() when we allocate that\nobject again.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6ce6e24e72233073c8ead9419fc5040d44803dae",
      "tree": "b66a74dd7aef822b4bc573ab283e21320bcc0b25",
      "parents": [
        "f7a99c5b7c8bd3d3f533c8b38274e33f3da9096e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 01:16:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:48 2012 +0400"
      },
      "message": "get rid of magic in proc_namespace.c\n\ndon\u0027t rely on proc_mounts-\u003em being the first field; container_of()\nis there for purpose.  No need to bother with -\u003eprivate, while\nwe are at it - the same container_of will do nicely.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7a99c5b7c8bd3d3f533c8b38274e33f3da9096e",
      "tree": "5c326c0ddd1f40eacbe2fd7c888f26b089389f99",
      "parents": [
        "d187663ef24cd3d033f0cbf2867e70b36a3a90b8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 09 00:59:08 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:47 2012 +0400"
      },
      "message": "get rid of -\u003emnt_longterm\n\nit\u0027s enough to set -\u003emnt_ns of internal vfsmounts to something\ndistinct from all struct mnt_namespace out there; then we can\njust use the check for -\u003emnt_ns !\u003d NULL in the fast path of\nmntput_no_expire()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d187663ef24cd3d033f0cbf2867e70b36a3a90b8",
      "tree": "a3efbbb2655fd932fa3f27888315b91b07bb0710",
      "parents": [
        "3dd847820d138c9d60764b0e920380373285ff10"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "Julia.Lawall@lip6.fr",
        "time": "Thu Jun 07 15:45:00 2012 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:46 2012 +0400"
      },
      "message": "fs/direct-io.c: adjust suspicious bit operation\n\nREAD is 0, so the result of the bit-and operation is 0.  Rewrite with \u003d\u003d as\ndone elsewhere in the same file.\n\nThis problem was found using Coccinelle (http://coccinelle.lip6.fr/).\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3dd847820d138c9d60764b0e920380373285ff10",
      "tree": "3eb6584eac00b8a6cf859d003ad0c1940e7e299c",
      "parents": [
        "a215fef7edfdcd8948037ceb3060b9ae7ebcef8b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:57 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:45 2012 +0400"
      },
      "message": "affs: get rid of affs_sync_super\n\nThis patch makes affs stop using the VFS \u0027-\u003ewrite_super()\u0027 method along with\nthe \u0027s_dirt\u0027 superblock flag, because they are on their way out.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds and\nwrites out all dirty superblocks using the \u0027-\u003ewrite_super()\u0027 call-back.  But the\nproblem with this thread is that it wastes power by waking up the system every\n5 seconds, even if there are no diry superblocks, or there are no client\nfile-systems which would need this (e.g., btrfs does not use\n\u0027-\u003ewrite_super()\u0027). So we want to kill it completely and thus, we need to make\nfile-systems to stop using the \u0027-\u003ewrite_super()\u0027 VFS service, and then remove\nit together with the kernel thread.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a215fef7edfdcd8948037ceb3060b9ae7ebcef8b",
      "tree": "a401d00f4df517a4dc495cf29f187d03d8342b66",
      "parents": [
        "a837107439ea50116e59943556d6902c09e52772"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:56 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:45 2012 +0400"
      },
      "message": "affs: introduce VFS superblock object back-reference\n\nAdd an \u0027sb\u0027 VFS superblock back-reference to the \u0027struct affs_sb_info\u0027 data\nstructure - we will need to find the VFS superblock from a \u0027struct\naffs_sb_info\u0027 object in the next patch, so this change is jut a preparation.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a837107439ea50116e59943556d6902c09e52772",
      "tree": "dfe10e46259db11414725628db079d2355bd163c",
      "parents": [
        "e0471c8d8abbc2b07fc82f7b02896d1637909319"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:55 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:44 2012 +0400"
      },
      "message": "affs: stop using lock_super\n\nThe VFS\u0027s \u0027lock_super()\u0027 and \u0027unlock_super()\u0027 calls are deprecated and unwanted\nand just wait for a brave knight who\u0027d kill them. This patch makes AFFS stop\nusing them and use the buffer-head\u0027s own lock instead.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e0471c8d8abbc2b07fc82f7b02896d1637909319",
      "tree": "66af7fa7aca968deb48379697c0cd1dabd053dbb",
      "parents": [
        "0164b1a32e6849121ea73ef3124a2994951a4713"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:54 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:43 2012 +0400"
      },
      "message": "affs: re-structure superblock locking a bit\n\nAFFS wants to serialize the superblock (the root block in AFFS terms) updates\nand uses \u0027lock_super()/unlock_super()\u0027 for these purposes. This patch pushes the\nlocking down to the \u0027affs_commit_super()\u0027 from the callers.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0164b1a32e6849121ea73ef3124a2994951a4713",
      "tree": "b26237af1e5d344a145886f35ec9281028e7635d",
      "parents": [
        "c9753b1d20e13c94d15a1c8b252a696744bd22a2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:53 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:42 2012 +0400"
      },
      "message": "affs: remove useless superblock writeout on remount\n\nWe do not need to write out the superblock from \u0027-\u003eremount_fs()\u0027 because\nVFS has already called \u0027-\u003esync_fs()\u0027 by this time and the superblock has\nalready been written out. Thus, remove the \u0027affs_write_super()\u0027\ninfocation from \u0027affs_remount()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9753b1d20e13c94d15a1c8b252a696744bd22a2",
      "tree": "32785f32faaaea029fbbed912fca926f2b4ca94f",
      "parents": [
        "bc86256d2e80e6731a2055175d9a32cf96eb71f8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:52 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:42 2012 +0400"
      },
      "message": "affs: remove useless superblock writeout on unmount\n\nWe do not need to write out the superblock from \u0027-\u003eput_super()\u0027 because VFS has\nalready called \u0027-\u003esync_fs()\u0027 by this time and the superblock has already been\nwritten out. Thus, remove the \u0027affs_commit_super()\u0027 infocation from\n\u0027affs_put_super()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc86256d2e80e6731a2055175d9a32cf96eb71f8",
      "tree": "0df8b5d31aa2ba7e8bbf83e1cdea8ca6a8c8f168",
      "parents": [
        "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Jun 06 18:56:51 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 14 16:32:41 2012 +0400"
      },
      "message": "affs: stop setting bm_flags\n\nAFFS stores values \u00271\u0027 and \u00272\u0027 in \u0027bm_flags\u0027, and I fail to see any logic when\nit prefers one or another. AFFS writes \u00271\u0027 only from \u0027-\u003eput_super()\u0027, while\n\u0027-\u003esync_fs()\u0027 and \u0027-\u003ewrite_super()\u0027 store value \u00272\u0027.  So on the first glance,\nit looks like we want to have \u00271\u0027 if we unmount.  However, this does not really\nhappen in these cases:\n  1. superblock is written via \u0027write_super()\u0027 then we unmount;\n  2. we re-mount R/O, then unmount.\nwhich are quite typical.\n\nI could not find good documentation describing this field, except of one random\npiece of documentation in the internet which says that -1 means that the root\nblock is valid, which is not consistent with what we have in the Linux AFFS\ndriver.\n\nJan Kara commented on this: \"I have some vague recollection that on Amiga\nboolean was usually encoded as: 0 \u003d\u003d false, ~0 \u003d\u003d -1 \u003d\u003d true. But it has been\nages...\"\n\nThus, my conclusion is that value of \u00271\u0027 is as good as value of \u00272\u0027 and we can\njust always use \u00272\u0027. An Jan Kara suggested to go further: \"generally bm_flags\nhandling looks strange. If they are 0, we mount fs read only and thus cannot\nchange them.  If they are !\u003d 0, we write 2 there. So IMHO if you just removed\nbm_flags setting, nothing will really happen.\"\n\nSo this patch removes the bm_flags setting completely. This makes the \"clean\"\nargument of the \u0027affs_commit_super()\u0027 function unneeded, so it is also removed.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4",
      "tree": "e661a91753398208d338a089f45e00530475f721",
      "parents": [
        "d55e5bd0201a2af0182687882a92c5f95dbccc12",
        "2d4f4f3384d4ef4f7c571448e803a1ce721113d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 17:59:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 17:59:33 2012 -0700"
      },
      "message": "Merge tag \u0027md-3.5-fixes\u0027 of git://neil.brown.name/md\n\nPull use-after-free RAID1 bugfix from NeilBrown.\n\n* tag \u0027md-3.5-fixes\u0027 of git://neil.brown.name/md:\n  md/raid1: fix use-after-free bug in RAID1 data-check code.\n"
    },
    {
      "commit": "d55e5bd0201a2af0182687882a92c5f95dbccc12",
      "tree": "858da1717cd4491afeffd55791ea6b607062a7cd",
      "parents": [
        "5651721edec25bf73cee060150e684044eac42dc",
        "5baefd6d84163443215f4a99f6a20f054ef11236"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 15:31:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 15:31:21 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull the leap second fixes from Thomas Gleixner:\n \"It\u0027s a rather large series, but well discussed, refined and reviewed.\n  It got a massive testing by John, Prarit and tip.\n\n  In theory we could split it into two parts.  The first two patches\n\n    f55a6faa3843: hrtimer: Provide clock_was_set_delayed()\n    4873fa070ae8: timekeeping: Fix leapsecond triggered load spike issue\n\n  are merely preventing the stuff loops forever issues, which people\n  have observed.\n\n  But there is no point in delaying the other 4 commits which achieve\n  full correctness into 3.6 as they are tagged for stable anyway.  And I\n  rather prefer to have the full fixes merged in bulk than a \"prevent\n  the observable wreckage and deal with the hidden fallout later\"\n  approach.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hrtimer: Update hrtimer base offsets each hrtimer_interrupt\n  timekeeping: Provide hrtimer update function\n  hrtimers: Move lock held region in hrtimer_interrupt()\n  timekeeping: Maintain ktime_t based offsets for hrtimers\n  timekeeping: Fix leapsecond triggered load spike issue\n  hrtimer: Provide clock_was_set_delayed()\n"
    },
    {
      "commit": "5651721edec25bf73cee060150e684044eac42dc",
      "tree": "dc43e7c23455cd61fa2bafad7faffe45b44d6885",
      "parents": [
        "ac7d181e323a888015e19e2e4d776095a0433787"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Fri Jul 13 12:06:35 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 14:25:55 2012 -0700"
      },
      "message": "x86/vsyscall: allow seccomp filter in vsyscall\u003demulate\n\nIf a seccomp filter program is installed, older static binaries and\ndistributions with older libc implementations (glibc 2.13 and earlier)\nthat rely on vsyscall use will be terminated regardless of the filter\nprogram policy when executing time, gettimeofday, or getcpu.  This is\nonly the case when vsyscall emulation is in use (vsyscall\u003demulate is the\ndefault).\n\nThis patch emulates system call entry inside a vsyscall\u003demulate by\npopulating regs-\u003eax and regs-\u003eorig_ax with the system call number prior\nto calling into seccomp such that all seccomp-dependencies function\nnormally.  Additionally, system call return behavior is emulated in line\nwith other vsyscall entrypoints for the trace/trap cases.\n\n[ v2: fixed ip and sp on SECCOMP_RET_TRAP/TRACE (thanks to luto@mit.edu) ]\nReported-and-tested-by: Owen Kibel \u003cqmewlo@gmail.com\u003e\nSigned-off-by: Will Drewry \u003cwad@chromium.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac7d181e323a888015e19e2e4d776095a0433787",
      "tree": "014519b18f078b0171c1bf1e1bb54157a8ad073e",
      "parents": [
        "4264e6a263fc7166a5aa5234819b94f6fc9a2cd2",
        "41002f8dd5938d5ad1d008ce5bfdbfe47fa7b4e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 11:01:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 11:01:03 2012 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\nPlease pull one hwmon subsystem fix from Jean Delvare.\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (it87) Preserve configuration register bits on init\n"
    },
    {
      "commit": "4264e6a263fc7166a5aa5234819b94f6fc9a2cd2",
      "tree": "15418e913161c719b738b6defa53cac8ebeb2dfd",
      "parents": [
        "8d657eb3b43861064d36241e88d9d61c709f33f0",
        "f1daf666dd7d097653bd38320248c68084b1febf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:58:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:58:45 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.5-4\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n - Fix an NFSv4 mount regression\n - Fix O_DIRECT list manipulation snafus\n\n* tag \u0027nfs-for-3.5-4\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Fix an NFSv4 mount regression\n  NFS: Fix list manipulation snafus in fs/nfs/direct.c\n"
    },
    {
      "commit": "8d657eb3b43861064d36241e88d9d61c709f33f0",
      "tree": "4f50a3fbb59cc9a794092c1f549b6bbc6510ce74",
      "parents": [
        "39ea32ca7e425cde24df04f34bf76746ea028681"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jul 13 13:35:36 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:50:23 2012 -0700"
      },
      "message": "Remove easily user-triggerable BUG from generic_setlease\n\nThis can be trivially triggered from userspace by passing in something unexpected.\n\n    kernel BUG at fs/locks.c:1468!\n    invalid opcode: 0000 [#1] SMP\n    RIP: 0010:generic_setlease+0xc2/0x100\n    Call Trace:\n      __vfs_setlease+0x35/0x40\n      fcntl_setlease+0x76/0x150\n      sys_fcntl+0x1c6/0x810\n      system_call_fastpath+0x1a/0x1f\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: stable@kernel.org # 3.2+\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39ea32ca7e425cde24df04f34bf76746ea028681",
      "tree": "16efe31381658509349727e7e43c23758e7a32fb",
      "parents": [
        "8488e4088f7be12613a09301f4d6e51f23c91bbd",
        "e76b8ee25e034ab601b525abb95cea14aa167ed3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:33:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:33:18 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input layer fixes from Dmitry Torokhov:\n \"The changes are limited to adding new VID/PID combinations to drivers\n  to enable support for new versions of hardware, most notably hardware\n  found in new MacBook Pro Retina boxes.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: xpad - add Andamiro Pump It Up pad\n  Input: xpad - add signature for Razer Onza Tournament Edition\n  Input: xpad - handle all variations of Mad Catz Beat Pad\n  Input: bcm5974 - Add support for 2012 MacBook Pro Retina\n  HID: add support for 2012 MacBook Pro Retina\n"
    },
    {
      "commit": "8488e4088f7be12613a09301f4d6e51f23c91bbd",
      "tree": "45273b346db812daafc1a4a05e1ecff39898ed97",
      "parents": [
        "2c91390027678e833cc11fb150d6f41b922657d5",
        "ec3ed85f926f4e900bc48cec6e72abbe6475321f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:29:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:29:41 2012 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\nPull media fixes from Mauro Carvalho Chehab:\n - Some regression fixes at the audio part for devices with\n   cx23885/cx25840\n - A DMA corruption fix at cx231xx\n - two fixes at the winbond IR driver\n - Several fixes for the EXYNOS media driver (s5p)\n - two fixes at the OMAP3 preview driver\n - one fix at the dvb core failure path\n - an include missing (slab.h) at smiapp-core causing compilation\n   breakage\n - em28xx was not loading the IR driver driver anymore.\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (31 commits)\n  [media] Revert \"[media] V4L: JPEG class documentation corrections\"\n  [media] s5p-fimc: Add missing FIMC-LITE file operations locking\n  [media] omap3isp: preview: Fix contrast and brightness handling\n  [media] omap3isp: preview: Fix output size computation depending on input format\n  [media] winbond-cir: Initialise timeout, driver_type and allowed_protos\n  [media] winbond-cir: Fix txandrx module info\n  [media] cx23885: Silence unknown command warnings\n  [media] cx23885: add support for HVR-1255 analog (cx23888 variant)\n  [media] cx23885: make analog support work for HVR_1250 (cx23885 variant)\n  [media] cx25840: fix vsrc/hsrc usage on cx23888 designs\n  [media] cx25840: fix regression in HVR-1800 analog audio\n  [media] cx25840: fix regression in analog support hue/saturation controls\n  [media] cx25840: fix regression in HVR-1800 analog support\n  [media] s5p-mfc: Fixed setup of custom controls in decoder and encoder\n  [media] cx231xx: don\u0027t DMA to random addresses\n  [media] em28xx: fix em28xx-rc load\n  [media] dvb-core: Release semaphore on error path dvb_register_device()\n  [media] s5p-fimc: Stop media entity pipeline if fimc_pipeline_validate fails\n  [media] s5p-fimc: Fix compiler warning in fimc-lite.c\n  [media] s5p-fimc: media_entity_pipeline_start() may fail\n  ...\n"
    },
    {
      "commit": "2c91390027678e833cc11fb150d6f41b922657d5",
      "tree": "556ed873d6503a27c99548b0445ba640733c81f3",
      "parents": [
        "36ec9fbfe772ba8309ccd724bb7dd26c0923b6f7",
        "623b51fc8642fd3c795fa9903be3adaa537ad9c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:27:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 10:27:25 2012 -0700"
      },
      "message": "Merge tag \u0027mmc-fixes-for-3.5-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\nPull MMC fixes from Chris Ball:\n - Revert a patch that made failing to select power class fatal;\n   it turns out that it fails non-fatally on Tegra boards.\n   Regression against 3.5-rc1.\n - Add the IRQF_ONESHOT flag to the cd-gpio driver, which turned\n   into a regression in 3.5-rc1 when IRQF_ONESHOT became required\n   for threaded IRQs with no handler.\n\n* tag \u0027mmc-fixes-for-3.5-rc7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: cd-gpio: pass IRQF_ONESHOT to request_threaded_irq()\n  mmc: core: Revert \"skip card initialization if power class selection fails\"\n"
    },
    {
      "commit": "36ec9fbfe772ba8309ccd724bb7dd26c0923b6f7",
      "tree": "94b97afa649a13650136cd38d366f1a33baaa095",
      "parents": [
        "7801dc33bec3ad33f0de2c4138eeb6f785ada8dc",
        "596fd46268634082314b3af1ded4612e1b7f3f03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 09:56:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 13 09:56:26 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-20120712\u0027 of git://git.infradead.org/linux-mtd\n\nPull late MTD fixes from David Woodhouse:\n - fix \u0027sparse warning fix\u0027 regression which totally breaks MXC NAND\n - fix GPMI NAND regression when used with UBI\n - update/correct sysfs documentation for new \u0027bitflip_threshold\u0027 field\n - fix nandsim build failure\n\n* tag \u0027for-linus-20120712\u0027 of git://git.infradead.org/linux-mtd:\n  mtd: nandsim: don\u0027t open code a do_div helper\n  mtd: ABI documentation: clarification of bitflip_threshold\n  mtd: gpmi-nand: fix read page when reading to vmalloced area\n  mtd: mxc_nand: use 32bit copy functions\n"
    }
  ],
  "next": "7801dc33bec3ad33f0de2c4138eeb6f785ada8dc"
}
