)]}'
{
  "log": [
    {
      "commit": "4912002fffa377e66c5caefc2c311732a4ad5fb8",
      "tree": "52b9028af4886dcc7507c121dd27d8b9a143728a",
      "parents": [
        "98723153dc32106e5be701da15551853c9f785a9"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "lists@nerdbynature.de",
        "time": "Fri Feb 26 17:25:14 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 26 17:22:35 2010 -0800"
      },
      "message": "Remove EXPERIMENTAL from NFS_FSCACHE\n\nThere\u0027s currently an open Ubuntu bug[0], with the intent to compile NFS_FSCACHE\n(and possibly AFS_FSCACHE, 9P_FSCACHE) into the standard Ubuntu kernel.\nHowever, since *_FSCACHE still depends on EXPERIMENTAL, this won\u0027t happen.\n\nAs Arjan van de Ven pointed out[1], the EXPERIMENTAL flag doesn\u0027t mean that\nmuch any more, I propose the following patch to fs/nfs/Kconfig.  I\u0027d do the\nsame for fs/9p/Kconfig and fs/afs/Kconfig, but as I did not test 9p or AFS, I\nfeel it would not be appropriate for me to remove the flag.\n\n[0] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/440522/comments/5\n[1] http://lkml.org/lkml/2010/1/23/145\n\nSigned-off-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65d269538a1129495ac45a14a777cd11cfe881d8",
      "tree": "2bdc886ed8cfc18fe6ee62ac1c86d7c7360ca649",
      "parents": [
        "7d0bab9dfecb3717f7e704b60a9f11631cb6636e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 15 12:19:53 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 15 19:53:43 2010 -0800"
      },
      "message": "NFS: Too many GETATTR and ACCESS calls after direct I/O\n\nThe cached read and write paths initialize fattr-\u003etime_start in their\nsetup procedures.  The value of fattr-\u003etime_start is propagated to\nread_cache_jiffies by nfs_update_inode().  Subsequent calls to\nnfs_attribute_timeout() will then use a good time stamp when\ncomputing the attribute cache timeout, and squelch unneeded GETATTR\ncalls.\n\nSince the direct I/O paths erroneously leave the inode\u0027s\nfattr-\u003etime_start field set to zero, read_cache_jiffies for that inode\nis set to zero after any direct read or write operation.  This\ntriggers an otw GETATTR or ACCESS call to update the file\u0027s attribute\nand access caches properly, even when the NFS READ or WRITE replies\nhave usable post-op attributes.\n\nMake sure the direct read and write setup code performs the same fattr\ninitialization as the cached I/O paths to prevent unnecessary GETATTR\ncalls.\n\nThis was likely introduced by commit 0e574af1 in 2.6.15, which appears\nto add new nfs_fattr_init() call sites in the cached read and write\npaths, but not in the equivalent places in fs/nfs/direct.c.  A\nsubsequent commit in the same series, 33801147, introduces the\nfattr-\u003etime_start field.\n\nInterestingly, the direct write reschedule path already has a call to\nnfs_fattr_init() in the right place.\n\nReported-by: Quentin Barnes \u003cqbarnes@yahoo-inc.com\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fdcb45777a3d1689c5541e1f85ee3ebbd197d2c1",
      "tree": "e0fccac2d5b21b0ea0dbddc9ce7ccd50de341131",
      "parents": [
        "7549ad5f9b6eda49bbac4b14c5b8f37bf464f922"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 08 09:32:40 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Feb 09 14:29:29 2010 -0500"
      },
      "message": "NFS: Fix the mapping of the NFSERR_SERVERFAULT error\n\nIt was recently pointed out that the NFSERR_SERVERFAULT error, which is\ndesigned to inform the user of a serious internal error on the server, was\nbeing mapped to an error value that is internal to the kernel.\n\nThis patch maps it to the error EREMOTEIO, which is exported to userland\nthrough errno.h.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "7549ad5f9b6eda49bbac4b14c5b8f37bf464f922",
      "tree": "ece4aaa45462bae3e3fa0a831de31cff60e0dd90",
      "parents": [
        "2c1740098c708b465e87637b237feb2fd98f129a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 08 09:32:34 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Feb 09 14:29:21 2010 -0500"
      },
      "message": "NFS: Remove a redundant check for PageFsCache in nfs_migrate_page()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "2c1740098c708b465e87637b237feb2fd98f129a",
      "tree": "7794f7a904913effa4c08bf4bb1b840aba52becb",
      "parents": [
        "deb0c98c7f6035d47a247e548384517a955314a5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 08 09:32:27 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Feb 09 14:29:10 2010 -0500"
      },
      "message": "NFS: Fix a bug in nfs_fscache_release_page()\n\nNot having an fscache cookie is perfectly valid if the user didn\u0027t mount\nwith the fscache option.\n\nThis patch fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d15234\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9b4b351346b41d923d69adec865814fdaac4dba9",
      "tree": "b35229c40aa9e3b3ac4806f64b2fc941974cf270",
      "parents": [
        "387c149b54b4321cbc790dadbd4f8eedb5a90468"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:35 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:35 2010 -0500"
      },
      "message": "NFS: Don\u0027t clobber the attribute type in nfs_update_inode()\n\nIf the NFS_ATTR_FATTR_TYPE field isn\u0027t set in fattr-\u003evalid, then we should\nnot set the S_IFMT part of inode-\u003ei_mode.\n\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "387c149b54b4321cbc790dadbd4f8eedb5a90468",
      "tree": "535d63dd9b80ff239fa914449f89718db1f0bfd3",
      "parents": [
        "9f557cd8073104b39528794d44e129331ded649f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:35 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:35 2010 -0500"
      },
      "message": "NFS: Fix a umount race\n\nEnsure that we unregister the bdi before kill_anon_super() calls\nida_remove() on our device name.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9f557cd8073104b39528794d44e129331ded649f",
      "tree": "104a4146a767f3e42b474cdbbf056130b35d22b1",
      "parents": [
        "a2c0b9e291208f65221a0ad8a0c80a377707d480"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 03 08:27:22 2010 -0500"
      },
      "message": "NFS: Fix an Oops when truncating a file\n\nThe VM/VFS does not allow mapping-\u003ea_ops-\u003einvalidatepage() to fail.\nUnfortunately, nfs_wb_page_cancel() may fail if a fatal signal occurs.\nSince the NFS code assumes that the page stays mapped for as long as the\nwriteback is active, we can end up Oopsing (among other things).\n\nThe only safe fix here is to convert nfs_wait_on_request(), so as to make\nit uninterruptible (as is already the case with wait_on_page_writeback()).\n\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "a2c0b9e291208f65221a0ad8a0c80a377707d480",
      "tree": "31bec606e1d33f97c160448e03bace4a63a2d2fb",
      "parents": [
        "03391693a95900875b0973569d2d73ff3aa8972e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:47 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:47 2010 -0500"
      },
      "message": "NFS: Ensure that we handle NFS4ERR_STALE_STATEID correctly\n\nEven if the server is crazy, we should be able to mark the stateid as being\nbad, to ensure it gets recovered.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "03391693a95900875b0973569d2d73ff3aa8972e",
      "tree": "01ede0d09e01353573e3c13ee15441d76d2eec1b",
      "parents": [
        "8e469ebd6dc32cbaf620e134d79f740bf0ebab79"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:38 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:38 2010 -0500"
      },
      "message": "NFSv4.1: Don\u0027t call nfs4_schedule_state_recovery() unnecessarily\n\nCurrently, nfs4_handle_exception() will call it twice if called with an\nerror of -NFS4ERR_STALE_CLIENTID, -NFS4ERR_STALE_STATEID or\n-NFS4ERR_EXPIRED.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "8e469ebd6dc32cbaf620e134d79f740bf0ebab79",
      "tree": "a83e806a7cfa0a57ba6e55aef6da027aa2f08fee",
      "parents": [
        "2bee72a6aa1e6d0a4f5da56217f0d0bbbdd0d9a3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:30 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:30 2010 -0500"
      },
      "message": "NFSv4: Don\u0027t allow posix locking against servers that don\u0027t support it\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "2bee72a6aa1e6d0a4f5da56217f0d0bbbdd0d9a3",
      "tree": "62a943e0bfb1cff52ac9e54ef5d8a5cea3fbfa35",
      "parents": [
        "b0706ca415b188ed58788420de4d5c9972b2afb2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:21 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:21 2010 -0500"
      },
      "message": "NFSv4: Ensure that the NFSv4 locking can recover from stateid errors\n\nIn most cases, we just want to mark the lock_stateid sequence id as being\nuninitialised.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "b0706ca415b188ed58788420de4d5c9972b2afb2",
      "tree": "255db92d93f7ac306ae075c808934ba323ff92a1",
      "parents": [
        "0aa05887af728b058af91197f0ae9b3ae63dd74a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 26 15:42:11 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:11 2010 -0500"
      },
      "message": "NFS: Avoid warnings when CONFIG_NFS_V4\u003dn\n\nAvoid the following warnings when CONFIG_NFS_V4\u003dn:\n\n\tfs/nfs/sysctl.c:19: warning: unused variable `nfs_set_port_max\u0027\n\tfs/nfs/sysctl.c:18: warning: unused variable `nfs_set_port_min\u0027\n\nby making those variables contingent on NFSv4 being configured.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "0aa05887af728b058af91197f0ae9b3ae63dd74a",
      "tree": "81175366e25e4ccbcf79969bfada1c29e612369a",
      "parents": [
        "82be934a59ff891cac598727e5a862ba2b9d1fac"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 26 15:42:03 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:42:03 2010 -0500"
      },
      "message": "NFS: Make nfs_commitdata_release static\n\nThe symbol nfs_commitdata_release is only used locally\nin this file. Make it static to prevent the following sparse warning:\n\nwarning: symbol \u0027nfs_commitdata_release\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "82be934a59ff891cac598727e5a862ba2b9d1fac",
      "tree": "7b5763df79774ef9a27aaf4901621fc8015b3e2e",
      "parents": [
        "c9edda7140ec6a22accf7f2f86da362dfbfd41fc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:41:53 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:41:53 2010 -0500"
      },
      "message": "NFS: Try to commit unstable writes in nfs_release_page()\n\nIf someone calls nfs_release_page(), we presumably already know that the\npage is clean, however it may be holding an unstable write.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "c9edda7140ec6a22accf7f2f86da362dfbfd41fc",
      "tree": "c69acf2c9b114086fef8986d54772fa1e08ab044",
      "parents": [
        "92dcffb916d309aa01778bf8963a6932e4014d07"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:41:34 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 26 15:41:34 2010 -0500"
      },
      "message": "NFS: Fix a reference leak in nfs_wb_cancel_page()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "56335936de1a41c8978fde62b2158af77ddc7258",
      "tree": "f0061bef629a1c6a14e08f1b660b3beca0adc7cd",
      "parents": [
        "6c8530993e1fdf1d6af0403e796fe14d80b4b097"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "message": "nfs: fix oops in nfs_rename()\n\nRecent change is missing to update \"rehash\".  With that change, it will\nbecome the cause of adding dentry to hash twice.\n\nThis explains the reason of Oops (dereference the freed dentry in\n__d_lookup()) on my machine.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nReported-by: Marvin \u003cmarvin24@gmx.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2770d86b33024f71df269fde2de096df89d6a48",
      "tree": "d232695efd62bcdcb2b3a9b413bccea66c0ecf32",
      "parents": [
        "b8a7f3cd7e8212e5c572178ff3b5a514861036a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 12:51:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 12:51:05 2009 -0800"
      },
      "message": "Revert \"fix mismerge with Trond\u0027s stuff (create_mnt_ns() export is gone now)\"\n\nThis reverts commit e9496ff46a20a8592fdc7bdaaf41b45eb808d310. Quoth Al:\n\n \"it\u0027s dependent on a lot of other stuff not currently in mainline\n  and badly broken with current fs/namespace.c.  Sorry, badly\n  out-of-order cherry-pick from old queue.\n\n  PS: there\u0027s a large pending series reworking the refcounting and\n  lifetime rules for vfsmounts that will, among other things, allow to\n  rip a subtree away _without_ dissolving connections in it, to be\n  garbage-collected when all active references are gone.  It\u0027s\n  considerably saner wrt \"is the subtree busy\" logics, but it\u0027s nowhere\n  near being ready for merge at the moment; this changeset is one of the\n  things becoming possible with that sucker, but it certainly shouldn\u0027t\n  have been picked during this cycle.  My apologies...\"\n\nNoticed-by: Eric Paris \u003ceparis@redhat.com\u003e\nRequested-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bac5e54c29f352d962a2447d22735316b347b9f1",
      "tree": "7642993fa93164835ffaa2dacd341388193f1979",
      "parents": [
        "529e89430d6c0d64db8ac474cb95e68e2527c79a",
        "c05c4edd876b7ae92787d1295868afcb89b6a348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:04:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:04:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (38 commits)\n  direct I/O fallback sync simplification\n  ocfs: stop using do_sync_mapping_range\n  cleanup blockdev_direct_IO locking\n  make generic_acl slightly more generic\n  sanitize xattr handler prototypes\n  libfs: move EXPORT_SYMBOL for d_alloc_name\n  vfs: force reval of target when following LAST_BIND symlinks (try #7)\n  ima: limit imbalance msg\n  Untangling ima mess, part 3: kill dead code in ima\n  Untangling ima mess, part 2: deal with counters\n  Untangling ima mess, part 1: alloc_file()\n  O_TRUNC open shouldn\u0027t fail after file truncation\n  ima: call ima_inode_free ima_inode_free\n  IMA: clean up the IMA counts updating code\n  ima: only insert at inode creation time\n  ima: valid return code from ima_inode_alloc\n  fs: move get_empty_filp() deffinition to internal.h\n  Sanitize exec_permission_lite()\n  Kill cached_lookup() and real_lookup()\n  Kill path_lookup_open()\n  ...\n\nTrivial conflicts in fs/direct-io.c\n"
    },
    {
      "commit": "e4bdda1bc3123a9e65f4dd93a23041fde8ed3dc2",
      "tree": "c2f75cc08bb4c5cbd9103e14399ea5ab66ce960d",
      "parents": [
        "74f3ae743427b87e43b5cb9f4257021ae8ad4267",
        "380454126f1357db9270f9d1ca05dfe1a6e4ad47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: Fix a regression in the NFSv4 state manager\n  NFSv4: Release the sequence id before restarting a CLOSE rpc call\n  nfs41: fix session fore channel negotiation\n  nfs41: do not zero seqid portion of stateid on close\n  nfs: run state manager in privileged mode\n  nfs: make recovery state manager operations privileged\n  nfs: enforce FIFO ordering of operations trying to acquire slot\n  rpc: add a new priority in RPC task\n  nfs: remove rpc_task argument from nfs4_find_slot\n  rpc: add rpc_queue_empty function\n  nfs: change nfs4_do_setlk params to identify recovery type\n  nfs: do not do a LOOKUP after open\n  nfs: minor cleanup of session draining\n"
    },
    {
      "commit": "37c24b37fb2454e95136139d10bb6828967105bf",
      "tree": "d5c3fa61fa689567caeb2a7cb5891473e444ff7d",
      "parents": [
        "5ac4d630eb87656bd4dc313b910776d54d88ea28",
        "7663dacd926584093dfc350892792054692b6cb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux: (42 commits)\n  nfsd: remove pointless paths in file headers\n  nfsd: move most of nfsfh.h to fs/nfsd\n  nfsd: remove unused field rq_reffh\n  nfsd: enable V4ROOT exports\n  nfsd: make V4ROOT exports read-only\n  nfsd: restrict filehandles accepted in V4ROOT case\n  nfsd: allow exports of symlinks\n  nfsd: filter readdir results in V4ROOT case\n  nfsd: filter lookup results in V4ROOT case\n  nfsd4: don\u0027t continue \"under\" mounts in V4ROOT case\n  nfsd: introduce export flag for v4 pseudoroot\n  nfsd: let \"insecure\" flag vary by pseudoflavor\n  nfsd: new interface to advertise export features\n  nfsd: Move private headers to source directory\n  vfs: nfsctl.c un-used nfsd #includes\n  lockd: Remove un-used nfsd headers #includes\n  s390: remove un-used nfsd #includes\n  sparc: remove un-used nfsd #includes\n  parsic: remove un-used nfsd #includes\n  compat.c: Remove dependence on nfsd private headers\n  ...\n"
    },
    {
      "commit": "e9496ff46a20a8592fdc7bdaaf41b45eb808d310",
      "tree": "6668789814bf4726a82ad282724b72a09e247175",
      "parents": [
        "b0446be4be44768c7c7e919fadda98e1315fad09"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 09 18:44:32 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 12:16:44 2009 -0500"
      },
      "message": "fix mismerge with Trond\u0027s stuff (create_mnt_ns() export is gone now)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "380454126f1357db9270f9d1ca05dfe1a6e4ad47",
      "tree": "b7a7afdb59c0421f371c7242c170982153a76835",
      "parents": [
        "72211dbe727f7c1451aa5adfcbd1197b090eb276"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 17:36:57 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 17:36:57 2009 -0500"
      },
      "message": "NFSv4: Fix a regression in the NFSv4 state manager\n\nCommit 5601a00d671fe89f9b087513244abcd08ad67e7d (nfs: run state manager\nin privileged mode) introduces a regression in the NFSv4 code when\ncompiled with CONFIG_NFS_V4_1. The calls to nfs4_end_drain_session()\nfrom the main loop in nfs4_state_manager() Oops due to the lack of an\nNFSv4.1 session when running NFSv4.0.\n\nThe fix is to move those two calls back into nfs41_init_clientid() and\nnfs4_reset_session().\n\nThe calls to nfs4_end_drain_session() that remain inside\nnfs4_state_manager() are safe, since the NFSv4.0 code will never set the\nNFS4CLNT_SESSION_DRAINING bit.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "72211dbe727f7c1451aa5adfcbd1197b090eb276",
      "tree": "1669a3a5e7d30e71451cd975161506b84bf6b1ad",
      "parents": [
        "68bf05efb7facbcf4a7b8d6b48a0800a90895511"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 14:47:36 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 14:47:36 2009 -0500"
      },
      "message": "NFSv4: Release the sequence id before restarting a CLOSE rpc call\n\nIf the CLOSE or OPEN_DOWNGRADE call triggers a state recovery, and has\nto be resent, then we must release the seqid. Otherwise the open\nrecovery will wait for the close to finish, which causes a deadlock.\n\nThis is mainly a NFSv4.1 problem, although it can theoretically happen\nwith NFSv4.0 too, in a OPEN_DOWNGRADE situation.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68bf05efb7facbcf4a7b8d6b48a0800a90895511",
      "tree": "200e0a6b376bda123adc1b1b13d148f8bba0b896",
      "parents": [
        "a5523b84c40d34d2c30b45096fbb099b98e4b5a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Dec 15 12:55:02 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:58:42 2009 -0500"
      },
      "message": "nfs41: fix session fore channel negotiation\n\nIf the rsize or wsize is not set on the mount command, negotiate the highest\nsupported rsize and wsize in session creation.\n\nFixes a bug where the client negotiated nfs41_maxwrite_overhead as\nca_maxrequestsize and nfs41_maxread_overhead as ca_maxresponsesize resulting\nin NFS4ERR_REQ_TOO_BIG errors on writes.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5523b84c40d34d2c30b45096fbb099b98e4b5a3",
      "tree": "eca4f4e68d86cf99b010f628b91311a50e9cab4f",
      "parents": [
        "5601a00d671fe89f9b087513244abcd08ad67e7d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Dec 14 15:46:16 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:58:36 2009 -0500"
      },
      "message": "nfs41: do not zero seqid portion of stateid on close\n\nRemove code left over from a previous minorversion draft.\nwhich specified zeroing seqid portions of stateid\u0027s.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5601a00d671fe89f9b087513244abcd08ad67e7d",
      "tree": "fbc2a850ab9d82bb796294403b2d3e9b57f9e7f9",
      "parents": [
        "b257957e502a2c467c3c75005215a3f45ecb7f25"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:58 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:58:23 2009 -0500"
      },
      "message": "nfs: run state manager in privileged mode\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b257957e502a2c467c3c75005215a3f45ecb7f25",
      "tree": "261271f8f3d6c30a0b6c2eb7f3680a23b93eec6f",
      "parents": [
        "689cf5c15baf603a8041565ff0bd0d65d1634fd7"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:57 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:58:07 2009 -0500"
      },
      "message": "nfs: make recovery state manager operations privileged\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "689cf5c15baf603a8041565ff0bd0d65d1634fd7",
      "tree": "83fc6e666f0c099486cfcdb41b40c02d9fa163b7",
      "parents": [
        "cf3b01b54880debb01ea7d471123da5887a7c2cb"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:56 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:55:18 2009 -0500"
      },
      "message": "nfs: enforce FIFO ordering of operations trying to acquire slot\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40ead580ae70bba1f66f426aeb938051e4e83900",
      "tree": "a490a945e3bb9bfc891a525acdae0f4748578727",
      "parents": [
        "48f186124220794fce85ed1439fc32f16f69d3e2"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:54 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:51:22 2009 -0500"
      },
      "message": "nfs: remove rpc_task argument from nfs4_find_slot\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "afe6c27ccb8cc31ce8ed0bd3589ce549f523c8e7",
      "tree": "5c87de95a9ef12106648e7dfbf4640c58279e730",
      "parents": [
        "0f7e720694e88bacf808b525069fb72d1c237171"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Wed Dec 09 01:50:14 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:50:32 2009 -0500"
      },
      "message": "nfs: change nfs4_do_setlk params to identify recovery type\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f7e720694e88bacf808b525069fb72d1c237171",
      "tree": "0fb57cda4e10d9ed49e0fb592ed62a60bb509346",
      "parents": [
        "3bfb0fc59192f7fffae0a1caada8dc68af53997a"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Wed Dec 09 01:50:13 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:50:21 2009 -0500"
      },
      "message": "nfs: do not do a LOOKUP after open\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3bfb0fc59192f7fffae0a1caada8dc68af53997a",
      "tree": "ad4c11861dc1e5d50875c725cca3723332b05be2",
      "parents": [
        "3ea6b3d0e6d0ffd91c0f8cadeb69b7133c038b32"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Wed Dec 09 01:50:11 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:50:01 2009 -0500"
      },
      "message": "nfs: minor cleanup of session draining\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3f86ce72cffbea488a3b58453bbaf49c93ac90d9",
      "tree": "e7c612d297b41fb03326dcf38cecd27e89474538",
      "parents": [
        "d0316554d3586cbea60592a41391b5def2553d6f",
        "52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:00:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 10:00:24 2009 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (75 commits)\n  NFS: Fix nfs_migrate_page()\n  rpc: remove unneeded function parameter in gss_add_msg()\n  nfs41: Invoke RECLAIM_COMPLETE on all new client ids\n  SUNRPC: IS_ERR/PTR_ERR confusion\n  NFSv41: Fix a potential state leakage when restarting nfs4_close_prepare\n  nfs41: Handle NFSv4.1 session errors in the delegation recall code\n  nfs41: Retry delegation return if it failed with session error\n  nfs41: Handle session errors during delegation return\n  nfs41: Mark stateids in need of reclaim if state manager gets stale clientid\n  NFS: Fix up the declaration of nfs4_restart_rpc when NFSv4 not configured\n  nfs41: Don\u0027t clear DRAINING flag on NFS4ERR_STALE_CLIENTID\n  nfs41: nfs41_setup_state_renewal\n  NFSv41: More cleanups\n  NFSv41: Fix up some bugs in the NFS4CLNT_SESSION_DRAINING code\n  NFSv41: Clean up slot table management\n  NFSv41: Fix nfs4_proc_create_session\n  nfs41: Invoke RECLAIM_COMPLETE\n  nfs41: RECLAIM_COMPLETE functionality\n  nfs41: RECLAIM_COMPLETE XDR functionality\n  Cleanup some NFSv4 XDR decode comments\n  ...\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "52c9948b1fd80381ba5a9a87dcc4fbe3cf4979b8",
      "tree": "7bca6a20560f428442f18450df0948774f982df0",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c",
        "190f38e5cedc910940b1da9015f00458c18f97b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 13 13:56:27 2009 -0500"
      },
      "message": "Merge branch \u0027nfs-for-2.6.33\u0027\n"
    },
    {
      "commit": "190f38e5cedc910940b1da9015f00458c18f97b4",
      "tree": "3b13c1cd5c536b6187b3196610b97e70a0ba0372",
      "parents": [
        "053e324f67b9921fe7de0c4cbc720d29cb4bf207"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 10 09:05:55 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 10 09:05:55 2009 -0500"
      },
      "message": "NFS: Fix nfs_migrate_page()\n\nThe call to migrate_page() will cause the page-\u003eprivate field to be\ncleared.\nAlso fix up the locking around the page-\u003eprivate transfer, so that we ensure\nthat calls to nfs_page_find_request() don\u0027t end up racing.\n\nFinally, fix up a double free bug: nfs_unlock_request() already calls\nnfs_release_request() for us...\n\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nTested-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6b2f3d1f769be5779b479c37800229d9a4809fc3",
      "tree": "046ef6736ec6c25ab1c68741ba715d13645af336",
      "parents": [
        "59bc055211b8d266ab6089158058bf8268e02006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 27 11:05:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "vfs: Implement proper O_SYNC semantics\n\nWhile Linux provided an O_SYNC flag basically since day 1, it took until\nLinux 2.4.0-test12pre2 to actually get it implemented for filesystems,\nsince that day we had generic_osync_around with only minor changes and the\ngreat \"For now, when the user asks for O_SYNC, we\u0027ll actually give\nO_DSYNC\" comment.  This patch intends to actually give us real O_SYNC\nsemantics in addition to the O_DSYNC semantics.  After Jan\u0027s O_SYNC\npatches which are required before this patch it\u0027s actually surprisingly\nsimple, we just need to figure out when to set the datasync flag to\nvfs_fsync_range and when not.\n\nThis patch renames the existing O_SYNC flag to O_DSYNC while keeping it\u0027s\nnumerical value to keep binary compatibility, and adds a new real O_SYNC\nflag.  To guarantee backwards compatiblity it is defined as expanding to\nboth the O_DSYNC and the new additional binary flag (__O_SYNC) to make\nsure we are backwards-compatible when compiled against the new headers.\n\nThis also means that all places that don\u0027t care about the differences can\njust check O_DSYNC and get the right behaviour for O_SYNC, too - only\nplaces that actuall care need to check __O_SYNC in addition.  Drivers and\nnetwork filesystems have been updated in a fail safe way to always do the\nfull sync magic if O_DSYNC is set.  The few places setting O_SYNC for\nlower layers are kept that way for now to stay failsafe.\n\nWe enforce that O_DSYNC is set when __O_SYNC is set early in the open path\nto make sure we always get these sane options.\n\nNote that parisc really screwed up their headers as they already define a\nO_DSYNC that has always been a no-op.  We try to repair it by using it for\nthe new O_DSYNC and redefinining O_SYNC to send both the traditional\nO_SYNC numerical value _and_ the O_DSYNC one.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7cab89b275fd5647e72b781ac41b58a214640334",
      "tree": "77532eff4cf81d2d90bd95258b631a161617870c",
      "parents": [
        "88069f77e1ac580a495762ce7a631c251c52cb90"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Tue Dec 08 14:35:28 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 14:35:28 2009 -0500"
      },
      "message": "nfs41: Invoke RECLAIM_COMPLETE on all new client ids\n\nThe NFSv4.1 spec indicates RECLAIM_COMPLETE is to be issued\nwhenever a client establishes a new client id, not only after\ndetecting the server has rebooted.\n\nSet the NFS4CLNT_RECLAIM_REBOOT bit after every new client id has\nbeen established.  This enables us to issue RECLAIM_COMPLETE\nduring the wrap up of the NFS4CLNT_RECLAIM_REBOOT state.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6035ccd8e9e40bb654fbfdef325902ab531679a5",
      "tree": "c1810d8a4d4ef150cdf14af72e6087dfc3f4b6e0",
      "parents": [
        "23eb3b64b5e44680c867e165fe1cd18e57fba255",
        "878eaddd05d251cefa9632c2b8046833c5eead66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block: (113 commits)\n  cfq-iosched: Do not access cfqq after freeing it\n  block: include linux/err.h to use ERR_PTR\n  cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit\n  blkio: Allow CFQ group IO scheduling even when CFQ is a module\n  blkio: Implement dynamic io controlling policy registration\n  blkio: Export some symbols from blkio as its user CFQ can be a module\n  block: Fix io_context leak after failure of clone with CLONE_IO\n  block: Fix io_context leak after clone with CLONE_IO\n  cfq-iosched: make nonrot check logic consistent\n  io controller: quick fix for blk-cgroup and modular CFQ\n  cfq-iosched: move IO controller declerations to a header file\n  cfq-iosched: fix compile problem with !CONFIG_CGROUP\n  blkio: Documentation\n  blkio: Wait on sync-noidle queue even if rq_noidle \u003d 1\n  blkio: Implement group_isolation tunable\n  blkio: Determine async workload length based on total number of queues\n  blkio: Wait for cfq queue to get backlogged if group is empty\n  blkio: Propagate cgroup weight updation to cfq groups\n  blkio: Drop the reference to queue once the task changes cgroup\n  blkio: Provide some isolation between groups\n  ...\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "88069f77e1ac580a495762ce7a631c251c52cb90",
      "tree": "e30011cdb39fa167370b4d35bbc9b3cc04a4bc27",
      "parents": [
        "74e7bb73a3e0d15a7db10b0f2b2efdeeef36609e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 08:33:16 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 08 08:33:16 2009 -0500"
      },
      "message": "NFSv41: Fix a potential state leakage when restarting nfs4_close_prepare\n\nCurrently, if the call to nfs4_setup_sequence() in nfs4_close_prepare\nfails, any later retries will fail to launch an RPC call, due to the fact\nthat the \u0026state-\u003eflags will have been cleared.\nDitto if nfs4_close_done() triggers a call to the NFSv4.1 version of\nnfs_restart_rpc().\n\nWe therefore move the actual clearing of the state-\u003eflags to\nnfs4_close_done(), when we know that the RPC call was successful.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "74e7bb73a3e0d15a7db10b0f2b2efdeeef36609e",
      "tree": "a2e4f4bbed15b265b4064337519e0717da8bfdcd",
      "parents": [
        "79708861189eb89dea6711bd0464b097b69e7c79"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Mon Dec 07 09:48:30 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:48:30 2009 -0500"
      },
      "message": "nfs41: Handle NFSv4.1 session errors in the delegation recall code\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "79708861189eb89dea6711bd0464b097b69e7c79",
      "tree": "252f824d3e4af97e0da64dfadc4b94544c611380",
      "parents": [
        "bcfa49f6f931ce4097309ca8501d842a6f0ac860"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Mon Dec 07 09:23:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:23:21 2009 -0500"
      },
      "message": "nfs41: Retry delegation return if it failed with session error\n\nUpdate nfs4_delegreturn_done() to retry the operation after setting the\nNFS4CLNT_SESSION_SETUP bit to indicate the need to reset the session.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bcfa49f6f931ce4097309ca8501d842a6f0ac860",
      "tree": "df4906c0ed5d6a456bf728ce7792cade6eec2114",
      "parents": [
        "f455848a11cbbf15989609a46b24e81a6f13a08e"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Mon Dec 07 09:22:29 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:22:29 2009 -0500"
      },
      "message": "nfs41: Handle session errors during delegation return\n\nAdd session error handling to nfs4_open_delegation_recall()\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f455848a11cbbf15989609a46b24e81a6f13a08e",
      "tree": "fb265ecee9a7dc6f40175d21609c6dffcd8ae93f",
      "parents": [
        "0110ee152b69f8cbde19d8bc1dd59e197e419d76"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Mon Dec 07 09:16:09 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:16:09 2009 -0500"
      },
      "message": "nfs41: Mark stateids in need of reclaim if state manager gets stale clientid\n\nThe state manager was not marking the stateids as needing to be reclaimed\nafter reestablishing the clientid.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0110ee152b69f8cbde19d8bc1dd59e197e419d76",
      "tree": "f7a70abaaa97f03e358b2fb07103f5af4e98d5a5",
      "parents": [
        "9dfdf404c99347e2e224e25f8626e7b6399a05cd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:00:24 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 07 09:00:24 2009 -0500"
      },
      "message": "NFS: Fix up the declaration of nfs4_restart_rpc when NFSv4 not configured\n\nAlso rename it: it is used in generic code, and so should not have a \u0027nfs4\u0027\nprefix.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9dfdf404c99347e2e224e25f8626e7b6399a05cd",
      "tree": "7bad4e6c06b5f12548dbd3ec91fab56877808400",
      "parents": [
        "9430fb6b5315f7bc94b05be915c64ebfefc55bbc"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sun Dec 06 12:57:34 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 06 12:57:34 2009 -0500"
      },
      "message": "nfs41: Don\u0027t clear DRAINING flag on NFS4ERR_STALE_CLIENTID\n\nIf CREATE_SESSION fails with NFS4ERR_STALE_CLIENTID, don\u0027t clear the\nNFS4CLNT_SESSION_DRAINING flag and don\u0027t wake RPCs waiting for the\nsession to be reestablished.  We don\u0027t have a session yet, so there\nis no reason to wake other RPCs.\n\nThis avoids sending spurious compounds with bogus sequenceID during\nsession and state recovery.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[Trond.Myklebust@netapp.com: cleaned up patch by adding the\n                             nfs41_begin/end_drain_session() helpers]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9430fb6b5315f7bc94b05be915c64ebfefc55bbc",
      "tree": "bdd930aef91eb7ef954a51919ee2fecae8044e01",
      "parents": [
        "bcb56164ceb21317208eee89c829580d51b84a6d"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sun Dec 06 12:23:46 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Dec 06 12:23:46 2009 -0500"
      },
      "message": "nfs41: nfs41_setup_state_renewal\n\nMove call to get the lease time and the setup of the state\nrenewal out of nfs4_create_session so that it can be called\nafter clearing the DRAINING flag.  We use the getattr RPC\nto obtain the lease time, which requires a sequence slot.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bcb56164ceb21317208eee89c829580d51b84a6d",
      "tree": "f60e9f4e74e980d6a55b13682177b121148513f0",
      "parents": [
        "35dc1d74a8d97a302a202ccb6751bf2bdbf5173e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "message": "NFSv41: More cleanups\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35dc1d74a8d97a302a202ccb6751bf2bdbf5173e",
      "tree": "0791d69bc97fac30b9f52e7f96479e31386bb6f8",
      "parents": [
        "d61e612a728fb9bf848c4383f8f6645e822d5b57"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "message": "NFSv41: Fix up some bugs in the NFS4CLNT_SESSION_DRAINING code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d61e612a728fb9bf848c4383f8f6645e822d5b57",
      "tree": "b4024efc797fa3b992b042f484574c1d43893a61",
      "parents": [
        "f26468fb9384e73fb357d2e84d3e9c88c7d1129d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:19 2009 -0500"
      },
      "message": "NFSv41: Clean up slot table management\n\nWe no longer need to maintain a distinction between nfs41_sequence_done and\nnfs41_sequence_free_slot.\n\nThis fixes a number of slot table leakages in the NFSv4.1 code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f26468fb9384e73fb357d2e84d3e9c88c7d1129d",
      "tree": "453ab2ea84473a1f52d0400c628d8ad9fd95d8c8",
      "parents": [
        "da6ebfe34a3921cfb47b938fb819abc78c6080e5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:11 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 19:32:11 2009 -0500"
      },
      "message": "NFSv41: Fix nfs4_proc_create_session\n\nWe should not assume that nfs41_init_clientid() will always want to\ninitialise the session. If it is being called due to a server reboot, then\nwe just want to reset the session after re-establishing the clientid.\n\nFix this by getting rid of the \u0027reset\u0027 parameter in\nnfs4_proc_create_session(), and instead relying on whether or not the\nsession slot table pointer is non-NULL.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "da6ebfe34a3921cfb47b938fb819abc78c6080e5",
      "tree": "5206813e9df45fe6fd0f2fb57f315755e75e3172",
      "parents": [
        "fce5c838e13392cc88a1330d1471fe6419e02ed7"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sat Dec 05 16:08:41 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 16:08:41 2009 -0500"
      },
      "message": "nfs41: Invoke RECLAIM_COMPLETE\n\nThis patch invokes RECLAIM_COMPLETE after the client is done\nreclaiming state.\n\nThere are interpretations of the spec that suggest that\nRECLAIM_COMPLETE should also be issued after a new clientid\nhas been obtained from the server and even if there is no\nstate to reclaim.  This tells the server that the client\nhas no state to reclaim even if the client isn\u0027t aware the\nserver may have rebooted.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fce5c838e13392cc88a1330d1471fe6419e02ed7",
      "tree": "9ba2d8a62d6ec61e68d5a2808ca50eb917acbea1",
      "parents": [
        "180197536b15d5862b389ce90b46ec8d004056f6"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sat Dec 05 16:08:41 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 16:08:41 2009 -0500"
      },
      "message": "nfs41: RECLAIM_COMPLETE functionality\n\nImplements RECLAIM_COMPLETE as an asynchronous RPC.\nNFS4ERR_DELAY is retried, NFS4ERR_DEADSESSION invokes the error handling\nbut does not result in a retry, since we don\u0027t want to have a lingering\nRECLAIM_COMPLETE call sent in the middle of a possible new state recovery\ncycle.  If a session reset occurs, a new wave of reclaim operations will\nfollow, containing their own RECLAIM_COMPLETE call.  We don\u0027t want a\nretry to get on the way of recovery by incorrectly indicating to the\nserver that we\u0027re done reclaiming state.\n\nA subsequent patch invokes the functionality.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "180197536b15d5862b389ce90b46ec8d004056f6",
      "tree": "ad87e52788313fb47dd54b502dc021498f7ea1b4",
      "parents": [
        "8b173218bd7dfa5723ab96cc37b32dc380446bab"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sat Dec 05 16:08:40 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 16:08:40 2009 -0500"
      },
      "message": "nfs41: RECLAIM_COMPLETE XDR functionality\n\nXDR encoding and decoding for RECLAIM_COMPLETE.  Implements the necessary\nencoding to indicate reclaim complete for the entire client.  In the future,\nit can be extended to provide reclaim complete functionality for a single\nfile system after migration.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b173218bd7dfa5723ab96cc37b32dc380446bab",
      "tree": "a76643bf957bc6d693812eb27e4523b28859b358",
      "parents": [
        "0556d1a6958ba15659ac2089ebc0a3c5e71f08a8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Sat Dec 05 16:08:39 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 16:08:39 2009 -0500"
      },
      "message": "Cleanup some NFSv4 XDR decode comments\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0556d1a6958ba15659ac2089ebc0a3c5e71f08a8",
      "tree": "b4b294653d1ed988084513972c3f22d62fb93cc5",
      "parents": [
        "2597641deae82c9a95e255518da189ab557da0af"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 15:03:20 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 15:03:20 2009 -0500"
      },
      "message": "NFSv41: nfs4_reset_session must always set NFS4CLNT_SESSION_DRAINING\n\nOtherwise we have no guarantees that other processes won\u0027t start another\nRPC call while we\u0027re resetting the session.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2597641deae82c9a95e255518da189ab557da0af",
      "tree": "0b2dc7c46f2a0398ecefd6bb63a657710cf921fa",
      "parents": [
        "0629e370dd5819efa5cf8d418a8e6729efe388ef"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:48:55 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:48:55 2009 -0500"
      },
      "message": "nfs41: v2 fix cb_recall bug\n\nin NFSv4.1 the seqid part of a stateid in CB_RECALL must be 0\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0629e370dd5819efa5cf8d418a8e6729efe388ef",
      "tree": "90883270cf5d677b13c81d0e6dbfaac38c5d18a9",
      "parents": [
        "2449ea2e191123729b2dc37a06fcb9d6ea7e2736"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:46:14 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:46:14 2009 -0500"
      },
      "message": "nfs41: check SEQUENCE status flag\n\nthe server can indicate a number of error conditions by setting the\nappropriate bits in the SEQUENCE operation. The client re-establishes\nstate with the server when it receives one of those, with the action\ndepending on the specific case.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2449ea2e191123729b2dc37a06fcb9d6ea7e2736",
      "tree": "f5b71099baefb6c550511b3d5f3da26b8c384454",
      "parents": [
        "7b183d0d432ab3525ae29511a5348ead3e790620"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:36:55 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:36:55 2009 -0500"
      },
      "message": "nfs41: V2 adjust max_rqst_sz, max_resp_sz w.r.t to rsize, wsize\n\nThe v4.1 client should take into account the desired rsize, wsize when\nnegotiating the max size in CREATE_SESSION. Accordingly, it should use\nrsize, wsize that are smaller than the session negotiated values.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7b183d0d432ab3525ae29511a5348ead3e790620",
      "tree": "a4964a75e67f58fa3e8806f2e4881edca9460b35",
      "parents": [
        "4882ef72cd9a5c006087ca94a228323018eac29f"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:33:25 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:33:25 2009 -0500"
      },
      "message": "nfs41: remove server-only EXCHGID4_FLAG_CONFIRMED_R flag from exchange_id\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4882ef72cd9a5c006087ca94a228323018eac29f",
      "tree": "4dba8abfbde3ca48b0012bf8d9abe8ec4260b061",
      "parents": [
        "d8cb1a7ce36d44602946f06af4267da304fb4011"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:30:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:30:21 2009 -0500"
      },
      "message": "nfs41: add support for the exclusive create flags\n\nIn v4.1 the client MUST/SHOULD use the EXCLUSIVE4_1 flag instead of\nEXCLUSIVE4, and GUARDED when the server supports persistent sessions.\nFor now (and until we support suppattr_exclcreat), we don\u0027t send any\nattributes with EXCLUSIVE4_1 relying in the subsequent SETATTR as in v4.0\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8cb1a7ce36d44602946f06af4267da304fb4011",
      "tree": "695622613261f5beba38829db8d8f17d55461ff5",
      "parents": [
        "31f0960778c78198957cf02cc970d92b72b929e4"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:29:53 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:29:53 2009 -0500"
      },
      "message": "nfs41: check if session exists and if it is persistent\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31f0960778c78198957cf02cc970d92b72b929e4",
      "tree": "b5d061437c4a952e0fe78006a2ad9186c2e6ecc9",
      "parents": [
        "c79571a508801e055a0be583d6dc70bddad7bb64"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:27:02 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:27:02 2009 -0500"
      },
      "message": "nfs41: V2 initial support for CB_RECALL_ANY\n\nFor now the clients returns _all_ the delegations of the specificed type\nit holds\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c79571a508801e055a0be583d6dc70bddad7bb64",
      "tree": "a5000c191610376a01f12ac54c08d3c1adcf5bea",
      "parents": [
        "b4a6f4966efc7e70dc8d8a9e60744de6845b14bf"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:20:52 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:20:52 2009 -0500"
      },
      "message": "nfs4: V2 return/expire delegations depending on their type\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4a6f4966efc7e70dc8d8a9e60744de6845b14bf",
      "tree": "72a2b2687975bc3629dd02efca6bc879fa2bcbfe",
      "parents": [
        "07bccc2dd4e8745859f0fa7d120ea39320fbcdbf"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:19:11 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:19:11 2009 -0500"
      },
      "message": "nfs4: minor delegation cleaning\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "07bccc2dd4e8745859f0fa7d120ea39320fbcdbf",
      "tree": "0a06d0689b300842a85c7c8f8605ea86dcb7cf81",
      "parents": [
        "0b9e2d41f1f0360be08809d4e3bb56b67be6241a"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:19:01 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:19:01 2009 -0500"
      },
      "message": "nfs41: add support for callback with RPC version number 4\n\nThe NFSv4.1 spec-29 (18.36.3) says that the server MUST use an ONC RPC\n(program) version number equal to 4 in callbacks sent to the client.\nFor now we allow both versions 1 and 4.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b9e2d41f1f0360be08809d4e3bb56b67be6241a",
      "tree": "6628c9ef423cf09a76ec34b6f9db64c7ca704c38",
      "parents": [
        "691daf3b0c410c8bcab6735796be03ea446e1924"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 16:02:14 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 16:02:14 2009 -0500"
      },
      "message": "nfs41: only state manager sets NFS4CLNT_SESSION_SETUP\n\nReplace sync and async handlers setting of the NFS4CLNT_SESSION_SETUP bit with\nsetting NFS4CLNT_CHECK_LEASE, and let the state manager decide to reset the session.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "691daf3b0c410c8bcab6735796be03ea446e1924",
      "tree": "989669b839146bcc36dc2b059b5c188dd901987d",
      "parents": [
        "ea028ac92541ac30bf202ed94cb53eec2ea0c9d6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:39 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:39 2009 -0500"
      },
      "message": "nfs41: drain session cleanup\n\nDo not wake up the next slot_tbl_waitq task in nfs4_free_slot because we\nmay be draining the slot. Either signal the state manager that the session\nis drained (the state manager wakes up tasks) OR wake up the next task.\n\nIn nfs41_sequence_done, the slot dereference is only needed in the sequence\noperation success case.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea028ac92541ac30bf202ed94cb53eec2ea0c9d6",
      "tree": "f9b807cf0f870db922f96e72dab68ed37ba18cf0",
      "parents": [
        "05f0d2364726c92f6b870db654967088349379fe"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:38 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:38 2009 -0500"
      },
      "message": "nfs41: nfs41: fix state manager deadlock in session reset\n\nIf the session is reset during state recovery, the state manager thread can\nsleep on the slot_tbl_waitq causing a deadlock.\n\nAdd a completion framework to the session.  Have the state manager thread set\na new session state (NFS4CLNT_SESSION_DRAINING) and wait for the session slot\ntable to drain.\n\nSignal the state manager thread in nfs41_sequence_free_slot when the\nNFS4CLNT_SESSION_DRAINING bit is set and the session is drained.\n\nReported-by: Trond Myklebust \u003ctrond@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "05f0d2364726c92f6b870db654967088349379fe",
      "tree": "ea9fb3fe07c40e859c8db88949eee55a40bbdd9b",
      "parents": [
        "2628eddff15cb38b7246d5c18e2f7dc3e2c0d0c2"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:37 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:37 2009 -0500"
      },
      "message": "nfs41: remove nfs4_recover_session\n\nnfs4_recover_session can put rpciod to sleep. Just use nfs4_schedule_recovery.\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2628eddff15cb38b7246d5c18e2f7dc3e2c0d0c2",
      "tree": "99dc69d8bc07eb09f239a3635de1657254badc9e",
      "parents": [
        "8ba9bf8e5160b0b4ebc56f64ad445c6c0ecdac1d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:35 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:35 2009 -0500"
      },
      "message": "nfs41: don\u0027t clear tk_action on success\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ba9bf8e5160b0b4ebc56f64ad445c6c0ecdac1d",
      "tree": "bee5b90cc35392ed9e2281a09e1aa97ec881a7e8",
      "parents": [
        "b9179237e2b2b4d34b5821cca3db280ebbc8694a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:34 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:34 2009 -0500"
      },
      "message": "nfs41: fix switch in nfs4_recovery_handle_error\n\nDo not fall through and set NFS4CLNT_SESSION_RESET bit on NFS4ERR_EXPIRED\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b9179237e2b2b4d34b5821cca3db280ebbc8694a",
      "tree": "e55d4e02088cd5b46f041a455fcd98b7e969f867",
      "parents": [
        "36bbe34239f63377b5179ad32fd13cd71d6e1ba7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:32 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:32 2009 -0500"
      },
      "message": "nfs41: fix switch in nfs4_handle_exception\n\nDo not fall through and call nfs4_delay on session error handling.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36bbe34239f63377b5179ad32fd13cd71d6e1ba7",
      "tree": "0e7edc3061f160784457b6ded18dbc47fa8cfed8",
      "parents": [
        "e608e79f1bf4b967afcf57777e63b5f0939b00e8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:30 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:30 2009 -0500"
      },
      "message": "nfs41: free the slot on unhandled read errors\n\nnfs4_read_done returns zero on unhandled errors. nfs_readpage_result will\nreturn on a negative tk_status without freeing the slot.\nCall nfs4_sequence_free_slot on unhandled errors in nfs4_read_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e608e79f1bf4b967afcf57777e63b5f0939b00e8",
      "tree": "d649b5714435b7d2d4edd5779fa22122d61ee0c5",
      "parents": [
        "1d9ddde94aed01c4618cf6f70883cc511c3b2b62"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:29 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:29 2009 -0500"
      },
      "message": "nfs41: call free slot from nfs4_restart_rpc\n\nnfs41_sequence_free_slot can be called multiple times on SEQUENCE operation\nerrors.\nNo reason to inline nfs4_restart_rpc\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n\nnfs_writeback_done and nfs_readpage_retry call nfs4_restart_rpc outside the\nerror handler, and the slot is not freed prior to restarting in the rpc_prepare\nstate during session reset.\n\nFix this by moving the call to nfs41_sequence_free_slot from the error\npath of nfs41_sequence_done into nfs4_restart_rpc, and by removing the test\nfor NFS4CLNT_SESSION_SETUP.\nAlways free slot and goto the rpc prepare state on async errors.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d9ddde94aed01c4618cf6f70883cc511c3b2b62",
      "tree": "649a4f8f59f6408746dadb6588ec2d558556b15f",
      "parents": [
        "6df08189ffd33d8357759561dba49d25c0335858"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:27 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:27 2009 -0500"
      },
      "message": "nfs41: nfs4_get_lease_time will never session reset\n\nMake this clear by calling rpc_restart-call.\nPrepare for nfs4_restart_rpc() to free slots.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6df08189ffd33d8357759561dba49d25c0335858",
      "tree": "8f1d38370002cb05534628ee7b6bbfd04242b715",
      "parents": [
        "4d643d1dfa9349164fe928e255f68020d91dbfe0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:05 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:05 2009 -0500"
      },
      "message": "nfs41: rename cl_state session SETUP bit to RESET\n\nThe bit is no longer used for session setup, only for session reset.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d643d1dfa9349164fe928e255f68020d91dbfe0",
      "tree": "1dde84268d81698e3f84cc3f20d90ddc234ba33f",
      "parents": [
        "7285f2d2ffd4b7ab4ffb70a47759ee209c30017b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:52:24 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:52:24 2009 -0500"
      },
      "message": "nfs41: add create session into establish_clid\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n\nResetting the clientid from the state manager could result in not confirming\nthe clientid due to create session not being called.\n\nMove the create session call from the NFS4CLNT_SESSION_SETUP state manager\ninitialize session case into the NFS4CLNT_LEASE_EXPIRED case establish_clid\ncall.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7285f2d2ffd4b7ab4ffb70a47759ee209c30017b",
      "tree": "255cdddc72429f013b3bcf5c51d1818cb3e3bd51",
      "parents": [
        "0b08b07507d5ae733408fd4ebda1cd89d3a840ef",
        "44ed3556bad809797f7b06a4a88918fd8a23d6fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into linux-next\n"
    },
    {
      "commit": "44ed3556bad809797f7b06a4a88918fd8a23d6fe",
      "tree": "c4e9fb126d25d2f08e972365a480e40612502850",
      "parents": [
        "24e93025ee434a58d35e5abb283c5bcc9a13e477"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:26:36 2009 -0500"
      },
      "message": "NFS4ERR_FILE_OPEN handling in Linux/NFS\n\nNFS4ERR_FILE_OPEN is return by the server when an operation cannot be\nperformed because the file is currently open and local (to the server)\nsemantics prohibit the operation while the file is open.\nA typical case is a RENAME operation on an MS-Windows platform, which\nprevents rename while the file is open.\n\nWhile it is possible that such a condition is transitory, it is also\nvery possible that the file will be held open for an extended period\nof time thus preventing the operation.\n\nThe current behaviour of Linux/NFS is to retry the operation\nindefinitely.  This is not appropriate - we do not expect a rename to\ntake an arbitrary amount of time to complete.\n\nRather, and error should be returned.  The most obvious error code\nwould be EBUSY, which is a legal at least for \u0027rename\u0027 and \u0027unlink\u0027,\nand accurately captures the reason for the error.\n\nThis patch allows a few retries until about 2 seconds have elapsed,\nthen returns EBUSY.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24e93025ee434a58d35e5abb283c5bcc9a13e477",
      "tree": "f187100fdb63afb537e209c62e9c6bb5a95fc46b",
      "parents": [
        "27226104e60964f21717e0f452cecd45c85a64c6"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: clean up sillyrenaming in nfs_rename()\n\nThe d_instantiate(new_dentry, NULL) is superfluous, the dentry is\nalready negative.  Rehashing this dummy dentry isn\u0027t needed either,\nd_move() works fine on an unhashed target.\n\nThe re-checking for busy after a failed nfs_sillyrename() is bogus\ntoo: new_dentry-\u003ed_count \u003c 2 would be a bug here.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "27226104e60964f21717e0f452cecd45c85a64c6",
      "tree": "fc0bf5aea3d316034a9d51ce00a135e9ddbce5f2",
      "parents": [
        "28f79a1a695e7a5b00af3b6713b449e08581ffbb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: dont unhash target if renaming a directory\n\nMove unhashing the target to after the check for existence and being a\nnon-directory.\n\nIf renaming a directory then the VFS already unhashes the target if it\nis not busy.  If it\u0027s busy then acquiring more references during the\nrename makes no difference.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "28f79a1a695e7a5b00af3b6713b449e08581ffbb",
      "tree": "e843f269eebb716a69a71dd51fec769c30d6efc9",
      "parents": [
        "e48de5ec25b37d42292c876c1d3337766aae89bd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: fix comments in nfs_rename()\n\nComments are wrong or out of date.  In particular d_drop() doesn\u0027t\nfree the inode it just unhashes the dentry.  And if target is a\ndirectory then it is not checked for being busy.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e48de5ec25b37d42292c876c1d3337766aae89bd",
      "tree": "de35cc77f7d99de0c3962a213a2b4c5385065987",
      "parents": [
        "9c4c761a629caa5572c1a29a8288416070d5d6b7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: remove unnecessary check from nfs_rename()\n\nVFS already checks if both source and target are directories.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9c4c761a629caa5572c1a29a8288416070d5d6b7",
      "tree": "ff73a4a5d09de69e18610ad2e2f7dc2c9ce4f6d8",
      "parents": [
        "3a28becc35e5c8f1fabb707bcd8a473712653de6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFSv4.1: Handle NFSv4.1 session errors in the lock recovery code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd47f96c077b4516727e497e4b6fd47a06778c0a",
      "tree": "916e3a3119606b2cde325c561594d2c3203c1d3b",
      "parents": [
        "d250e190fb9b06f4c595eade88b3d0b705fb330a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: Revert default r/wsize behavior\n\nWhen the \"rsize\u003d\" or \"wsize\u003d\" mount options are not specified,\ntext-based mounts have slightly different behavior than legacy binary\nmounts.  Text-based mounts use the smaller of the server\u0027s maximum\nand the client\u0027s maximum, but binary mounts use the smaller of the\nserver\u0027s _preferred_ size and the client\u0027s maximum.\n\nThis difference is actually pretty subtle.  Most servers advertise\nthe same value as their maximum and their preferred transfer size, so\nthe end result is the same in most cases.\n\nThe reason for this difference is that for text-based mounts, if\nr/wsize are not specified, they are set to the largest value supported\nby the client.  For legacy mounts, the values are set to zero if these\noptions are not specified.\n\nnfs_server_set_fsinfo() can negotiate the transfer size defaults\ncorrectly in any case.  There\u0027s no need to specify any particular\nvalue as default in the text-based option parsing logic.\n\nNote that nfs4 doesn\u0027t use nfs_server_set_fsinfo(), but the mount.nfs4\ncommand does set rsize and wsize to 0 if the user didn\u0027t specify these\noptions.  So, make the same change for text-based NFSv4 mounts.\n\nThanks to James Pearson \u003cjames-p@moving-picture.com\u003e for reporting and\ndiagnosing the problem.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d250e190fb9b06f4c595eade88b3d0b705fb330a",
      "tree": "963505275d87d596b674b061403cf6fa18b01f25",
      "parents": [
        "dd1fd90fe65e2e642f0e58e2ff4849f317a6c43d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: Display compressed (shorthand) IPv6 in /proc/mounts\n\nRecent changes to snprintf() introduced the %pI6c formatter, which can\ndisplay an IPv6 address with standard shorthanding.  Use this new\nformatter when displaying IPv6 server addresses in /proc/mounts.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee671b016fbfc26d69c3fe02e28706222beb1149",
      "tree": "1e3b2d050fd301b24f8aca01e58f76d68ca42a68",
      "parents": [
        "d4e935bd67ca05db4119b67801d9ece6ae139f05"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: convert proto\u003d option to use netids rather than a protoname\n\nSolaris uses netids as values for the proto\u003d option, so that when\nsomeone specifies \"tcp6\" they get traffic over TCP + IPv6. Until\nrecently, this has never really been an issue for Linux since it didn\u0027t\nsupport NFS over IPv6. The netid and the protocol name were generally\nalways the same (modulo any strange configuration in /etc/netconfig).\n\nThe solaris manpage documents their proto\u003d option as:\n\n    proto\u003d _netid_ | rdma\n\nThis patch is intended to bring Linux closer to how the Solaris proto\u003d\noption works, by declaring a static netid mapping in the kernel and\nconverting the proto\u003d and mountproto\u003d options to follow it and display\nthe proper values in /proc/mounts.\n\nMuch of this functionality will need to be provided by a userspace\nmount.nfs patch. Chuck Lever has a patch to change mount.nfs in\nthe same way. In principle, we could do *all* of this in userspace but\nthat would mean that the options in /proc/mounts may not match the\noptions used by userspace.\n\nThe alternative to the static mapping here is to add a mechanism to\nupcall to userspace for netid\u0027s. I\u0027m not opposed to that option, but\nit\u0027ll probably mean more overhead (and quite a bit more code). Rather\nthan shoot for that at first, I figured it was probably better to\nstart simply.\n\nComments welcome.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d4e935bd67ca05db4119b67801d9ece6ae139f05",
      "tree": "56d6c6e3e6cf9ecd0538cacb5cafb4477d015b4b",
      "parents": [
        "96f287b0cf512ee537826943c15b0b8647472f70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Dec 03 15:58:33 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:33 2009 -0500"
      },
      "message": "The rpc server does not require that service threads take the BKL.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1185a552e3d78807031f4021c5edb60d3e8838f1",
      "tree": "c91d8b77610f640cd930f62407b9fc5fec283773",
      "parents": [
        "0a6566ecd3afc74aad11c2e07794ff5529c13862"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:02 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:02 2009 -0500"
      },
      "message": "NFSv4: Ensure nfs4_close_context() is declared as static\n\nFix another \u0027sparse\u0027 warning in fs/nfs/nfs4proc.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0a6566ecd3afc74aad11c2e07794ff5529c13862",
      "tree": "0e9b75b3b24d2d6ca6ee5aff6ad61d4b5b006d82",
      "parents": [
        "b6d408ba8c8be3646dea6f80a2fe55ac403119c8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:01 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:01 2009 -0500"
      },
      "message": "NFSv4: Ensure nfs_dns_lookup() and nfs_dns_update() are declared static\n\nFix two \u0027sparse\u0027 warnings in fs/nfs/dns_resolve.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6d408ba8c8be3646dea6f80a2fe55ac403119c8",
      "tree": "f3305d34863a99c7df4c1453f860237845a21923",
      "parents": [
        "a9ed2e2583747fb3139a764c317fac58893b968f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:22 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:22 2009 -0500"
      },
      "message": "NFSv4: Fix up error handling in the state manager main loop.\n\nThe nfs4_state_manager should not be looking at the error values when\ndeciding whether or not to loop round in order to handle a higher priority\nstate recovery task. It should rather be looking at the clp-\u003ecl_state.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9ed2e2583747fb3139a764c317fac58893b968f",
      "tree": "55d6504df716da57884cee0593b86f3a04558401",
      "parents": [
        "c8b7ae3d3221536228260757444ee10c6d71793f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "message": "NFSv4: Handle NFS4ERR_GRACE when recovering an expired lease.\n\nIf our lease expires, and the server reboots while we\u0027re recovering, we\nneed to be able to wait until the grace period is over.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8b7ae3d3221536228260757444ee10c6d71793f",
      "tree": "0fe8d45072d1f2b49e1211402843d5df15510f74",
      "parents": [
        "4f7cdf18e14f81860b856ef7694ef58eb1a751c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "message": "NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f7cdf18e14f81860b856ef7694ef58eb1a751c0",
      "tree": "ac10a661705b816cbee8702df34149db14b51cdc",
      "parents": [
        "e345e88a774875cec26e097ea3ff2dc40c4f9da2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:20 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:20 2009 -0500"
      },
      "message": "NFSv4: The state manager shouldn\u0027t exit on errors that were handled\n\nnfs4_recovery_handle_error() will correctly handle errors such as\nNFS4ERR_CB_PATH_DOWN, however because they are still passed back to the\nmain loop in nfs4_state_manager(), they can cause the latter to exit\nprematurely.\n\nFix this by letting nfs4_recovery_handle_error() change the error value in\ncases where there is no action required by the caller.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e345e88a774875cec26e097ea3ff2dc40c4f9da2",
      "tree": "b04a63d691c0250fdb50078f15e78e80ebe811e4",
      "parents": [
        "d18cc1fda25295416a2855d44c2936db01df9eec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:52:41 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:52:41 2009 -0500"
      },
      "message": "NFSv4: Fix up the callers of nfs4_state_end_reclaim_reboot\n\nIn practice, we need to ensure that we call nfs4_state_end_reclaim_reboot\nin 2 cases:\n\n - If we lose the lease while we were reclaiming state\nOR\n - After we\u0027re done with reboot recovery\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d18cc1fda25295416a2855d44c2936db01df9eec",
      "tree": "962ec82ffff2fb49691779039c76976be7d964f0",
      "parents": [
        "d327cf7449e6fd5cbac784c641770e9366faa386"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "NFSv4: Fix a potential state manager deadlock when returning delegations\n\nThe nfsv4 state manager could potentially deadlock inside\n__nfs_inode_return_delegation() if the server reboots, so that the calls to\nnfs_msync_inode() end up waiting on state recovery to complete.\n\nAlso ensure that if a server reboot or network partition causes us to have\nto stop returning delegations, that NFS4CLNT_DELEGRETURN is set so that\nthe state manager can resume any outstanding delegation returns after it\nhas dealt with the state recovery situation.\n\nFinally, ensure that the state manager doesn\u0027t wait for the DELEGRETURN\ncall to complete. It doesn\u0027t need to, and that too can cause a deadlock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d327cf7449e6fd5cbac784c641770e9366faa386",
      "tree": "3270b042c6346a86973fc9a7d89cbfff9493d75b",
      "parents": [
        "f0380f3d16df8f9e2fcd1d8c16fb0d94370bea99"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "Re: acl trouble after upgrading ubuntu\n\nSubject: [PATCH] nfs: fix acl decoding\n\nCommit 28f566942c6b1d929f5e240e69e7081b77b238d3 \"NFS: use dynamically\ncomputed compound_hdr.replen for xdr_inline_pages offset\" accidentally\nchanged the amount of space to allow for the acl reply, resulting in an\nIO error on attempts to get an acl.\n\nReported-by: Paul Rudin \u003cpaul@rudin.co.uk\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "96f287b0cf512ee537826943c15b0b8647472f70"
}
