)]}'
{
  "log": [
    {
      "commit": "e1ec78928b4d5a31b7a847e65c6009f4229f7c0f",
      "tree": "cf4a8b521551b3e398801fc3618b586e19f94f1e",
      "parents": [
        "c2866763b4029411d166040306691773c12d4caf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:20 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:50 2006 -0400"
      },
      "message": "LOCKD: Convert to use new rpc_create() API\n\nReplace xprt_create_proto/rpc_create_client with new rpc_create()\ninterface in the Network Lock Manager.\n\nNote that the semantics of NLM transports is now \"hard\" instead of \"soft\"\nto provide a better guarantee that lock requests will get to the server.\n\nTest plan:\nRepeated runs of Connectathon locking suite.  Check network trace to ensure\nNLM requests are working correctly.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ca948238724c945bd353f51d54ae7d285f3889f",
      "tree": "222aa223d93a4ffc7e662e1d80bb3b5d28b5f1a2",
      "parents": [
        "c4efcb1d3e0bc76aeb9ca6301d19a5079893c6c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:49 2006 -0400"
      },
      "message": "SUNRPC: Clean-up after previous patches.\n\nRemove some unused macros related to accessing an RPC peer address\n\nTest plan:\nCompile kernel with CONFIG_NFS option enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c31be261540acf66ddd730631ead8009cc361d",
      "tree": "157a92c24d50f8c82be464a4b326e07a37b2de2a",
      "parents": [
        "ed39440a2573abc926f230267000f21fa5a87822"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:17 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:46 2006 -0400"
      },
      "message": "LOCKD: Teach lockd to use the new rpc_peeraddr() API\n\nHide the details of how the RPC client stores remote peer addresses from\nthe Network Lock Manager.\n\nTest plan:\nDestructive testing (unplugging the network temporarily).  Connectathon\nwith UDP and TCP.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01df9c5e918ae5559f2d96da0143f8bfbb9e6171",
      "tree": "1716c3caf8c5d6c10aa139bdbb75d93af30fc0b2",
      "parents": [
        "8f8e7a50f450fcb86a5b2ffb94543c57a14f8260"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 10 11:58:57 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:51:00 2006 -0400"
      },
      "message": "LOCKD: Fix a deadlock in nlm_traverse_files()\n\nnlm_traverse_files() is not allowed to hold the nlm_file_mutex while calling\nnlm_inspect file, since it may end up calling nlm_release_file() when\nreleaseing the blocks.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from e558d3cde986e04f68afe8c790ad68ef4b94587a commit)\n"
    },
    {
      "commit": "f3d43c769d14b7065da7f62ec468b1fcb8cd6e06",
      "tree": "bcecb5319c7395bec95a0ebbb730b3c293d7cceb",
      "parents": [
        "e4e20512cfe0bacec0764b4925889d1fa94644f9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Aug 03 15:07:47 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 03 16:56:02 2006 -0400"
      },
      "message": "NLM/lockd: remove b_done\n\nWe never actually set the b_done field any more; it\u0027s always zero.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from af8412d4283ef91356e65e0ed9b025b376aebded commit)\n"
    },
    {
      "commit": "01c3b861cd77b28565a2d18c7caa3ce7f938e35c",
      "tree": "1445669572dd5f0e97ec0690da88eefd8bbf5acb",
      "parents": [
        "f07f18dd6f29f11887b8d9cf7ecb736bf2f7dc62"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 29 16:38:39 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 05 13:13:18 2006 -0400"
      },
      "message": "NLM,NFSv4: Wait on local locks before we put RPC calls on the wire\n\nUse FL_ACCESS flag to test and/or wait for local locks before we try\nrequesting a lock from the server\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b07357490e5c7a1c3c2b6f4679d7ee4b4185ecd",
      "tree": "020b1e8ed07374d45ae2691cae8ed550ef123137",
      "parents": [
        "f475ae957db66650db66916c62604ac27409d884"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 29 16:38:34 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 05 13:13:17 2006 -0400"
      },
      "message": "NLM,NFSv4: Don\u0027t put UNLOCK requests on the wire unless we hold a lock\n\nUse the new behaviour of {flock,posix}_file_lock(F_UNLCK) to determine if\nwe held a lock, and only send the RPC request to the server if this was the\ncase.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "28df955a2ad484d602314b30183ea8496a9aa34a",
      "tree": "c62632b2a0a49df114283f10764244c1b1b5f506",
      "parents": [
        "5046791417dcac1ba126b77b8062af15a2f0b8e1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:40:27 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:40:27 2006 -0400"
      },
      "message": "NLM: Fix reclaim races\n\nCurrently it is possible for a task to remove its locks at the same time as\nthe NLM recovery thread is trying to recover them. This quickly leads to an\nOops.\nProtect the locks using an rw semaphore while they are being recovered.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5046791417dcac1ba126b77b8062af15a2f0b8e1",
      "tree": "a59f8eecd3e089046859cd4489c550df7b6b1ead",
      "parents": [
        "3134cbec5e172c3a86e2c3ef4af34b6cfd380bfa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:40:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:40:24 2006 -0400"
      },
      "message": "NLM: sem to mutex conversion\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec535ce154f2eaad3d97f2f20a76a6d8bdac33e5",
      "tree": "e7a6b3c77051057e963c276b4f9f66d8a0d2c51a",
      "parents": [
        "e99170ff3b799a9fd43d538932a9231fac1de9d4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Apr 18 13:21:50 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 19 12:43:47 2006 -0400"
      },
      "message": "NFS: make 2 functions static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1",
      "tree": "bffabd9a5a493ffd2b41dd825e71e848ca6ba6d7",
      "parents": [
        "e655a250d5fc12b6dfe0d436180ba4a3bfffdc9f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: fs/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Van Hensbergen \u003cericvh@ericvh.myip.org\u003e\nCc: Robert Love \u003crml@tech9.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53846a21c1766326bb14ce8ab6e997a0c120675d",
      "tree": "37b04485e29844b4e734479181276a2f4d2447e4",
      "parents": [
        "2e9abdd9bad485970b37cd53a82f92702054984c",
        "1ebbe2b20091d306453a5cf480a87e6cd28ae76f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)\n  SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies\n  SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc\n  LOCKD: Make nlmsvc_traverse_shares return void\n  LOCKD: nlmsvc_traverse_blocks return is unused\n  SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n  NFSv4: Dont list system.nfs4_acl for filesystems that don\u0027t support it.\n  SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum\n  SUNRPC: Ensure rpc_call_async() always calls tk_ops-\u003erpc_release()\n  SUNRPC: Fix memory barriers for req-\u003erq_received\n  NFS: Fix a race in nfs_sync_inode()\n  NFS: Clean up nfs_flush_list()\n  NFS: Fix a race with PG_private and nfs_release_page()\n  NFSv4: Ensure the callback daemon flushes signals\n  SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n  NFS, NLM: Allow blocking locks to respect signals\n  NFS: Make nfs_fhget() return appropriate error values\n  NFSv4: Fix an oops in nfs4_fill_super\n  lockd: blocks should hold a reference to the nlm_file\n  NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE\n  NFSv4: Send the delegation stateid for SETATTR calls\n  ...\n"
    },
    {
      "commit": "e8c96f8c29d89af0c13dc2819a9a00575846ca18",
      "tree": "b90ed0da4803df56a91be5979580e335af2d697c",
      "parents": [
        "b5029622ac86bb441dc5e641226fb1152fca02d7"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Fri Mar 24 03:15:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:19 2006 -0800"
      },
      "message": "[PATCH] fs: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a\nduplicate of ARRAY_SIZE.  Some trailing whitespaces are also deleted.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f12191bc000ea31970339a5f54c11087506711c",
      "tree": "073d24a7ccd22ddf9a3f16b488ef1d2f989842b9",
      "parents": [
        "f3ee439f43381e45b191cf721b4a51d41f33301f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 23:24:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 23:24:25 2006 -0500"
      },
      "message": "LOCKD: Make nlmsvc_traverse_shares return void\n\nThe nlmsvc_traverse_shares return value is always zero, hence useless.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3ee439f43381e45b191cf721b4a51d41f33301f",
      "tree": "1ac11992c5ec5669c0d6ed68a9881dd51a01220f",
      "parents": [
        "eaa82edf20d738a7ae31f4b0a5f72f64c14a58df"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 23:24:13 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 23:24:13 2006 -0500"
      },
      "message": "LOCKD: nlmsvc_traverse_blocks return is unused\n\nNote that we never return non-zero.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9f6eb75d4900782a095b98470decfe98971f920",
      "tree": "6378e43b6fba38a2ee8359379aedf3b07daeea21",
      "parents": [
        "51581f3bf922512880f52a7777923fd6dcfc792b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:47 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:47 2006 -0500"
      },
      "message": "lockd: blocks should hold a reference to the nlm_file\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6041b79192bdf0e7ab18ea6859effa5d8311391b",
      "tree": "f1491d4dd0dbdc829273c71e707c0adf771f5d0b",
      "parents": [
        "d47166244860eb5dfdb12ee4703968beef8a0db2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "message": "lockd: Fix a typo in nlmsvc_grant_release()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d47166244860eb5dfdb12ee4703968beef8a0db2",
      "tree": "423a78e1aefc84b13800e4e257bee30ac4bbcb75",
      "parents": [
        "92737230dd3f1478033819d4bc20339f8da852da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "message": "lockd: Add helper for *_RES callbacks\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "92737230dd3f1478033819d4bc20339f8da852da",
      "tree": "27bc7804a077a29b7614c698bb02632dc4ce228e",
      "parents": [
        "e4cd038a45a46ffbe06a1a72f3f15246e5b041ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "message": "NLM: Add nlmclnt_release_call\n\nAdd a helper function to simplify the freeing of NLM client requests.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e4cd038a45a46ffbe06a1a72f3f15246e5b041ca",
      "tree": "61b926d8644ce6c3888f6891ba44d6db6d116adb",
      "parents": [
        "3a649b884637c4fdff50a6beebc3dc0e6082e048"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "message": "NLM: Fix nlmclnt_test to not copy private part of locks\n\nThe struct file_lock does not carry a properly initialised lock,\nso don\u0027t copy it as if it were.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a649b884637c4fdff50a6beebc3dc0e6082e048",
      "tree": "042455741f079fdbd4d33cd7da61c1c9e68db477",
      "parents": [
        "d72b7a6b26b9009b7a05117fe2e04b3a73ae4a5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "message": "NLM: Simplify client locks\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35576cba57f1c042b87d6586b3229d13067264c6",
      "tree": "705718c559911986647db9f95ad3cff85cffcff8",
      "parents": [
        "4c060b531006e0711db32a132d6ac7661594b280"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "message": "NLM: nlmclnt_cancel_callback should accept NLM_LCK_DENIED errors\n\nNLM_LCK_DENIED is a valid error return for an NLM_CANCEL call by the\nclient.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c060b531006e0711db32a132d6ac7661594b280",
      "tree": "899f281dfec3da7e29ede2e76019b3861116714f",
      "parents": [
        "26bcbf965f857c710adafd16cf424f043006b5dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "message": "lockd: Fix Oopses due to list manipulation errors.\n\nThe patch \"stop abusing file_lock_list introduces a couple of bugs since\nthe locks may be copied and need to be removed from the lists when they are\ndestroyed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26bcbf965f857c710adafd16cf424f043006b5dd",
      "tree": "fa3c1e4ba07ab3d1e4e61b27c7579c57fd2d5c65",
      "parents": [
        "04266473ecf5cdca242201d9f1ed890afe070fb6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "message": "lockd: stop abusing file_lock_list\n\nCurrently lockd directly access the file_lock_list from fs/locks.c.\nIt does so to mark locks granted or reclaimable.  This is very\nsuboptimal, because a) lockd needs to poke into locks.c internals, and\nb) it needs to iterate over all locks in the system for marking locks\ngranted or reclaimable.\n\nThis patch adds lists for granted and reclaimable locks to the nlm_host\nstructure instead, and adds locks to those.\n\nnlmclnt_lock:\n\tnow adds the lock to h_granted instead of setting the\n\tNFS_LCK_GRANTED, still O(1)\n\nnlmclnt_mark_reclaim:\n\tgoes away completely, replaced by a list_splice_init.\n\tComplexity reduced from O(locks in the system) to O(1)\n\nreclaimer:\n\titerates over h_reclaim now, complexity reduced from\n\tO(locks in the system) to O(locks per nlm_host)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "04266473ecf5cdca242201d9f1ed890afe070fb6",
      "tree": "c5c13c61db25a999cda87e5c6b4aacba12b44049",
      "parents": [
        "686517f1ad1630c11964d668b556aab79b8c942e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "message": "lockd: Make lockd use rpc_new_client() instead of rpc_create_client\n\nWhen doing NLM_GRANTED requests, lockd may end up blocking if we use\nrpc_create_client() due to the synchronous call to rpc_ping(). Instead, use\nrpc_new_client().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "686517f1ad1630c11964d668b556aab79b8c942e",
      "tree": "fc62470bef473ce51f6caddb3b187da756b8bffc",
      "parents": [
        "5e1abf8cb713a0b94f5a400c7b9b797990cd9dec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Make nlmsvc_create_block() use nlmsvc_lookup_host()\n\nCurrently it uses nlmclnt_lookup_host(), which puts the resulting host\nstructure on a different list.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e1abf8cb713a0b94f5a400c7b9b797990cd9dec",
      "tree": "717a5eb95c4615855edc5f66268154cbe4118326",
      "parents": [
        "6849c0cab69f5d1a0fc7b05fa5bfb3dec53f86df"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Clean up of the server-side GRANTED code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6849c0cab69f5d1a0fc7b05fa5bfb3dec53f86df",
      "tree": "8bf595be663cc641b000846737c3ba1b6419eb6a",
      "parents": [
        "09c7938c5640a6f22bef074ca6b803dccfdb93e3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Add refcounting to struct nlm_block\n\nOtherwise, the block may disappear from underneath us when in\nnlmsvc_retry_blocked.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09c7938c5640a6f22bef074ca6b803dccfdb93e3",
      "tree": "71a6a0f66349ae46a0f816de8c8ddf952070af87",
      "parents": [
        "0996905f9301c2ff4c021982c42a15b35e74bf1c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "message": "lockd: Fix server-side lock blocking code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7117bf3dfb10b534a017260d9fc643bc1d0afd2a",
      "tree": "a7060dc3d8a5f54c5beb41885620aaf99aac42f9",
      "parents": [
        "8dc7c3115b611c00006eac3ee5b108296432aab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "message": "lockd: Remove FL_LOCKD flag\n\nCurrently lockd identifies its own locks using the FL_LOCKD flag.  This\ndoesn\u0027t scale well to multiple lock managers--if we did this in nfsv4 too,\nfor example, we\u0027d be left with only one free flag bit.\n\nInstead, we just check whether the file manager ops (fl_lmops) set on this\nlock are our own.\n\nThe only use for this is in nlm_traverse_locks, which uses it to find locks\nthat need cleaning up when freeing a host or a file.\n\nIn the long run it might be nice to do reference counting instead of\ntraversing all the locks like this....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8dc7c3115b611c00006eac3ee5b108296432aab7",
      "tree": "be44c59907cbdcb6fdf46d0ad9cc140af757acfc",
      "parents": [
        "2e0af86f618c697b44e2d67dff151256c58201c4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "message": "locks,lockd: fix race in nlmsvc_testlock\n\nposix_test_lock() returns a pointer to a struct file_lock which is unprotected\nand can be removed while in use by the caller.  Move the conflicting lock from\nthe return to a parameter, and copy the conflicting lock.\n\nIn most cases the caller ends up putting the copy of the conflicting lock on\nthe stack.  On i386, sizeof(struct file_lock) appears to be about 100 bytes.\nWe\u0027re assuming that\u0027s reasonable.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a85f193e2fb7d53e48ae6a9d9ea990bfb4cea555",
      "tree": "f992c9b6b0ba6f1726a48af99a0251270d32e821",
      "parents": [
        "5de0e5024a4e21251fd80dbfdb83316ce97086bc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "message": "lockd: make nlmsvc_lock use only posix_lock_file\n\nReorganize nlmsvc_lock() to make full use of posix_lock_file(), which does\neveything nlmsvc_lock() needs - no need to call posix_test_lock(),\nposix_locks_deadlock(), or posix_block_lock() separately.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5de0e5024a4e21251fd80dbfdb83316ce97086bc",
      "tree": "fa34eeee2aa007fb49b34c45e55aafc8b67c6e37",
      "parents": [
        "15dadef9460ad8d3b1d5ede1c1697dc79af44a72"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "message": "lockd: simplify nlmsvc_grant_blocked\n\nReorganize nlmsvc_grant_blocked() to make full use of posix_lock_file().  Note\nthat there\u0027s no need for separate calls to posix_test_lock(),\nposix_locks_deadlock(), or posix_block_lock().\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15dadef9460ad8d3b1d5ede1c1697dc79af44a72",
      "tree": "e95ff41246a7fb25ad523e1868166d2f2d9ef2e9",
      "parents": [
        "1e7cb3dc12dbbac690d78c84f9c7cb11132ed121"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "message": "lockd: clean up nlmsvc_lock\n\nSlightly more consistent dprintk error reporting, consolidate some up()\u0027s.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dead28da8e3fb32601d38fb32b7021122e0a3d21",
      "tree": "a1a23e27e08345c86ed0d9812f848470b615eb34",
      "parents": [
        "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "message": "SUNRPC: eliminate rpc_call()\n\nClean-up: replace rpc_call() helper with direct call to rpc_call_sync.\n\nThis makes NFSv2 and NFSv3 synchronous calls more computationally\nefficient, and reduces stack consumption in functions that used to\ninvoke rpc_call more than once.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Connectathon on NFS version 2,\nversion 3, and version 4 mount points.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7bab377fcb495ee2e5a1cd69d235f8d84c76e3af",
      "tree": "67f03fbc543632ccf71075af250635201b43801b",
      "parents": [
        "36943fa4b2701b9ef2d60084c85ecbe634aec252"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "message": "lockd: Don\u0027t expose the process pid to the NLM server\n\nInstead we use the nlm_lockowner-\u003epid.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36943fa4b2701b9ef2d60084c85ecbe634aec252",
      "tree": "a234dbfff1f7d46a8202e0666ac7666d39b420ae",
      "parents": [
        "47831f35b83e43c804215712dd0c834c92e8a441"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "message": "NLM: nlm_alloc_call should not immediately fail on signal\n\nCurrently, nlm_alloc_call tests for a signal before it even tries to\nallocate memory.\nFix it so that it tries at least once.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "30f4e20a0d3492668f5065af582b5af2d1e4256b",
      "tree": "518b47635c091814b35caf128f7be361c595aab1",
      "parents": [
        "e6d83d55698b73b4d5d55d3d7715a4c26030d577"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 13 21:20:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 07:57:18 2006 -0800"
      },
      "message": "[PATCH] NLM: Ensure we do not Oops in the case of an unlock\n\nIn theory, NLM specs assure us that the server will only reply LCK_GRANTED or\nLCK_DENIED_GRACE_PERIOD to our NLM_UNLOCK request.\n\nIn practice, we should not assume this to be the case, and the code will\ncurrently Oops if we do.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ac5f9d1ce8492163dbde5d357dc5d03becf7e36",
      "tree": "3ce7f36c074e37dd565b91490582c4a4902f2b18",
      "parents": [
        "7c8903f6373f9abecf060bad53ca36bc4ac037f2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Feb 14 13:53:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:34 2006 -0800"
      },
      "message": "[PATCH] NLM: Fix the NLM_GRANTED callback checks\n\nIf 2 threads attached to the same process are blocking on different locks on\ndifferent files (maybe even on different servers) but have the same lock\narguments (i.e.  same offset+length - actually quite common, since most\nprocesses try to lock the entire file) then the first GRANTED call that wakes\none up will also wake the other.\n\nCurrently when the NLM_GRANTED callback comes in, lockd walks the list of\nblocked locks in search of a match to the lock that the NLM server has\ngranted.  Although it checks the lock pid, start and end, it fails to check\nthe filehandle and the server address.\n\nBy checking the filehandle and server IP address, we ensure that this only\nhappens if the locks truly are referencing the same file.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aaaa99423b4b1f9cfd33ea5643d9274c25f62491",
      "tree": "dba6fb715156d9bc8fdf0ff57d9151e67fc1322c",
      "parents": [
        "16fb24252a8170799e7adf14d8fc31b817fcaf53"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "NLM: Ensure that nlmclnt_cancel_callback() doesn\u0027t loop forever\n\n If the server returns NLM_LCK_DENIED_NOLOCKS, we currently retry the\n entire NLM_CANCEL request. This may end up looping forever unless the\n server changes its mind (why would it do that, though?).\n\n Ensure that we limit the number of retries (to 3).\n\n See bug# 5957 in bugzilla.kernel.org.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16fb24252a8170799e7adf14d8fc31b817fcaf53",
      "tree": "25dee4880572810609ff9905707a75285dfe2770",
      "parents": [
        "3c3b809e256c417847f1a96b2f9d9f66c7fcb02c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "NLM: Fix arguments to NLM_CANCEL call\n\n The OpenGroup docs state that the arguments \"block\", \"exclusive\" and\n \"alock\" must exactly match the arguments for the lock call that we are\n trying to cancel.\n Currently, \"block\" is always set to false, which is wrong.\n\n See bug# 5956 on bugzilla.kernel.org.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a659753ecc66945e9c69823fcbbe222b446c66d7",
      "tree": "2f52a68f46f9ac73819fb8afa0c290ea85f3dc2f",
      "parents": [
        "64a318ee2af9000df482d7a125c3b3e1f1007404"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: fix parsing of sm notify procedure\n\n The procedure that decodes statd sm_notify call seems to be skipping a\n few arguments.  How did this ever work?\n\n \u003eFrom folks at Polyserve.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64a318ee2af9000df482d7a125c3b3e1f1007404",
      "tree": "7b39e558cccce484635dc847a016bbcb5e83abdb",
      "parents": [
        "2c5acd2e1a73cad59203a1bace21e6b03f2920a9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: Further cancel fixes\n\n If the server receives an NLM cancel call and finds no waiting lock to\n cancel, then chances are the lock has already been applied, and the client\n just hadn\u0027t yet processed the NLM granted callback before it sent the\n cancel.\n\n The Open Group text, for example, perimts a server to return either success\n (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error\n seems more helpful; the client may be able to use it to recognize that a\n race has occurred and to recover from the race.\n\n So, modify the relevant functions to return an error in this case.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c5acd2e1a73cad59203a1bace21e6b03f2920a9",
      "tree": "8fbd8725f4ca96c1d77d3c00a5756beaf5fa8abc",
      "parents": [
        "5996a298da43a03081e9ba2116983d173001c862"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:45 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: clean up nlmsvc_delete_block\n\n The fl_next check here is superfluous (and possibly a layering violation).\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5996a298da43a03081e9ba2116983d173001c862",
      "tree": "533a3289102051cc3e033eff5730301776e64d31",
      "parents": [
        "f232142cc21127c829559923eb405d1bcb2e2278"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:44 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "NLM: don\u0027t unlock on cancel requests\n\n Currently when lockd gets an NLM_CANCEL request, it also does an unlock for\n the same range.  This is incorrect.\n\n The Open Group documentation says that \"This procedure cancels an\n *outstanding* blocked lock request.\"  (Emphasis mine.)\n\n Also, consider a client that holds a lock on the first byte of a file, and\n requests a lock on the entire file.  If the client cancels that request\n (perhaps because the requesting process is signalled), the server shouldn\u0027t\n apply perform an unlock on the entire file, since that will also remove the\n previous lock that the client was already granted.\n\n Or consider a lock request that actually *downgraded* an exclusive lock to\n a shared lock.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f232142cc21127c829559923eb405d1bcb2e2278",
      "tree": "4ac11e21c008a26b6e9e5ad3ac4db8b2920534a9",
      "parents": [
        "fb459f45f7c7689714023d41b3dca999bb90a5d3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:42 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "NLM: Clean up nlmsvc_grant_reply locking\n\n Slightly simpler logic here makes it more trivial to verify that the up\u0027s\n and down\u0027s are balanced here.  Break out an assignment from a conditional\n while we\u0027re at it.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bd615797ef32ec06ef0ee44198a7aecc21ffd8c",
      "tree": "5ef07d09b9e3674dffce1a24dfb46e6d23410a72",
      "parents": [
        "fe650407a86823bcafbfbee96c7bc6a1b5cd1c76"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:19 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "SUNRPC: Ensure that SIGKILL will always terminate a synchronous RPC call.\n\n ...and make sure that the \"intr\" flag also enables SIGHUP and SIGTERM to\n interrupt RPC calls too (as per the Solaris implementation).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b5b1f5bf9dcdb6f23abf65977a675eb4deba3c0",
      "tree": "2f7f341d38d6a8ae71ff1fefa9e48a467b34f5a1",
      "parents": [
        "48e49187753ec3b4fa84a7165c9b7a59f3875b56"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 17:11:25 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 23:12:31 2005 -0500"
      },
      "message": "NLM: Fix Oops in nlmclnt_mark_reclaim()\n\n When mixing -olock and -onolock mounts on the same client, we have to\n check that fl-\u003efl_u.nfs_fl.owner is set before dereferencing it.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f99d49adf527fa6f7a9c42257fa76bca6b8df1e3",
      "tree": "41dddbc336016f9dc9557cdb15300de5e599dac1",
      "parents": [
        "6044ec8882c726e325017bd948aa0cd94ad33abc"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Nov 07 01:01:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] kfree cleanup: fs\n\nThis is the fs/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in fs/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bbacc402e67abca8794a8401c1621dc0c0202e9",
      "tree": "a0969978295b806b35c943eb16af34b1eacfa47a",
      "parents": [
        "c556b754967afd0878d65de2cfe0675577b0f62f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 16:53:32 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:48 2005 -0500"
      },
      "message": "NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled\n\n Fix some dprintk\u0027s so that NLM, NFS client, and RPC client compile\n cleanly if CONFIG_SYSCTL is disabled.\n\n Test plan:\n Compile kernel with CONFIG_NFS enabled and CONFIG_SYSCTL disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed63c003701a314c4893c11eceb9d68f8f46c662",
      "tree": "c0567884d9cce53960061fece0ae9c2eabd0af77",
      "parents": [
        "a58dd398f5db4f73d5c581069fd70a4304cc4f0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:47 2005 -0400"
      },
      "message": "[PATCH] RPC: remove xprt-\u003enocong\n\n Get rid of the \"xprt-\u003enocong\" variable.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss with UDP mounts.\n Look for significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43118c29dea2b23798bd42a147015cceee7fa885",
      "tree": "4951a6777a3dc167d46c1373c02d21912b250e96",
      "parents": [
        "808012fbb23a52ec59352445d2076d175ad4ab26"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:35 2005 -0400"
      },
      "message": "[PATCH] RPC: get rid of xprt-\u003estream\n\n Now we can fix up the last few places that use the \"xprt-\u003estream\"\n variable, and get rid of it from the rpc_xprt structure.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "041e0e3b1970c508dc9a95b7dd9dc86271a7d7ac",
      "tree": "41ff880a87412cf55eb12425e916fda57955ee5c",
      "parents": [
        "373016e9e1353f2af871993d27d00768f08cc883"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Sat Sep 10 00:27:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:36 2005 -0700"
      },
      "message": "[PATCH] fs: fix-up schedule_timeout() usage\n\nUse schedule_timeout_{,un}interruptible() instead of\nset_current_state()/schedule_timeout() to reduce kernel size.  Also use helper\nfunctions to convert between human time units and jiffies rather than constant\nHZ division to avoid rounding errors.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ee91ec14bd4def036b4084da29869382078e44b",
      "tree": "5d4a99f6c0255184328c47f33258088b2ef0f8b1",
      "parents": [
        "068e1b94bbd268f375349f68531829c8b7c210bc"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Wed Jul 13 01:10:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 13 11:25:24 2005 -0700"
      },
      "message": "[PATCH] NFS: procfs/sysctl interfaces for lockd do not work on x86_64\n\nAllow the setting of NLM timeouts and grace periods through the proc and\nsysclt interfaces on x86_64 architectures\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46be925fa6f4796e732e16a020fa0ef9d48ea7c8",
      "tree": "7a2dddced28ad3382f41af54d0f311e9da593770",
      "parents": [
        "13cd21845d6a9729ca95e36ae6e8c669623fbfd4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: lockd: flush signals on shutdown\n\nSilence another annoying \"failed to contact portmap (errno -512)\" on shutdown.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ecdbf769b2cb8903e07cd482334c714d89fd1146",
      "tree": "9d02ce4daee662c2711762564662cebc521e3da3",
      "parents": [
        "4f15e2b1f4f3a56e46201714b39436c32218d547"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:31 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:42 2005 -0400"
      },
      "message": "[PATCH] NLM: fix a client-side race on blocking locks.\n\n If the lock blocks, the server may send us a GRANTED message that\n races with the reply to our LOCK request. Make sure that we catch\n the GRANTED by queueing up our request on the nlm_blocked list\n before we send off the first LOCK rpc call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f15e2b1f4f3a56e46201714b39436c32218d547",
      "tree": "db694827826cc80b27958f8b6eda99be44953a2c",
      "parents": [
        "80fec4c62e2cf544ac26e53f3e0d2f73df6820b9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:31 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:41 2005 -0400"
      },
      "message": "[PATCH] NLM: cleanup for blocked locks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5ee0ed7d3ab620a764740fb018f469d45f561931",
      "tree": "9b6a938fe521815afd3cfb42e2023b443bb05d28",
      "parents": [
        "5b616f5d596c0b056129f8aeafbc08409b3cd050"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:04 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() probe server for RPC program+version support\n\n Ensure that we don\u0027t create an RPC client without checking that the server\n does indeed support the RPC program + version that we are trying to set up.\n\n This enables us to immediately return an error to \"mount\" if it turns out\n that the server is only supporting NFSv2, when we requested NFSv3 or NFSv4.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b616f5d596c0b056129f8aeafbc08409b3cd050",
      "tree": "bdbd2eb5bd1f8a26c7287e21be25ec50db075459",
      "parents": [
        "334ccfd545bba9690515f2c5c167d5adb161989b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:03 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() destroy the transport on failure.\n\n This saves us a couple of lines of cleanup code for each call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
