)]}'
{
  "log": [
    {
      "commit": "f4373bf9e67e4a653c8854acd7b02dac9714c98a",
      "tree": "d0371ed7638c0939550a2a43aef5b384d2e96b48",
      "parents": [
        "bcd2ea17da6a329a7276cde7286d802f009af332"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "message": "nfs: Avoid overrun when copying client IP address string\n\nAs seen in \u003chttp://bugs.debian.org/549002\u003e, nfs4_init_client() can\noverrun the source string when copying the client IP address from\nnfs_parsed_mount_data::client_address to nfs_client::cl_ipaddr.  Since\nthese are both treated as null-terminated strings elsewhere, the copy\nshould be done with strlcpy() not memcpy().\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2df54806389205d76bc3d1ce8a10cc14889ddec9",
      "tree": "7c1c170e39d50dd105792e25522e249ea371758e",
      "parents": [
        "4111d4fde6aa04a2e42c43d0e74593e6144b0f0f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 23 14:36:39 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:39 2009 -0400"
      },
      "message": "NFS: Propagate \u0027fsc\u0027 mount option through automounts\n\nPropagate the NFS \u0027fsc\u0027 mount option through NFS automounts of various types.\n\nThis is now required as commit:\n\n\tcommit c02d7adf8c5429727a98bad1d039bccad4c61c50\n\tAuthor: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\tDate:   Mon Jun 22 15:09:14 2009 -0400\n\n\tNFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace\n\nuses VFS-driven automounting to reach all submounts barring the root, thus\npreventing fscaching from being enabled on any submount other than the root.\n\nThis patch gets around that by propagating the NFS_OPTION_FSCACHE flag across\nautomounts.  If a uniquifier is supplied to a mount then this is propagated to\nall automounts of that mount too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n[Trond: Fixed up the definition of nfs_fscache_get_super_cookie for the\n        case of #undef CONFIG_NFS_FSCACHE]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a6e5deb8a8caa810fef2c525f5dbea2cfe04a47",
      "tree": "92e7e049e87955770eb3cddc495e1e0119402b85",
      "parents": [
        "7043078630bbc9eb908a56e08077c5abe7f2d311"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "message": "NFS: Get rid of the NFS_MOUNT_VER3 and NFS_MOUNT_TCP flags\n\nKeep it in the case of the legacy binary mount interface, but purge it from\nthe nfs_server structure.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48d0764998ad4ab7570afab8bb3bee0fbfa55b2a",
      "tree": "7ad93edfbba609f7f7a730d66d47950630e203d3",
      "parents": [
        "87c6a9b253520b66e7f5e8f67a37a701eaa51cee"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 21 09:59:39 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 21 15:40:33 2009 +0200"
      },
      "message": "nfs: initialize the backing_dev_info when creating the server\n\nNFS may free the server structure without ever having used the\nbdi, so we either need to flag the bdi as being uninitialized or\ninitialize it up front. This does the latter.\n\nThis fixes a crash with mounting more than one NFS file system,\nshould people ever need that kind of obscure NFS functionality.\n\nTested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ab3bbaa8b257845e248e9a01d12a69ca245f4197",
      "tree": "f3054be9bd612194826ed6969d01346d329c3306",
      "parents": [
        "332a3392188e0ad966543c87b8da2b9d246f301d",
        "2ecda72b49a0849ce41e7fa1fa974a245b9119f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027\n"
    },
    {
      "commit": "d993831fa7ffeb89e994f046f93eeb09ec91df08",
      "tree": "da4f94bbf022c83988bda71adf1f1b3a88cb4592",
      "parents": [
        "f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:45:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 09:20:26 2009 +0200"
      },
      "message": "writeback: add name to backing_dev_info\n\nThis enables us to track who does what and print info. Its main use\nis catching dirty inodes on the default_backing_dev_info, so we can\nfix that up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e576e05a73bc1a00cdf56630942dbada1bf280a1",
      "tree": "d32f477a91b01bcdbccc272be2ebaaef287421bb",
      "parents": [
        "38c73044f5f4da2ef4339319b170e5e19f8dec87"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Aug 10 08:54:16 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 08:54:16 2009 -0400"
      },
      "message": "nfs: remove superfluous BUG_ON()s\nSubject: [PATCH] nfs: remove superfluous BUG_ON()s\n\nRemove duplicated BUG_ON()s from nfs[4]_create_server()\n(we make the same checks earlier in both functions).\n\nThis takes care of the following entries from Dan\u0027s list:\n\nfs/nfs/client.c +1078 nfs_create_server(47) warning: variable derefenced before check \u0027server-\u003enfs_client\u0027\nfs/nfs/client.c +1079 nfs_create_server(48) warning: variable derefenced before check \u0027server-\u003enfs_client-\u003erpc_ops\u0027\nfs/nfs/client.c +1363 nfs4_create_server(43) warning: variable derefenced before check \u0027server-\u003enfs_client\u0027\nfs/nfs/client.c +1364 nfs4_create_server(44) warning: variable derefenced before check \u0027server-\u003enfs_\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: corbet@lwn.net\nCc: eteo@redhat.com\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62ab460cf5e450e1d207a98a9c6cf2e4a6a78fd1",
      "tree": "595ca70261f46b93bda1998285e5f5c7da684cbc",
      "parents": [
        "a78cb57a106fceeba26da2907db9d8886700e1dc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:06:19 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:06:19 2009 -0400"
      },
      "message": "NFSv4: Add \u0027server capability\u0027 flags for NFSv4 recommended attributes\n\nIf the NFSv4 server doesn\u0027t support a POSIX attribute, the generic NFS code\nneeds to know that, so that it don\u0027t keep trying to poll for it.\n\nHowever, by the same count, if the NFSv4 server does support that\nattribute, then we should ensure that the inode metadata is appropriately\nlabelled as being untrusted. For instance, if we don\u0027t know the correct\nvalue of the file\u0027s uid, we should certainly not be caching ACLs or ACCESS\nresults.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fccba8045537f7e840d0e7565e1989d465e488a3",
      "tree": "89d80da7e017240e5a1d20c79501459c886fd007",
      "parents": [
        "b64aec8d1e1d8482a7b6cca60c8105c756bf1fe4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 21 16:48:07 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 21 16:48:07 2009 -0400"
      },
      "message": "NFSv4: Fix an NFSv4 mount regression\n\nCommit 008f55d0e019943323c20a03493a2ba5672a4cc8 (nfs41: recover lease in\n_nfs4_lookup_root) forces the state manager to always run on mount. This is\na bug in the case of NFSv4.0, which doesn\u0027t require us to send a\nsetclientid until we want to grab file state.\n\nIn any case, this is completely the wrong place to be doing state\nmanagement. Moving that code into nfs4_init_session...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81",
      "tree": "143956f878290e85de7c9130f465e862f587ee53",
      "parents": [
        "301933a0acfdec837fd8b4884093b3f0fff01d8a",
        "4bf259e3ae5015e73282ba66716c4a917e1264ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:13:00 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 18 18:13:44 2009 -0700"
      },
      "message": "Merge branch \u0027devel-for-2.6.31\u0027 into for-2.6.31\n\nConflicts:\n\tfs/nfs/client.c\n\tfs/nfs/super.c\n"
    },
    {
      "commit": "a21bdd9b960ccce421b63aa0e3efda4fcdc26f10",
      "tree": "5ce808e08fb64140389aa96e2940f1c53468dd12",
      "parents": [
        "c381ad2cf2d5dcd3991bcc8a18fddd9d5c66ccaa"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "message": "NFS: Return error code from nfs_callback_up() to user space\n\nIf the kernel cannot start the NFSv4 callback service during a mount\nrequest, it returns -ENOMEM to user space, resulting in this message:\n\n   mount.nfs4: Cannot allocate memory\n\nAdjust nfs_alloc_client() and nfs_get_client() to pass NFSv4 callback\nstart-up errors back to user space so a less mysterious error message\ncan be displayed by the mount command.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b5b7ae0a853c91015bb3b1729166ca65f693322",
      "tree": "0a2cce02b1446d63dc87f74bce84e6b5787f69bf",
      "parents": [
        "e82dc22dac6525a2f365a1d53c0483252d4aa38e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Setup the backchannel\n\nThe NFS v4.1 callback service has already been setup, and\nrpc_xprt-\u003eserv points to the svc_serv structure describing it.\nInvoke the xprt_setup_backchannel() initialization to pre-\nallocate the necessary backchannel structures.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: change nfs4_put_session(nfs4_session**) to nfs4_destroy_session(nfs_session*)]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved xprt_setup_backchannel from nfs4_init_session to nfs4_init_backchannel]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e82dc22dac6525a2f365a1d53c0483252d4aa38e",
      "tree": "1a347b34c955db77017a5df533fc1798f164e768",
      "parents": [
        "8f975242352e92898dc641ebff0d24808f39848a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:14 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist\n\nTracks the nfs_callback_info for both versions, enabling the callback\nservice for v4 and v4.1 to run concurrently and be stopped independently\nof each other.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7146851376861fe55c7a48ac8fc1354a5fff6cd0",
      "tree": "44c9a7427a3f1cea41c15a07d2aa63bbdeaf8936",
      "parents": [
        "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:56 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:01 2009 -0700"
      },
      "message": "nfs41: minorversion support for nfs4_{init,destroy}_callback\n\nmove nfs4_init_callback into nfs4_init_client_minor_version\nand nfs4_destroy_callback into nfs4_clear_client_minor_version\n\nas these need to happen also when auto-negotiating the minorversion\nonce the callback service for nfs41 becomes different than for nfs4.0\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix checkpatch warning]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Type check arguments of nfs_callback_up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: Remove FIXME comment]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad",
      "tree": "d12e23a15e86b929e3840116741696765000a6b4",
      "parents": [
        "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:55 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:47 2009 -0700"
      },
      "message": "nfs41: Refactor nfs4_{init,destroy}_callback for nfs4.0\n\nRefactor-out code to bring the callback service up and down.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "008f55d0e019943323c20a03493a2ba5672a4cc8",
      "tree": "9d23ac89a198b307fa39018a228bd365e72a40d2",
      "parents": [
        "b4b82607ffcf09b57301846d154f2c09c0b807c0"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:50 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:13 2009 -0700"
      },
      "message": "nfs41: recover lease in _nfs4_lookup_root\n\nThis creates the nfsv4.1 session on mount.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "76db6d9500caeaa774a3e32a997eba30bbdc176b",
      "tree": "f1c1c2647ecb67dd519d00938be07f360d7680b1",
      "parents": [
        "ac72b7b3b3263ce64d55094eac1d1bde5f34e64a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:38 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:06 2009 -0700"
      },
      "message": "nfs41: add session setup to the state manager\n\nAt mount, nfs_alloc_client sets the cl_state NFS4CLNT_LEASE_EXPIRED bit\nand nfs4_alloc_session sets the NFS4CLNT_SESSION_SETUP bit, so both bits are\nset when nfs4_lookup_root calls nfs4_recover_expired_lease which schedules\nthe nfs4_state_manager and waits for it to complete.\n\nPlace the session setup after the clientid establishment in nfs4_state_manager\nso that the session is setup right after the clientid has been established\nwithout rescheduling the state manager.\n\nUnlike nfsv4.0, the nfs_client struct is not ready to use until the session\nhas been established.  Postpone marking the nfs_client struct to NFS_CS_READY\nuntil after a successful CREATE_SESSION call so that other threads cannot use\nthe client until the session is established.\n\nIf the EXCHANGE_ID call fails and the session has not been setup (the\nNFS4CLNT_SESSION_SETUP bit is set), mark the client with the error and return.\n\nIf the session setup CREATE_SESSION call fails with NFS4ERR_STALE_CLIENTID\nwhich could occur due to server reboot or network partition inbetween the\nEXCHANGE_ID and CREATE_SESSION call, reset the NFS4CLNT_LEASE_EXPIRED and\nNFS4CLNT_SESSION_SETUP bits and try again.\n\nIf the CREATE_SESSION call fails with other errors, mark the client with\nthe error and return.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: NFS_CS_SESSION_SETUP cl_cons_state for back channel setup]\n  On session setup, the CREATE_SESSION reply races with the server back channel\n  probe which needs to succeed to setup the back channel. Set a new\n  cl_cons_state NFS_CS_SESSION_SETUP just prior to the CREATE_SESSION call\n  and add it as a valid state to nfs_find_client so that the client back channel\n  can find the nfs_client struct and won\u0027t drop the server backchannel probe.\n  Use a new cl_cons_state so that NFSv4.0 back channel behaviour which only\n  sets NFS_CS_READY is unchanged.\n  Adjust waiting on the nfs_client_active_wq accordingly.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: rename NFS_CS_SESSION_SETUP to NFS_CS_SESSION_INITING]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: set NFS_CL_SESSION_INITING in alloc_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: move session setup into a function]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs4_proc_create_session declaration here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96b09e024fedf0a6604c8c688a3994d5ed991434",
      "tree": "850daa16069a9d1729c53b26f27926f3e90a9da3",
      "parents": [
        "8d35301d7db4165f2430c428865f7b0add47615d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:33 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:53 2009 -0700"
      },
      "message": "nfs41: use session attributes for rsize and wsize\n\nSet the mount points rsize and wsize to the negotiated session fore channel\nmaximum response and requeset size. These values will be bound checked in\nnfs_server_set_fsinfo.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move nfs4_session_set_rwsize into CONFIG_NFS_V4]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cccef3b96a4759ae0790452280c00ea505412157",
      "tree": "26e4f93653a5c980cf8bb585d6fc05817a23f4be",
      "parents": [
        "22958463d5dca8548e19430779f379e66fd6e4a4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:28 2009 -0700"
      },
      "message": "nfs41: introduce nfs4_call_sync\n\nUse nfs4_call_sync rather than rpc_call_sync to provide\nfor a nfs41 sessions-enabled interface for sessions manipulation.\n\nThe nfs41 rpc logic uses the rpc_call_prepare method to\nrecover and create the session, as well as selecting a free slot id\nand the rpc_call_done to free the slot and update slot table\nrelated metadata.\n\nIn the coming patches we\u0027ll add rpc prepare and done routines\nfor setting up the sequence op and processing the sequence result.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_call_sync]\nAs per 11-14-08 review.\nSquash into \"nfs41: introduce nfs4_call_sync\" and \"nfs41: nfs4_setup_sequence\"\nDefine two functions one for v4 and one for v41\nadd a pointer to struct nfs4_client to the correct one.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[added BUG() in _nfs4_call_sync_session if !CONFIG_NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[group minorversion specific stuff together]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: fixup nfs4_clear_client_minor_version]\n[introduce nfs4_init_client_minor_version() in this patch]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[cleaned-up patch: got rid of nfs_call_sync_t, dprintks, cosmetics, extra server defs]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "557134a39c8d2ab79d8b8d53438e03e29feb5ec4",
      "tree": "3f6999d9601618102413fd535ff95f9be0babd85",
      "parents": [
        "9ff71c3a9827b99699510076dffa0bbe7c36bfd4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:21:53 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:19 2009 -0700"
      },
      "message": "nfs41: sessions client infrastructure\n\nNFSv4.1 Sessions basic data types, initialization, and destruction.\n\nThe session is always associated with a struct nfs_client that holds\nthe exchange_id results.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[remove extraneous rpc_clnt pointer, use the struct nfs_client cl_rpcclient.\nremove the rpc_clnt parameter from nfs4 nfs4_init_session]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Use the presence of a session to determine behaviour instead of the\nminorversion number.]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[constified nfs4_has_session\u0027s struct nfs_client parameter]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Rename nfs4_put_session() to nfs4_destroy_session() and call it from nfs4_free_client() not nfs4_free_server().\nAlso get rid of nfs4_get_session() and the ref_count in nfs4_session struct as keeping track of nfs_client should be sufficient]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\n[nfs41: pass rsize and wsize into nfs4_init_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[separated out removal of rpc_clnt parameter from nfs4_init_session ot a\n patch of its own]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Pass the nfs_client pointer into nfs4_alloc_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: don\u0027t assign to session-\u003eclp-\u003ecl_session in nfs4_destroy_session]\n[nfs41: fixup nfs4_clear_client_minor_version]\n[introduce nfs4_clear_client_minor_version() in this patch]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Refactor nfs4_init_session]\n    Moved session allocation into nfs4_init_client_minor_version, called from\n    nfs4_init_client.\n    Leave rwise and wsize initialization in nfs4_init_session, called from\n    nfs4_init_server.\n    Reverted moving of nfs_fsid definition to nfs_fs_sb.h\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Move NFS4_MAX_SLOT_TABLE define from under CONFIG_NFS_V4_1]\n[Fix comile error when CONFIG_NFS_V4_1 is not set.]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs4_init_slot_table definition to \"create_session operation\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: alloc session with GFP_KERNEL]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5aae4a9ae0dd55409a42ca61b82ef1f5a840091e",
      "tree": "cb8c3b13ffd63304ebf6c3392e5aee664d463d25",
      "parents": [
        "94a417f3d7a02478a2d7842e693a61339fb54ea4"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:50 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:17 2009 -0700"
      },
      "message": "nfs41: Use mount minorversion option\n\nUse the mount minorversion option to initialize the nfs_client cl_minorversion\nand match it in nfs_match_client() when looking up a nfs_client.\n\n[nfs41: remove ifdefs around nfs_client_initdata.minorversion]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "94a417f3d7a02478a2d7842e693a61339fb54ea4",
      "tree": "c7e64771efb434b24416da3a255730eb19475a0b",
      "parents": [
        "3fd5be9e19921a89d9ed78d6a708a379a6c3c76a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:49 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:16 2009 -0700"
      },
      "message": "nfs41: nfs_client.cl_minorversion\n\nThis field is set to the nfsv4 minor version for this mount.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\nNote: This patch sets the referral to the same minorversion as the\ncurrent mount. Revisit in future patch.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[removed cl_minorversion assignment in nfs_set_client]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[always define nfs_client.cl_minorversion]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b797cac7487dee6bfddeb161631c1bbc54fa3cdb",
      "tree": "daf0770b33d5705d527e34193480f7eeae58a326",
      "parents": [
        "5d1acff159730770cbab68b19443518c92ab1000"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:48 2009 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:48 2009 +0100"
      },
      "message": "NFS: Add mount options to enable local caching on NFS\n\nAdd NFS mount options to allow the local caching support to be enabled.\n\nThe attached patch makes it possible for the NFS filesystem to be told to make\nuse of the network filesystem local caching service (FS-Cache).\n\nTo be able to use this, a recent nfsutils package is required.\n\nThere are three variant NFS mount options that can be added to a mount command\nto control caching for a mount.  Only the last one specified takes effect:\n\n (*) Adding \"fsc\" will request caching.\n\n (*) Adding \"fsc\u003d\u003cstring\u003e\" will request caching and also specify a uniquifier.\n\n (*) Adding \"nofsc\" will disable caching.\n\nFor example:\n\n\tmount warthog:/ /a -o fsc\n\nThe cache of a particular superblock (NFS FSID) will be shared between all\nmounts of that volume, provided they have the same connection parameters and\nare not marked \u0027nosharecache\u0027.\n\nWhere it is otherwise impossible to distinguish superblocks because all the\nparameters are identical, but the \u0027nosharecache\u0027 option is supplied, a\nuniquifying string must be supplied, else only the first mount will be\npermitted to use the cache.\n\nIf there\u0027s a key collision, then the second mount will disable caching and give\na warning into the kernel log.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Daire Byrne \u003cDaire.Byrne@framestore.com\u003e\n"
    },
    {
      "commit": "5d1acff159730770cbab68b19443518c92ab1000",
      "tree": "71969ce63215ffb636aa539ab049b71eac43da0d",
      "parents": [
        "7f8e05f60c87646e12c761fef61dd71a7e67112e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:47 2009 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:47 2009 +0100"
      },
      "message": "NFS: Display local caching state\n\nDisplay the local caching state in /proc/fs/nfsfs/volumes.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Daire Byrne \u003cDaire.Byrne@framestore.com\u003e\n"
    },
    {
      "commit": "147272813e043fb44bd112527951da70c1e663de",
      "tree": "4b67df2bb809c7b661e7c6f4b1692ab8af41a996",
      "parents": [
        "8ec442ae4c6577ed181682e534d4eef524e30b3c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:42 2009 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:42 2009 +0100"
      },
      "message": "NFS: Define and create server-level objects\n\nDefine and create server-level cache index objects (as managed by nfs_client\nstructs).\n\nEach server object is created in the NFS top-level index object and is itself\nan index into which superblock-level objects are inserted.\n\nIdeally there would be one superblock-level object per server, and the former\nwould be folded into the latter; however, since the \"nosharecache\" option\nexists this isn\u0027t possible.\n\nThe server object key is a sequence consisting of:\n\n (1) NFS version\n\n (2) Server address family (eg: AF_INET or AF_INET6)\n\n (3) Server port.\n\n (4) Server IP address.\n\nThe key blob is of variable length, depending on the length of (4).\n\nThe server object is given no coherency data to carry in the auxiliary data\npermitted by the cache.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Daire Byrne \u003cDaire.Byrne@framestore.com\u003e\n"
    },
    {
      "commit": "cc85906110e26fe8537c3bdbc08a74ae8110030b",
      "tree": "891813098ede3dba4d5ff3b83b1f7b491367ad2f",
      "parents": [
        "c09bca786ff941ed17c5f381c4eca5b106808c51",
        "c69da774b28e01e062e0a3aba7509f2dcfd2a11a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "message": "Merge branch \u0027devel\u0027 into for-linus\n"
    },
    {
      "commit": "99b76233803beab302123d243eea9e41149804f3",
      "tree": "398178210fe66845ccd6fa4258ba762a87e023ad",
      "parents": [
        "3dec7f59c370c7b58184d63293c3dc984d475840"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 25 22:48:06 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 31 01:14:44 2009 +0400"
      },
      "message": "proc 2/2: remove struct proc_dir_entry::owner\n\nSetting -\u003eowner as done currently (pde-\u003eowner \u003d THIS_MODULE) is racy\nas correctly noted at bug #12454. Someone can lookup entry with NULL\n-\u003eowner, thus not pinning enything, and release it later resulting\nin module refcount underflow.\n\nWe can keep -\u003eowner and supply it at registration time like -\u003eproc_fops\nand -\u003edata.\n\nBut this leaves -\u003eowner as easy-manipulative field (just one C assignment)\nand somebody will forget to unpin previous/pin current module when\nswitching -\u003eowner. -\u003eproc_fops is declared as \"const\" which should give\nsome thoughts.\n\n-\u003eread_proc/-\u003ewrite_proc were just fixed to not require -\u003eowner for\nprotection.\n\nrmmod\u0027ed directories will be empty and return \".\" and \"..\" -- no harm.\nAnd directories with tricky enough readdir and lookup shouldn\u0027t be modular.\nWe definitely don\u0027t want such modular code.\n\nRemoving -\u003eowner will also make PDE smaller.\n\nSo, let\u0027s nuke it.\n\nKudos to Jeff Layton for reminding about this, let\u0027s say, oversight.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12454\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "3c8c45dfab78a1919f6f8a3ea46998c487eb7e12",
      "tree": "532baa9e2ca4a11dcf36bf7542b92e30f8908011",
      "parents": [
        "d188262d60e879800d3a0a768ecbb216d6ef0d40"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:48:14 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 16:51:04 2009 -0400"
      },
      "message": "NFS: Simplify logic to compare socket addresses in client.c\n\nCallback requests from IPv4 servers are now always guaranteed to be\nAF_INET, and never mapped IPv4 AF_INET6 addresses.  Both\nnfs_match_client() and nfs_find_client() can now share the same\naddress comparison logic, so fold them together.\n\nWe can also dispense with of most of the conditional compilation\nin here.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f4c899c0d90e1b51b6864834f3877b47c161a0e",
      "tree": "862f6b59919392fbf7a82200a7c478b51defeaa9",
      "parents": [
        "01d37c428ae080563c0a3bb8bdfa88c65a6891d3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "message": "NFS: Fix the fix to Bugzilla #11061, when IPv6 isn\u0027t defined...\n\nStephen Rothwell reports:\n\nToday\u0027s linux-next build (powerpc ppc64_defconfig) failed like this:\n\nfs/built-in.o: In function `.nfs_get_client\u0027:\nclient.c:(.text+0x115010): undefined reference to `.__ipv6_addr_type\u0027\n\nFix by moving the IPV6 specific parts of commit\nd7371c41b0cda782256b1df759df4e8d4724584c (\"Bug 11061, NFS mounts dropped\")\ninto the \u0027#ifdef IPV6...\" section.\n\nAlso fix up a couple of formatting issues.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d7371c41b0cda782256b1df759df4e8d4724584c",
      "tree": "c5807f0cb163db7bb4a03cdd6c986d8fa40545e0",
      "parents": [
        "a71ee337b31271e701f689d544b6153b75609bc5"
      ],
      "author": {
        "name": "Ian Dall",
        "email": "ian@beware.dropbear.id.au",
        "time": "Tue Mar 10 20:33:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 10 20:33:22 2009 -0400"
      },
      "message": "Bug 11061, NFS mounts dropped\n\nAddresses: http://bugzilla.kernel.org/show_bug.cgi?id\u003d11061\n\nsockaddr structures can\u0027t be reliably compared using memcmp() because\nthere are padding bytes in the structure which can\u0027t be guaranteed to\nbe the same even when the sockaddr structures refer to the same\nsocket. Instead compare all the relevant fields. In the case of IPv6\nsin6_flowinfo is not compared because it only affects QoS and\nsin6_scope_id is only compared if the address is \"link local\" because\n\"link local\" addresses need only be unique to a specific link.\n\nSigned-off-by: Ian Dall \u003cian@beware.dropbear.id.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9082a5cc1e33d081f091f54e6ed69a0628a4bdcc",
      "tree": "faf4be402e80546c55f721f87ea363cc4881d5a5",
      "parents": [
        "b7391f44f26b17ad25c7183a3d6ad50f0a9305ff"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:53 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:53 2008 -0500"
      },
      "message": "NFSv4: Fix up delegation callbacks\n\nCurrently, the callback server is listening on IPv6 if it is enabled. This\nmeans that IPv4 addresses will always be mapped.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "95d35cb4c473c754824967c0b069bbeb7efa4847",
      "tree": "bd46a5b0e4d35f9256cf44ca2706493fc3dd2819",
      "parents": [
        "19e03c570e6099ffaf24e5628d4fe1a8acbe820d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:45 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:45 2008 -0500"
      },
      "message": "NFSv4: Remove nfs_client-\u003ecl_sem\n\nNow that we\u0027re using the flags to indicate state that needs to be\nrecovered, as well as having implemented proper refcounting and spinlocking\non the state and open_owners, we can get rid of nfs_client-\u003ecl_sem. The\nonly remaining case that was dubious was the file locking, and that case is\nnow covered by the nfsi-\u003erwsem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0cb2659b818eca99235e17c04291cfa9985c14f7",
      "tree": "48fc176e1e1e8a6f771e664799c26df1d72e9f69",
      "parents": [
        "50a737f86dbf99daf3a8dcbdf778a3be36bb2a39"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 23 15:21:38 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:38 2008 -0500"
      },
      "message": "NLM: allow lockd requests from an unprivileged port\n\nIf the admin has specified the \"noresvport\" option for an NFS mount\npoint, the kernel\u0027s NFS client uses an unprivileged source port for\nthe main NFS transport.  The kernel\u0027s lockd client should use an\nunprivileged port in this case as well.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d740351bf0960e89ce1aef45cfe00167cb0f9e5b",
      "tree": "9b0838d5105942d0b061c26cad68aa0380a3ce7c",
      "parents": [
        "542fcc334adfea36d407cbf698d549fcb2bf6b91"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 23 15:21:37 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:37 2008 -0500"
      },
      "message": "NFS: add \"[no]resvport\" mount option\n\nThe standard default security setting for NFS is AUTH_SYS.  An NFS\nclient connects to NFS servers via a privileged source port and a\nfixed standard destination port (2049).  The client sends raw uid and\ngid numbers to identify users making NFS requests, and the server\nassumes an appropriate authority on the client has vetted these\nvalues because the source port is privileged.\n\nOn Linux, by default in-kernel RPC services use a privileged port in\nthe range between 650 and 1023 to avoid using source ports of well-\nknown IP services.  Using such a small range limits the number of NFS\nmount points and the number of unique NFS servers to which a client\ncan connect concurrently.\n\nAn NFS client can use unprivileged source ports to expand the range of\nsource port numbers, allowing more concurrent server connections and\nmore NFS mount points.  Servers must explicitly allow NFS connections\nfrom unprivileged ports for this to work.\n\nIn the past, bumping the value of the sunrpc.max_resvport sysctl on\nthe client would permit the NFS client to use unprivileged ports.\nBumping this setting also changes the maximum port number used by\nother in-kernel RPC services, some of which still required a port\nnumber less than 1023.\n\nThis is exacerbated by the way source port numbers are chosen by the\nLinux RPC client, which starts at the top of the range and works\ndownwards.  It means that bumping the maximum means all RPC services\nrequesting a source port will likely get an unprivileged port instead\nof a privileged one.\n\nChanging this setting effects all NFS mount points on a client.  A\nsysadmin could not selectively choose which mount points would use\nnon-privileged ports and which could not.\n\nLastly, this mechanism of expanding the limit on the number of NFS\nmount points was entirely undocumented.\n\nTo address the need for the NFS client to use a large range of source\nports without interfering with the activity of other in-kernel RPC\nservices, we introduce a new NFS mount option.  This option explicitly\ntells only the NFS client to use a non-privileged source port when\ncommunicating with the NFS server for one specific mount point.\n\nThis new mount option is called \"resvport,\" like the similar NFS mount\noption on FreeBSD and Mac OS X.  A sister patch for nfs-utils will be\nsubmitted that documents this new option in nfs(5).\n\nThe default setting for this new mount option requires the NFS client\nto use a privileged port, as before.  Explicitly specifying the\n\"noresvport\" mount option allows the NFS client to use an unprivileged\nsource port for this mount point when connecting to the NFS server\nport.\n\nThis mount option is supported only for text-based NFS mounts.\n\n[ Sidebar: it is widely known that security mechanisms based on the\n  use of privileged source ports are ineffective.  However, the NFS\n  client can combine the use of unprivileged ports with the use of\n  secure authentication mechanisms, such as Kerberos.  This allows a\n  large number of connections and mount points while ensuring a useful\n  level of security.\n\n  Eventually we may change the default setting for this option\n  depending on the security flavor used for the mount.  For example,\n  if the mount is using only AUTH_SYS, then the default setting will\n  be \"resvport;\" if the mount is using a strong security flavor such\n  as krb5, the default setting will be \"noresvport.\" ]\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n[Trond.Myklebust@netapp.com: Fixed a bug whereby nfs4_init_client()\nwas being called with incorrect arguments.]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "542fcc334adfea36d407cbf698d549fcb2bf6b91",
      "tree": "353198c6639f7350d014cde23f495f2bf2b13aed",
      "parents": [
        "4a01b8a4ee7b12becd26a49bae57f019605658cd"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 23 15:21:36 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:36 2008 -0500"
      },
      "message": "NFS: move nfs_server flag initialization\n\nMake it possible for the NFSv4 mount set up logic to pass mount option\nflags down the stack to nfs_create_rpc_client().\n\nThis is immediately useful if we want NFS mount options to modulate\nsettings of the underlying RPC transport, but it may be useful at some\nlater point if other parts of the NFSv4 mount initialization logic\nwant to know what the mount options are.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a01b8a4ee7b12becd26a49bae57f019605658cd",
      "tree": "5d9c94bf7ef158d0514da3cc5b495c3fa7f8ffab",
      "parents": [
        "c5d120f8e8b464368a7dcb038dc5c077d234d10a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 23 15:21:35 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:35 2008 -0500"
      },
      "message": "NFS: expand flags passed to nfs_create_rpc_client()\n\nThe nfs_create_rpc_client() function sets up an RPC client for an NFS\nmount point.  Add an option that allows it to set up an RPC transport\nfrom an unprivileged port.\n\nInstead of having nfs_create_rpc_client()\u0027s callers retain local\nknowledge about how to set up an RPC client, create a couple of flag\narguments to control the use of RPC_CLNT_CREATE flags.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff3525a539f5cc81970d08304bdedb4ffba984da",
      "tree": "ec1595221de085b7f9527ad99652ca51ed3f9512",
      "parents": [
        "4eec952e42314b53e48fef1f54dd89cbf9789734"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 15 16:59:14 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 17:23:56 2008 -0400"
      },
      "message": "NFS: Don\u0027t apply NFS_MOUNT_FLAGMASK to text-based mounts\n\nThe point of introducing text-based mounts was to allow us to add\nfunctionality without having to worry about legacy binary mount formats.\nThe mask should be there in order to ensure that binary formats don\u0027t start\nenabling features that they cannot support. There is no justification for\napplying it to the text mount path.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1daef0a868370c5a96d031b9202e3354bea060e6",
      "tree": "a072a8486c67f3d26b576e5bace8aa45def2d328",
      "parents": [
        "d5e66348bbe39dc78509e7561f7252aa443df8c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 27 18:19:01 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 06 20:08:26 2008 -0400"
      },
      "message": "NFS: Clean up nfs_sb_active/nfs_sb_deactive\n\nInstead of causing umount requests to block on server-\u003eactive_wq while the\nasynchronous sillyrename deletes are executing, we can use the sb-\u003es_active\ncounter to obtain a reference to the super_block, and then release that\nreference in nfs_async_unlink_release().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "259875efed06d6936f54c9a264e868937f1bc217",
      "tree": "c3831c6050582e6ab90ab523131788e2b09df163",
      "parents": [
        "40fef8a649e5344bfb6a67a7cc3def3e0dad6448"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 02 14:43:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:38 2008 -0400"
      },
      "message": "NFS: set transport defaults after mount option parsing is finished\n\nMove the UDP/TCP default timeo/retrans settings for text mounts to\nnfs_init_timeout_values(), which was were they were always being\ninitialised (and sanity checked) for binary mounts.\nDocument the default timeout values using appropriate #defines.\n\nEnsure that we initialise and sanity check the transport protocols that\nmay have been specified by the user.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3110ff8048fb757b36112b044b384aea9c44d6e4",
      "tree": "5260f4973bd0848ddef3fb3c111386e59616abbc",
      "parents": [
        "46c8ac74250a396aca855e494f49a960797a6b5e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri May 02 13:42:44 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:29 2008 -0700"
      },
      "message": "nfs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34b37235c60fd23e4075da475c7bb22e6c7a466e",
      "tree": "4c651f02cc44cf0769f391919de458595149f801",
      "parents": [
        "9ef2db2630652d68dfd336088648adae7ef0bcd4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "nfs: use proc_create to setup de-\u003eproc_fops\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing PDE to\nmain tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c",
      "tree": "4d0041249b48f9ac66560550e0e96c9c86c37891",
      "parents": [
        "78ea323be6380a9313e87fe241809e912e8ae401"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:50:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:56 2008 -0400"
      },
      "message": "NFSv4: Reintroduce machine creds\n\nWe need to try to ensure that we always use the same credentials whenever\nwe re-establish the clientid on the server. If not, the server won\u0027t\nrecognise that we\u0027re the same client, and so may not allow us to recover\nstate.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3f8400d1f1f9d5fb175bdbf6236e564dde454f28",
      "tree": "c5a15b86b049c60367ee525a05a4bc76d0a3b825",
      "parents": [
        "f22d6d79fe227245363a8849ea8c85fe6c6598c3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:10:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:22 2008 -0400"
      },
      "message": "NFS: Save the values of the \"mount*\u003d\" mount options\n\nSave the value of the mountproto\u003d mountport\u003d mountvers\u003d and mountaddr\u003d\noptions so that these values can be displayed later via\nnfs_show_options().\n\nThis preserves the intent of the original mount options, should the file\nsystem need to be remounted based on what\u0027s displayed in /proc/mounts.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f22d6d79fe227245363a8849ea8c85fe6c6598c3",
      "tree": "5496ddd3e912a399e0be9a7116fc1a66d6c79a10",
      "parents": [
        "78fa701f341564e60461de91cd08ff5f7fb09b31"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:10:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:19 2008 -0400"
      },
      "message": "NFS: Save the value of the \"port\u003d\" mount option\n\nDuring a remount based on the mount options displayed in /proc/mounts, we\nwant to preserve the original behavior of the mount request.  Let\u0027s save\nthe original setting of the \"port\u003d\" mount option in the mount\u0027s nfs_server\nstructure.\n\nThis allows us to simplify the default behavior of port setting for NFSv4\nmounts: by default, NFSv2/3 mounts first try an RPC bind to determine the\nNFS server\u0027s port, unless the user specified the \"port\u003d\" mount option;\nUsers can force the client to skip the RPC bind by explicitly specifying\n\"port\u003d\u003cvalue\u003e\".\n\nNFSv4, by contrast, assumes the NFS server port is 2049 and skips the RPC\nbind, unless the user specifies \"port\u003d\".  Users can force an RPC bind for\nNFSv4 by explicitly specifying \"port\u003d0\".\n\nI added a couple of extra comments to clarify this behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55",
      "tree": "4f5d585dd901718d66d9c354625f9a0bc85c234d",
      "parents": [
        "5d00837b90340af9106dcd93af75fd664c8eb87f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 17:06:55 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:17:27 2008 -0800"
      },
      "message": "SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "3fbd67ad61f6d5a09ea717b56c50bc5c3d8042a8",
      "tree": "ffac0a032211517e9d0bc9ff21a09f8c21fdf1c3",
      "parents": [
        "57bfa89171e50cddf51a4f62c90e47c6259857b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 26 01:06:40 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:12 2008 -0500"
      },
      "message": "NFSv4: Iterate through all nfs_clients when the server recalls a delegation\n\nThe same delegation may have been handed out to more than one nfs_client.\nEnsure that if a recall occurs, we return all instances.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "883bb163f84e0a54b29846c61621f52db3f27393",
      "tree": "ea11b2d1ba85cbb4422ae7ff615d6d186d709af1",
      "parents": [
        "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jan 15 16:04:20 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM: Introduce an arguments structure for nlmclnt_init()\n\nClean up: pass 5 arguments to nlmclnt_init() in a structure similar to the\nnew nfs_client_initdata structure.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "9289e7f91add1c09c3ec8571a2080f7507730b8d",
      "tree": "f8fd567e331b02efda2e09986fdfb37c1461dfc8",
      "parents": [
        "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:52 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NFS: Invoke nlmclnt_init during NFS mount processing\n\nCache an appropriate nlm_host structure in the NFS client\u0027s mount point\nmetadata for later use.\n\nNote that there is no need to set NFS_MOUNT_NONLM in the error case -- if\nnfs_start_lockd() returns a non-zero value, its callers ensure that the\nmount request fails outright.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "59dca3b28cb915745019d4f4c27d97b6b6ab12c6",
      "tree": "6e3bde647bba09070ece738af13ce4bf569ba95e",
      "parents": [
        "331702337f2b2e7cef40366ee207a25604df4671"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 03 16:29:06 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:00 2008 -0500"
      },
      "message": "NFS: Fix the \u0027proto\u003d\u0027 mount option\n\nCurrently, if you have a server mounted using networking protocol, you\ncannot specify a different value using the \u0027proto\u003d\u0027 option on another\nmountpoint.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "331702337f2b2e7cef40366ee207a25604df4671",
      "tree": "72b2a1942cc7e7d0b08a119f10fb2a299f550550",
      "parents": [
        "7a3e3e18e40848b6f01d44407ce86b91b8535fbd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:59 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "NFS: Support per-mountpoint timeout parameters.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7a3e3e18e40848b6f01d44407ce86b91b8535fbd",
      "tree": "3caa0944475ac1fcb66a939b84562867c1c60e5e",
      "parents": [
        "ba7392bb37cb12781890f45d7ddee1618e33a036"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:57 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "NFS: Ensure that we respect NFS_MAX_TCP_TIMEOUT\n\nIt isn\u0027t sufficient just to limit timeout-\u003eto_initval, we also need to\nlimit to_maxval.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c5680177012a2b5c0f3fdf58f4375dd84a1da67",
      "tree": "d3d9e599291b4f9b738d02c3913b13541b100487",
      "parents": [
        "9412b92772c1d80ea8284583b6aad0260e13515f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:59:28 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:57 2008 -0500"
      },
      "message": "NFS: Support non-IPv4 addresses in nfs_parsed_mount_data\n\nReplace the nfs_server and mount_server address fields in the\nnfs_parsed_mount_data structure with a \"struct sockaddr_storage\"\ninstead of a \"struct sockaddr_in\".\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6677d09513e35ac2f38d3a8c8a26fbd7bbcef192",
      "tree": "c94931a3cb51c62638fe455afbac19f2edb81efa",
      "parents": [
        "dcecae0ff44dceea7adb6bef5c8eb660fe87a93c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:59:06 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:56 2008 -0500"
      },
      "message": "NFS: Adjust nfs_clone_mount structure to store \"struct sockaddr *\"\n\nChange the addr field in the nfs_clone_mount structure to store a \"struct\nsockaddr *\" to support non-IPv4 addresses in the NFS client.\n\nNote this is mostly a cosmetic change, and does not actually allow\nreferrals using IPv6 addresses.  The existing referral code assumes that\nthe server returns a string that represents an IPv4 address.  This code\nneeds to support hostnames and IPv6 addresses as well as IPv4 addresses,\nthus it will need to be reorganized completely (to handle DNS resolution\nin user space).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dcecae0ff44dceea7adb6bef5c8eb660fe87a93c",
      "tree": "bd17c6708b58eb1f00be2057ed662a53eeb192cd",
      "parents": [
        "d7422c472bbaa419876b91e8823c6219c4a144cb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:58:59 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:56 2008 -0500"
      },
      "message": "NFS: Change nfs4_set_client() to accept struct sockaddr *\n\nAdjust the arguments and callers of nfs4_set_client() to pass a \"struct\nsockaddr *\" instead of a \"struct sockaddr_in *\" to support non-IPv4\naddresses in the NFS client.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d7422c472bbaa419876b91e8823c6219c4a144cb",
      "tree": "930f354403bb67124c9b218e100cac707a9abc71",
      "parents": [
        "ff052645c939b2fd8d467105adf98fa621cc244b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:58:51 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:55 2008 -0500"
      },
      "message": "NFS: Change nfs_get_client() to take sockaddr *\n\nAdjust arguments and callers of nfs_get_client() to pass a\n\"struct sockaddr *\" instead of \"struct sockaddr_in *\" to support\nnon-IPv4 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff052645c939b2fd8d467105adf98fa621cc244b",
      "tree": "8f7a3030c8d052952dc08ade77da67395143cd8b",
      "parents": [
        "c1d35866566bc2b270a82445271fcce1e391c4b9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:58:44 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:55 2008 -0500"
      },
      "message": "NFS: Change nfs_find_client() to take \"struct sockaddr *\"\n\nAdjust arguments and callers of nfs_find_client() to pass a\n\"struct sockaddr *\" instead of \"struct sockaddr_in *\" to support non-IPv4\naddresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\n\nTrond: Also fix up protocol version number argument in nfs_find_client() to\nuse the correct u32 type.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6e4cffd7b2cf86022dcf9cceeb63f16ff852caa1",
      "tree": "9f92711937e876f2e2e143c612fcbfb7c1b7d03a",
      "parents": [
        "3b0d3f93d01bb013c3dcf9555d2d111c91ac6a1e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:58:15 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:54 2008 -0500"
      },
      "message": "NFS: Expand server address storage in nfs_client struct\n\nPrepare for managing larger addresses in the NFS client by widening the\nnfs_client struct\u0027s cl_addr field.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\n\n(Modified to work with the new parameters for nfs_alloc_client)\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b0d3f93d01bb013c3dcf9555d2d111c91ac6a1e",
      "tree": "b59e7051ffad487d6c621ffe9526e3d9dd037a1d",
      "parents": [
        "0d0f0c192df0282600c6d11c8cc252e7e7a80afc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 03 13:28:58 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:54 2008 -0500"
      },
      "message": "NFS: Add support for AF_INET6 addresses in __nfs_find_client()\n\nIntroduce AF_INET6-specific address checking to __nfs_find_client().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d8515caeb99940f5ed56d22a03aba20bbe7fdcb",
      "tree": "b17ec1fc7bf34a73f65bf8c4b9f837beb54a64f9",
      "parents": [
        "d4d3c507493afd3c9d19fbe9762f44e790909dbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:57:16 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:52 2008 -0500"
      },
      "message": "NFS: eliminate NIPQUAD(clp-\u003ecl_addr.sin_addr)\n\nTo ensure the NFS client displays IPv6 addresses properly, replace\naddress family-specific NIPQUAD() invocations with a call to the RPC\nclient to get a formatted string representing the remote peer\u0027s\naddress.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40c553193df41920de659f0446e5d214c862e827",
      "tree": "4ee62a79fae0ebba26d119a1aae89bfd1a552c10",
      "parents": [
        "c81468a1a766921f11ae44e8a99816ac8dc7b015"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:07 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:49 2008 -0500"
      },
      "message": "NFS: Remove the redundant nfs_client-\u003ecl_nfsversion\n\nWe can get the same information from the rpc_ops structure instead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c81468a1a766921f11ae44e8a99816ac8dc7b015",
      "tree": "8a336f5246f92be261cfc85fa8eedeef0922614b",
      "parents": [
        "3a498026eef9603c14037e73a4a94cfdb2fa44eb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:05 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:48 2008 -0500"
      },
      "message": "NFS: Clean up the nfs_find_client function.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a498026eef9603c14037e73a4a94cfdb2fa44eb",
      "tree": "995ef695dd329242073915cc82be8c95987c036c",
      "parents": [
        "bfc69a456642a51c89dfd8e5184468857cb44f32"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:04 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:48 2008 -0500"
      },
      "message": "NFS: Clean up the nfs_client initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d45273ed6f4613e81701c3e896d9db200c288fff",
      "tree": "5108c42f43de3098fe6192e192b872899c8060c1",
      "parents": [
        "6a0ed1de8ecee0cde21ea667891a03f6c84ecd66"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 26 13:32:45 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:46 2008 -0500"
      },
      "message": "NFS: Clean up address comparison in __nfs_find_client()\n\nThe address comparison in the __nfs_find_client() function is deceptive.\nIt uses a memcmp() to check a pair of u32 fields for equality.  Not only is\nthis inefficient, but usually memcmp() is used for comparing two *whole*\nsockaddr_in\u0027s (which includes comparisons of the address family and port\nnumber), so it\u0027s easy to mistake the comparison here for a whole sockaddr\ncomparison, which it isn\u0027t.\n\nSo for clarity and efficiency, we replace the memcmp() with a simple test\nfor equality between the two s_addr fields.  This should have no\nbehavioral effect.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef818a28fac9bd214e676986d8301db0582b92a9",
      "tree": "b1825d1ecdfa6b35951a61f6bc54363236c12cd0",
      "parents": [
        "2f74c0a05612b9c2014b5b67833dba9b9f523948"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Thu Nov 08 04:05:04 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:24 2008 -0500"
      },
      "message": "NFS: Stop sillyname renames and unmounts from racing\n\nAdded an active/deactive mechanism to the nfs_server structure\nallowing async operations to hold off umount until the\noperations are done.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5cef338b30c110daf547fb13d99f0c77f2a79fbc",
      "tree": "4608bf1961dfb3f2f50d72d1b3c7a82daf031933",
      "parents": [
        "4584f520e1f773082ef44ff4f8969a5d992b16ec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 11 22:01:56 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 11 22:01:56 2007 -0500"
      },
      "message": "NFSv2/v3: Fix a memory leak when using -onolock\n\nNeil Brown said:\n\u003e Hi Trond,\n\u003e \n\u003e We found that a machine which made moderately heavy use of\n\u003e \u0027automount\u0027 was leaking some nfs data structures - particularly the\n\u003e 4K allocated by rpc_alloc_iostats.\n\u003e It turns out that this only happens with filesystems with -onolock\n\u003e set.\n\n\u003e The problem is that if NFS_MOUNT_NONLM is set, nfs_start_lockd doesn\u0027t\n\u003e set server-\u003edestroy, so when the filesystem is unmounted, the\n\u003e -\u003eclient_acl is not shutdown, and so several resources are still\n\u003e held.  Multiple mount/umount cycles will slowly eat away memory\n\u003e several pages at a time.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "150030b78a454ba50d5e267b0dcf01b162809192",
      "tree": "4de766e7abbfd73a052f14f8efd3a26eb7b59d87",
      "parents": [
        "009e577e079656d51d0fe9b15e61e41b00816c29"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 16:24:39 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:25 2007 -0500"
      },
      "message": "NFS: Switch from intr mount option to TASK_KILLABLE\n\nBy using the TASK_KILLABLE infrastructure, we can get rid of the \u0027intr\u0027\nmount option.  We have to use _killable everywhere instead of _interruptible\nas we get rid of rpc_clnt_sigmask/sigunmask.\n\nSigned-off-by: Liam R. Howlett \u003chowlett@gmail.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cf7ff7a37cc149bd59c4f3bad432f686a4619c8",
      "tree": "9752290f4a0cb00d10a1fae24db8ef85b85b84e7",
      "parents": [
        "c3a57ed7471a17b07844d531534d970b84b69faf"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:49:41 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:18:00 2007 -0400"
      },
      "message": "NFS: support RDMA mounts\n\nAdds hooks to the string-based NFS mount to support an \"rdma\" protocol option.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0896a725a1c5fdc8773a4d1ab0b73059507f5925",
      "tree": "e8a44eecc411f0d117358752d8a2b80895d81bc0",
      "parents": [
        "4fa016eb248cac875541fa199af550a8aefa0e90"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:48:23 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:53 2007 -0400"
      },
      "message": "NFS/SUNRPC: use transport protocol naming\n\nInstead of an { address family, raw IP protocol number }-tuple, use the\nnewly-defined RPC identifier when creating clients in the upper layers.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "91ea40b9c6303ddab5c84f078f96b29084b45817",
      "tree": "b7f48effc5adbb1b9c36a7e16ce9133d7152aad9",
      "parents": [
        "2283f8d6ed21ea2221df4cc329314b93f35351b0"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:44:33 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:28 2007 -0400"
      },
      "message": "NFS: use in-kernel mount argument structure for nfsv4 mounts\n\nThe user-visible nfs4_mount_data does not contain sufficient data to\ndescribe new mount options, and also is now a legacy structure. Replace\nit with the internal nfs_parsed_mount_data for nfsv4 in-kernel use.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2283f8d6ed21ea2221df4cc329314b93f35351b0",
      "tree": "dbf8b87e45b4fa76d50c0fd7ec0b3d4f1afd94ca",
      "parents": [
        "6b18eaa0821a559c5e2b7ed4b90f8aca5a8e6228"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:43:56 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:26 2007 -0400"
      },
      "message": "NFS: use in-kernel mount argument structure for nfsv[23] mounts\n\nThe user-visible nfs_mount_data does not contain sufficient data to\ndescribe new mount options, and also is now a legacy structure. Replace\nit with the internal nfs_parsed_mount_data for nfsv[23] in-kernel use.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "54af3bb543c071769141387a42deaaab5074da55",
      "tree": "d24e5b23462a51a4e932b14feb5ae943b0dbba1e",
      "parents": [
        "bd8936632475665bfd90c1180c9c1301ee838db8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 12:27:41 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Sep 28 15:36:42 2007 -0700"
      },
      "message": "NFS: Fix an Oops in encode_lookup()\n\nIt doesn\u0027t look as if the NFS file name limit is being initialised correctly\nin the struct nfs_server. Make sure that we limit whatever is being set in\nnfs_probe_fsinfo() and nfs_init_server().\n\nAlso ensure that readdirplus and nfs4_path_walk respect our file name\nlimits.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "259902ea951008bcbd31a49f667062ff8012ef55",
      "tree": "d6ccca37613105474b870df8d2c98881c8dd4614",
      "parents": [
        "b0765fb85782da9dca98482ebb1ae0d8c1a5e0f7"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:39:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "Make NFS client use seq_list_xxx helpers\n\nThis includes /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes entries.\n\nBoth need to show the header and use the list_head.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f958ab8858c75df800e0121b1920182820cbc39",
      "tree": "754bb9d68aac077825b40796e2acf716bce5df08",
      "parents": [
        "88d9093997e1c73ca98db41b5605dbde7783845f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 02 13:58:33 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:39 2007 -0400"
      },
      "message": "NFSv4: Reduce the chances of an open_owner identifier collision\n\nCurrently we just use a 32-bit counter.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7af654f8d1b7460415af5d1d326233478dd0f563",
      "tree": "00ebad16a49f13aa99b518f2554de5dcbeafa79c",
      "parents": [
        "27b3f949b769a208e2849d28e7ad64cadac5d0e3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 02 12:49:23 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:38 2007 -0400"
      },
      "message": "NFSv4: Don\u0027t reuse expired nfs4_state_owner structs\n\nThat just confuses certain NFSv4 servers.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61534dfd38f895b203e2aadaba04f21a992ca8c",
      "tree": "02485ae68fb2f45cbbc06152e0a4856ceff5f587",
      "parents": [
        "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:31:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74dd34e6e8bb127ff4c182423154b294729b663b",
      "tree": "6e5aef4263a4026942efd03fc2ea974a419153b1",
      "parents": [
        "00a6e7bbf990e3a5e59a9a1e6a68e99c94fe001c"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Sat Apr 14 17:01:15 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:16 2007 -0700"
      },
      "message": "NFS: Added support to turn off the NFSv3 READDIRPLUS RPC.\n\nREADDIRPLUS can be a performance hindrance when the client is working with\nlarge directories. In addition, some servers still have bugs in their\nimplementations (e.g. Tru64 returns wrong values for the fsid).\n\nAdd a mount flag to enable users to turn it off at mount time following the\nimplementation in Apple\u0027s NFS client.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "43d78ef2ba5bec26d0315859e8324bfc0be23766",
      "tree": "6ea576e0a20a11745c7a45b2a15dd855a45b655a",
      "parents": [
        "a301b777714087ea1d63dbec0173a13d416cd7a9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Feb 06 18:26:11 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:40:45 2007 -0800"
      },
      "message": "NFS: disconnect before retrying NFSv4 requests over TCP\n\nRFC3530 section 3.1.1 states an NFSv4 client MUST NOT send a request\ntwice on the same connection unless it is the NULL procedure.  Section\n3.1.1 suggests that the client should disconnect and reconnect if it\nwants to retry a request.\n\nImplement this by adding an rpc_clnt flag that an ULP can use to\nspecify that the underlying transport should be disconnected on a\nmajor timeout.  The NFSv4 client asserts this new flag, and requests\nno retries after a minor retransmit timeout.\n\nNote that disconnecting on a retransmit is in general not safe to do\nif the RPC client does not reuse the TCP port number when reconnecting.\n\nSee http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d6\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00977a59b951207d38380c75f03a36829950265c",
      "tree": "26933feafebffca95df02c19df03f5e56aada47e",
      "parents": [
        "d54b1fdb1d9f82e375a299e22bd366aad52d4c34"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 6\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2d0d85e58099d518cb50b1c95fc1fc62bbce1b8",
      "tree": "b8b14f9f4d803b90c2d8a96faef082f1b6e257be",
      "parents": [
        "2efef837fb84f78cee7439804cb3722bffc64e75"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 02 14:46:09 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:03 2007 -0800"
      },
      "message": "NFSv4: Fix Oops in nfs4_create_referral_server\n\nThe filehandle that is passed into nfs4_create_referral_server is\nnot initialised. The expectation is that nfs4_create_referral_server will\ninitialise it, and return it to the caller.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "13bbc06af8a5f65df0f888b442e557c617cadba7",
      "tree": "64129c447795744f44754989d85a138dffdf7fdc",
      "parents": [
        "7d9ac06f26fe8d477c813405f1a8c7c90eecef2d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 19 23:28:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] NFS: Fix NFSv4 callback regression\n\nThe change in semantics for nfs_find_client() introduced by David breaks the\nNFSv4 callback channel.\n\nAlso, replace another completely broken BUG_ON() in nfs_find_client().  In\ninitialised clients, clp-\u003ecl_cons_state \u003d\u003d 0, and callers of that function\nshould in any case never want to see clients that are uninitialised.\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": "7d9ac06f26fe8d477c813405f1a8c7c90eecef2d",
      "tree": "6886201ba51ae48bcb8a912c0b63da7af57cb014",
      "parents": [
        "eda3cef8dd2b83875affe82595db9d0c278879b2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 19 23:28:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] nfs4: initialize cl_ipaddr\n\nDavid forgot to do this.  I\u0027m not sure if this is the right place to put\nit....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\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": "832504933757ba7913bf64cd574326e014215b41",
      "tree": "8ee42f0cd79d605ea13f6d81a1ab38cb3473a6f4",
      "parents": [
        "61ce7b3ab55e6dd3a9811d0cf4f2dc5a3a5d892a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 08 17:28:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 08 17:28:25 2006 -0700"
      },
      "message": "Fix extraneous \u0027\u0026\u0027 in recent NFS client cleanup\n\nWe should pass \"wait_event_interruptible()\" the wait-queue itself, not\nthe pointer to it. The magic macro will pointerize it internally.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bae89ec8b1519dae67036637942f5b5bbaa9424",
      "tree": "12a37ef553a394f6794af74fa5d46a74350fc02b",
      "parents": [
        "cb1055fb1b79775d398038ad8dcd2c7581f141d8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 08 14:33:24 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 08 15:34:56 2006 -0700"
      },
      "message": "[PATCH] NFS: Fix typo in nfs_get_client()\n\nCommit ca4aa09635516258f158a7bc1594a794e4c34864 fixed waiting for the\nstructure to get initialised, but it is also possible to break out of\nthe loop while still in TASK_INTERRUPTIBLE.\n\nReplace the whole thing by wait_event_interruptible, which is much more\nreadable, and doesn\u0027t suffer from these problems.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca4aa09635516258f158a7bc1594a794e4c34864",
      "tree": "7b8632778a068ee083e463266a72530d0297fa04",
      "parents": [
        "f1d08f71974dcf68ce4510a2dfaeb798b05df2c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 08 14:33:24 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 08 12:07:03 2006 -0700"
      },
      "message": "[PATCH] NFS: Fix typo in nfs_get_client()\n\nNFS_CS_INITING \u003e NFS_CS_READY, so instead of waiting for the structure to\nget initialised, we currently immediately jump out of the loop without ever\nsleeping.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "038b0a6d8d32db934bba6a24e74e76e4e327a94f",
      "tree": "5fbeb3e8f140e20f8ce0e33e12b32ec5b0724cd6",
      "parents": [
        "78b656b8bf933101b42409b4492734b23427bfc3"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "message": "Remove all inclusions of \u003clinux/config.h\u003e\nkbuild explicitly includes this at build time.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "24e36663c375df577d2dcae437713481ffd6850c",
      "tree": "dd738e582b663c433eef3a53eb593a518439a285",
      "parents": [
        "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: be more selective in which sockets lockd listens on\n\nCurrently lockd listens on UDP always, and TCP if CONFIG_NFSD_TCP is set.\n\nHowever as lockd performs services of the client as well, this is a problem.\nIf CONFIG_NfSD_TCP is not set, and a tcp mount is used, the server will not be\nable to call back to lockd.\n\nSo:\n - add an option to lockd_up saying which protocol is needed\n - Always open sockets for which an explicit port was given, otherwise\n   only open a socket of the type required\n - Change nfsd to do one lockd_up per socket rather than one per thread.\n\nThis\n - removes the dependancy on CONFIG_NFSD_TCP\n - means that lockd may open sockets other than at startup\n - means that lockd will *not* listen on UDP if the only\n   mounts are TCP mount (and nfsd hasn\u0027t started).\n\nThe latter is the only one that concerns me at all - I don\u0027t know if this\nmight be a problem with some servers.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dec51466a08ac1c67da41bfd0518d43d983a2eb",
      "tree": "b6df8d1c1dfe41b4aa89d42ba9864358e6eea1d3",
      "parents": [
        "fd6840714d9cf6e93f1d42b904860a94df316b85"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 12 11:53:23 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:25:02 2006 -0400"
      },
      "message": "NFSv4: It\u0027s perfectly legal for clp to be NULL here....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "297de4f65698ee1e1c75e27d57933b5fa8227e72",
      "tree": "b04698edae97e64b3ad5290b33a9233f97f48c77",
      "parents": [
        "058ad9cbf14b3c7480d01b20280cb4d5858f7a50"
      ],
      "author": {
        "name": "andros@citi.umich.edu",
        "email": "andros@citi.umich.edu",
        "time": "Tue Aug 29 12:19:41 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:56 2006 -0400"
      },
      "message": "Fix a referral error Oops\n\nFix an oops when the referral server is not responding.\nCheck the error return from nfs4_set_client() in nfs4_create_referral_server.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6daabf1b04c89f1fbd8eab5450261360943c8e20",
      "tree": "a4aa0653c5edaf6deb41a10c16b8476f331e7c72",
      "parents": [
        "158998b6fe36f6acef087f574c96d44713499cc9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 24 15:44:16 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:55 2006 -0400"
      },
      "message": "NFS: Fix up compiler warnings on 64-bit platforms in client.c\n\nFix up warnings from compiling on ppc64.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5dd3177ae5012c1e2ad7a9ffdbd0e0d0de2f60e4",
      "tree": "2a8730d6443f6d33e8879cfc323396f9a570b97b",
      "parents": [
        "275a082fe9308e710324e26ccb5363c53d8fd45f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 01:03:05 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:54 2006 -0400"
      },
      "message": "NFSv4: Fix a use-after-free issue with the nfs server.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "41877d207c46f050b709f452703ade20c3b4a096",
      "tree": "a0da315e01e6008823dcc46c602e13c550a085a8",
      "parents": [
        "e1ec78928b4d5a31b7a847e65c6009f4229f7c0f"
      ],
      "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": "NFS: Convert NFS client to use new rpc_create() API\n\nConvert NFS client mount logic to use rpc_create() instead of the old\nxprt_create_proto/rpc_create_client API.\n\nTest plan:\nMount stress tests.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "9c5bf38d85a31b946664bcc21078ef5bb10672f7"
}
