)]}'
{
  "log": [
    {
      "commit": "419f4319495043a9507ac3e616be9ca60af09744",
      "tree": "0f747d80d11a6d4cd726ad6556839d5cd40b23ac",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c",
        "6eccece90b6addf80ef9e6db79b0bc873301034b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull the rest of the nfsd commits from Bruce Fields:\n \"... and then I cherry-picked the remainder of the patches from the\n  head of my previous branch\"\n\nThis is the rest of the original nfsd branch, rebased without the\ndelegation stuff that I thought really needed to be redone.\n\nI don\u0027t like rebasing things like this in general, but in this situation\nthis was the lesser of two evils.\n\n* \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux: (50 commits)\n  nfsd4: fix, consolidate client_has_state\n  nfsd4: don\u0027t remove rebooted client record until confirmation\n  nfsd4: remove some dprintk\u0027s and a comment\n  nfsd4: return \"real\" sequence id in confirmed case\n  nfsd4: fix exchange_id to return confirm flag\n  nfsd4: clarify that renewing expired client is a bug\n  nfsd4: simpler ordering of setclientid_confirm checks\n  nfsd4: setclientid: remove pointless assignment\n  nfsd4: fix error return in non-matching-creds case\n  nfsd4: fix setclientid_confirm same_cred check\n  nfsd4: merge 3 setclientid cases to 2\n  nfsd4: pull out common code from setclientid cases\n  nfsd4: merge last two setclientid cases\n  nfsd4: setclientid/confirm comment cleanup\n  nfsd4: setclientid remove unnecessary terms from a logical expression\n  nfsd4: move rq_flavor into svc_cred\n  nfsd4: stricter cred comparison for setclientid/exchange_id\n  nfsd4: move principal name into svc_cred\n  nfsd4: allow removing clients not holding state\n  nfsd4: rearrange exchange_id logic to simplify\n  ...\n"
    },
    {
      "commit": "a00b6151a2ae4c52576c35d3998e144a993d50b8",
      "tree": "fc312be05c4deb4dead7a6afa09e88017d3a0146",
      "parents": [
        "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
        "b108fe6b08f3f61c2c465649b20b7d4b4c185728"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields.\n\n* \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux: (23 commits)\n  nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek\n  SUNRPC: split upcall function to extract reusable parts\n  nfsd: allocate id-to-name and name-to-id caches in per-net operations.\n  nfsd: make name-to-id cache allocated per network namespace context\n  nfsd: make id-to-name cache allocated per network namespace context\n  nfsd: pass network context to idmap init/exit functions\n  nfsd: allocate export and expkey caches in per-net operations.\n  nfsd: make expkey cache allocated per network namespace context\n  nfsd: make export cache allocated per network namespace context\n  nfsd: pass pointer to export cache down to stack wherever possible.\n  nfsd: pass network context to export caches init/shutdown routines\n  Lockd: pass network namespace to creation and destruction routines\n  NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches\n  nfsd: pass pointer to expkey cache down to stack wherever possible.\n  nfsd: use hash table from cache detail in nfsd export seq ops\n  nfsd: pass svc_export_cache pointer as private data to \"exports\" seq file ops\n  nfsd: use exp_put() for svc_export_cache put\n  nfsd: use cache detail pointer from svc_export structure on cache put\n  nfsd: add link to owner cache detail to svc_export structure\n  nfsd: use passed cache_detail pointer expkey_parse()\n  ...\n"
    },
    {
      "commit": "d5497fc693a446ce9100fcf4117c3f795ddfd0d2",
      "tree": "7254a8eb06629de6c9ac4b8dbe8e38c79c979af3",
      "parents": [
        "8fbba96e5b327665265ad02b7f331b68536828bf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 22:06:49 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:58 2012 -0400"
      },
      "message": "nfsd4: move rq_flavor into svc_cred\n\nMove the rq_flavor into struct svc_cred, and use it in setclientid and\nexchange_id comparisons as well.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "03a4e1f6ddf25f48848e1bddcffc0ad489648331",
      "tree": "f140e3deb767d092eca997037ebb7b098d8afce9",
      "parents": [
        "631fc9ea05c97e5d1d14ea58a7347be4857d09da"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 19:55:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:55 2012 -0400"
      },
      "message": "nfsd4: move principal name into svc_cred\n\nInstead of keeping the principal name associated with a request in a\nstructure that\u0027s private to auth_gss and using an accessor function,\nmove it to svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3ddbe8794ff1bcba5af09f2e6949755d6251958f",
      "tree": "a0555c210e64a568b36ec5b2bca41204d72adc4b",
      "parents": [
        "5fb35a3a9bc482110b2c6afd1a5004909fa12501"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed May 16 17:14:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:49 2012 -0400"
      },
      "message": "svcrpc: fix a comment typo\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "91c427ac3a61ccabae0fdef53563edf40394b6c9",
      "tree": "66f5aaf373ebef288ed561def0f188f1ac5700d5",
      "parents": [
        "786185b5f8abefa6a8a16695bb4a59c164d5a071"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri May 04 11:44:12 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:41 2012 -0400"
      },
      "message": "sunrpc: do array overrun check in svc_recv before allocating pages\n\nThere\u0027s little point in waiting until after we allocate all of the pages\nto see if we\u0027re going to overrun the array. In the event that this\ncalculation is really off we could end up scribbling over a bunch of\nmemory and make it tougher to debug.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "786185b5f8abefa6a8a16695bb4a59c164d5a071",
      "tree": "780eafd98f98a093fda540898595b47b4261764c",
      "parents": [
        "9793f7c88937e7ac07305ab1af1a519225836823"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri May 04 12:49:41 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:40 2012 -0400"
      },
      "message": "SUNRPC: move per-net operations from svc_destroy()\n\nThe idea is to separate service destruction and per-net operations,\nbecause these are two different things and the mix looks ugly.\n\nNotes:\n\n1) For NFS server this patch looks ugly (sorry for that). But these\nplace will be rewritten soon during NFSd containerization.\n\n2) LockD per-net counter increase int lockd_up() was moved prior to\nmake_socks() to make lockd_down_net() call safe in case of error.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c52226daf553b21891f39777d78a54ea4e7e8654",
      "tree": "a85dd956745f473bb6f4990c68cd07cdbc768d68",
      "parents": [
        "e7a0444aef4a1649bc155fd5c6d6ab3f8bdc88ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 11 20:08:45 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "rpc: handle rotated gss data for Windows interoperability\n\nThe data in Kerberos gss tokens can be rotated.  But we were lazy and\nrejected any nonzero rotation value.  It wasn\u0027t necessary for the\nimplementations we were testing against at the time.\n\nBut it appears that Windows does use a nonzero value here.\n\nSo, implement rotation to bring ourselves into compliance with the spec\nand to interoperate with Windows.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "53f2c4a8fd882009a2a75c5b72d6898c0808616e",
      "tree": "922293a1056c0c2358203cdab832f0e0891e628a",
      "parents": [
        "8f6576ad476b2a22d05ddafd2ddaee102577a4ed",
        "cc0a98436820b161b595b8cc1d2329bcf7328107"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 10:43:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 10:43:51 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.5-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates from Trond Myklebust:\n \"New features include:\n   - Rewrite the O_DIRECT code so that it can share the same coalescing\n     and pNFS functionality as the page cache code.\n   - Allow the server to provide hints as to when we should use pNFS,\n     and when it is more efficient to read and write through the\n     metadata server.\n   - NFS cache consistency updates:\n     * Use the ctime to emulate a change attribute for NFSv2/v3 so that\n       all NFS versions can share the same cache management code.\n     * New cache management code will only look at the change attribute\n       and size attribute when deciding whether or not our cached data\n       is still valid or not.\n     * Don\u0027t request NFSv4 post-op attributes on writes in cases such as\n       O_DIRECT, where we don\u0027t care about data cache consistency, or\n       when we have a write delegation, and know that our cache is still\n       consistent.\n     * Don\u0027t request NFSv4 post-op attributes on operations such as\n       COMMIT, where there are no expected metadata updates.\n     * Don\u0027t request NFSv4 directory post-op attributes in cases where\n       the operations themselves already return change attribute\n       updates: i.e. operations such as OPEN, CREATE, REMOVE, LINK and\n       RENAME.\n   - Speed up \u0027ls\u0027 and friends by using READDIR rather than READDIRPLUS\n     if we detect no attempts to lookup filenames.\n   - Improve the code sharing between NFSv2/v3 and v4 mounts\n   - NFSv4.1 state management efficiency improvements\n   - More patches in preparation for NFSv4/v4.1 migration functionality.\"\n\nFix trivial conflict in fs/nfs/nfs4proc.c that was due to the dcache\nqstr name initialization changes (that made the length/hash a 64-bit\nunion)\n\n* tag \u0027nfs-for-3.5-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (146 commits)\n  NFSv4: Add debugging printks to state manager\n  NFSv4: Map NFS4ERR_SHARE_DENIED into an EACCES error instead of EIO\n  NFSv4: update_changeattr does not need to set NFS_INO_REVAL_PAGECACHE\n  NFSv4.1: nfs4_reset_session should use nfs4_handle_reclaim_lease_error\n  NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION\n  NFSv4.1: Handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION in the state manager\n  NFSv4.1: Handle errors in nfs4_bind_conn_to_session\n  NFSv4.1: nfs4_bind_conn_to_session should drain the session\n  NFSv4.1: Don\u0027t clobber the seqid if exchange_id returns a confirmed clientid\n  NFSv4.1: Add DESTROY_CLIENTID\n  NFSv4.1: Ensure we use the correct credentials for bind_conn_to_session\n  NFSv4.1: Ensure we use the correct credentials for session create/destroy\n  NFSv4.1: Move NFSPROC4_CLNT_BIND_CONN_TO_SESSION to the end of the operations\n  NFSv4.1: Handle NFS4ERR_SEQ_MISORDERED when confirming the lease\n  NFSv4: When purging the lease, we must clear NFS4CLNT_LEASE_CONFIRM\n  NFSv4: Clean up the error handling for nfs4_reclaim_lease\n  NFSv4.1: Exchange ID must use GFP_NOFS allocation mode\n  nfs41: Use BIND_CONN_TO_SESSION for CB_PATH_DOWN*\n  nfs4.1: add BIND_CONN_TO_SESSION operation\n  NFSv4.1 test the mdsthreshold hint parameters\n  ...\n"
    },
    {
      "commit": "644473e9c60c1ff4f6351fed637a6e5551e3dce7",
      "tree": "10316518bedc735a2c6552886658d69dfd9f1eb0",
      "parents": [
        "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
        "4b06a81f1daee668fbd6de85557bfb36dd36078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace enhancements from Eric Biederman:\n \"This is a course correction for the user namespace, so that we can\n  reach an inexpensive, maintainable, and reasonably complete\n  implementation.\n\n  Highlights:\n   - Config guards make it impossible to enable the user namespace and\n     code that has not been converted to be user namespace safe.\n\n   - Use of the new kuid_t type ensures the if you somehow get past the\n     config guards the kernel will encounter type errors if you enable\n     user namespaces and attempt to compile in code whose permission\n     checks have not been updated to be user namespace safe.\n\n   - All uids from child user namespaces are mapped into the initial\n     user namespace before they are processed.  Removing the need to add\n     an additional check to see if the user namespace of the compared\n     uids remains the same.\n\n   - With the user namespaces compiled out the performance is as good or\n     better than it is today.\n\n   - For most operations absolutely nothing changes performance or\n     operationally with the user namespace enabled.\n\n   - The worst case performance I could come up with was timing 1\n     billion cache cold stat operations with the user namespace code\n     enabled.  This went from 156s to 164s on my laptop (or 156ns to\n     164ns per stat operation).\n\n   - (uid_t)-1 and (gid_t)-1 are reserved as an internal error value.\n     Most uid/gid setting system calls treat these value specially\n     anyway so attempting to use -1 as a uid would likely cause\n     entertaining failures in userspace.\n\n   - If setuid is called with a uid that can not be mapped setuid fails.\n     I have looked at sendmail, login, ssh and every other program I\n     could think of that would call setuid and they all check for and\n     handle the case where setuid fails.\n\n   - If stat or a similar system call is called from a context in which\n     we can not map a uid we lie and return overflowuid.  The LFS\n     experience suggests not lying and returning an error code might be\n     better, but the historical precedent with uids is different and I\n     can not think of anything that would break by lying about a uid we\n     can\u0027t map.\n\n   - Capabilities are localized to the current user namespace making it\n     safe to give the initial user in a user namespace all capabilities.\n\n  My git tree covers all of the modifications needed to convert the core\n  kernel and enough changes to make a system bootable to runlevel 1.\"\n\nFix up trivial conflicts due to nearby independent changes in fs/stat.c\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)\n  userns:  Silence silly gcc warning.\n  cred: use correct cred accessor with regards to rcu read lock\n  userns: Convert the move_pages, and migrate_pages permission checks to use uid_eq\n  userns: Convert cgroup permission checks to use uid_eq\n  userns: Convert tmpfs to use kuid and kgid where appropriate\n  userns: Convert sysfs to use kgid/kuid where appropriate\n  userns: Convert sysctl permission checks to use kuid and kgids.\n  userns: Convert proc to use kuid/kgid where appropriate\n  userns: Convert ext4 to user kuid/kgid where appropriate\n  userns: Convert ext3 to use kuid/kgid where appropriate\n  userns: Convert ext2 to use kuid/kgid where appropriate.\n  userns: Convert devpts to use kuid/kgid where appropriate\n  userns: Convert binary formats to use kuid/kgid where appropriate\n  userns: Add negative depends on entries to avoid building code that is userns unsafe\n  userns: signal remove unnecessary map_cred_ns\n  userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n  userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n  userns: Convert stat to return values mapped from kuids and kgids\n  userns: Convert user specfied uids and gids in chown into kuids and kgid\n  userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n  ...\n"
    },
    {
      "commit": "cb62ab71fe2b16e8203a0f0a2ef4eda23d761338",
      "tree": "536ba39658e47d511a489c52f7aac60cd78967e5",
      "parents": [
        "31ed8e6f93a27304c9e157dab0267772cd94eaad",
        "74863948f925d9f3bb4e3d3a783e49e9c662d839"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 10:03:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 10:03:46 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n 1) Get rid of the error prone NLA_PUT*() macros that used an embedded\n    goto.\n\n 2) Kill off the token-ring and MCA networking drivers, from Paul\n    Gortmaker.\n\n 3) Reduce high-order allocations made by datagram AF_UNIX sockets, from\n    Eric Dumazet.\n\n 4) Add PTP hardware clock support to IGB and IXGBE, from Richard\n    Cochran and Jacob Keller.\n\n 5) Allow users to query timestamping capabilities of a card via\n    ethtool, from Richard Cochran.\n\n 6) Add loadbalance mode to the teaming driver, from Jiri Pirko.  Part\n    of this is that we can now have BPF filters not attached to sockets,\n    and the loadbalancing function is calculated using one.\n\n 7) Francois Romieu went through the network drivers removing gratuitous\n    uses of netdev-\u003ebase_addr, perhaps some day we can remove it\n    completely but it\u0027s used for ISA probing still.\n\n 8) Add a BPF JIT for sparc.  I know, who cares, right? :-)\n\n 9) Move networking sysctl registry away from using the compatability\n    mode interfaces in the sysctl code.  From Eric W Biederman.\n\n10) Pavel Emelyanov added a way to save and restore TCP socket state via\n    TCP_REPAIR, TCP_REPAIR_QUEUE, and TCP_QUEUE_SEQ socket options as\n    well as a way to forcefully bind a socket to a port via the\n    sk-\u003esk_reuse value SK_FORCE_REUSE.  There is also a\n    TCP_REPAIR_OPTIONS which allows to reinstante the TCP options\n    enabled on the connection.\n\n11) Several enhancements from Eric Dumazet that, in particular, can\n    enhance splice performance on TCP sockets significantly.\n\n     a) Reset the offset of the per-socket sendmsg page when we know\n        we\u0027re the only use of the page in linear_to_page().\n\n     b) Add facilities such that skb-\u003edata can be backed a page rather\n        than SLAB kmalloc\u0027d memory.  In particular devices which were\n        receiving into linear RX buffers can now end up providing paged\n        data.\n\n    The big result is that code like splice and GRO do not have to copy\n    any more.\n\n12) Allow a pure sender to more gracefully handle ACK backlogs in TCP.\n    What can happen at high rates is that the sender hasn\u0027t grown his\n    receive buffer limits at all (he\u0027s not receiving data so really\n    doesn\u0027t need to), but the non-data ACKs consume receive buffer\n    space.\n\n    sk_add_backlog() is too aggressive in dropping frames in this case,\n    so relax it\u0027s requirements by using the receive buffer plus the send\n    buffer limit as the backlog limit instead of just the former.\n\n    Also from Eric Dumazet.\n\n13) Add ipv6 support to L2TP, from Benjamin LaHaise, James Chapman, and\n    Chris Elston.\n\n14) Implement TCP early retransmit (RFC 5827), from Yuchung Cheng.\n    Basically, we can start fast retransmit before hiting the dupack\n    threshold under certain conditions.\n\n15) New CODEL active queue management packet scheduler, from Eric\n    Dumazet based upon initial work by Dave Taht.\n\n    Basically, the big feature is that packets are dropped (or ECN bits\n    are set) based upon how long packets live in the queue, rather than\n    the queue length (which is what RED uses).\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1341 commits)\n  drivers/net/stmmac: seq_file fix memory leak\n  ipv6/exthdrs: strict Pad1 and PadN check\n  USB: qmi_wwan: Add ZTE (Vodafone) K3520-Z\n  USB: qmi_wwan: Add ZTE (Vodafone) K3765-Z\n  USB: qmi_wwan: Make forced int 4 whitelist generic\n  net/ipv4: replace simple_strtoul with kstrtoul\n  net/ipv4/ipconfig: neaten __setup placement\n  net: qmi_wwan: Add Vodafone/Huawei K5005 support\n  net: cdc_ether: Add ZTE WWAN matches before generic Ethernet\n  ipv6: use skb coalescing in reassembly\n  ipv4: use skb coalescing in defragmentation\n  net: introduce skb_try_coalesce()\n  net:ipv6:fixed space issues relating to operators.\n  net:ipv6:fixed a trailing white space issue.\n  ipv6: disable GSO on sockets hitting dst_allfrag\n  tg3: use netdev_alloc_frag() API\n  net: napi_frags_skb() is static\n  ppp: avoid false drop_monitor false positives\n  ipv6: bool/const conversions phase2\n  ipx: Remove spurious NULL checking in ipx_ioctl().\n  ...\n"
    },
    {
      "commit": "31ed8e6f93a27304c9e157dab0267772cd94eaad",
      "tree": "2fd62bea73efa7e2920b0c3e1d81c425eb7bf71c",
      "parents": [
        "7e5cb5e151c5474b4a468f437f5038ba9f67ef4d",
        "26fe575028703948880fce4355a210c76bb0536e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 08:50:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 08:50:57 2012 -0700"
      },
      "message": "Merge branch \u0027dentry-cleanups\u0027 (dcache access cleanups and optimizations)\n\nThis branch simplifies and clarifies the dcache lookup, and allows us to\ndo certain nice optimizations when comparing dentries.  It also cleans\nup the interface to __d_lookup_rcu(), especially around passing the\ninode information around.\n\n* dentry-cleanups:\n  vfs: make it possible to access the dentry hash/len as one 64-bit entry\n  vfs: move dentry name length comparison from dentry_cmp() into callers\n  vfs: do the careful dentry name access for all dentry_cmp cases\n  vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu\n  vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces\n"
    },
    {
      "commit": "b3f87b98aa3dc22cc58f970140113b270015cddb",
      "tree": "c4aec5996567ad96310f61e9244e799f41bf2625",
      "parents": [
        "041245c88a29273788e8eff1353bc6e1f56c61df",
        "1afeaf5c29aa07db25760d2fbed5c08a3aec3498"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 21 10:12:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 21 10:12:39 2012 -0400"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-next\n"
    },
    {
      "commit": "1afeaf5c29aa07db25760d2fbed5c08a3aec3498",
      "tree": "b8fefaefd78e8d4cc3378378e968987297f73c04",
      "parents": [
        "6b34309936ed5c85cbe5868655814065f42c2f38"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 12:12:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 12:12:53 2012 -0400"
      },
      "message": "sunrpc: fix loss of task-\u003etk_status after rpc_delay call in xprt_alloc_slot\n\nxprt_alloc_slot will call rpc_delay() to make the task wait a bit before\nretrying when it gets back an -ENOMEM error from xprt_dynamic_alloc_slot.\nThe problem is that rpc_delay will clear the task-\u003etk_status, causing\ncall_reserveresult to abort the task.\n\nThe solution is simply to let call_reserveresult handle the ENOMEM error\ndirectly.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.1]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "028940342a906db8da014a7603a0deddc2c323dd",
      "tree": "688dbc38a3e218f2493d311b1d70a67668837347",
      "parents": [
        "be3eed2e96340d3c7a4d1ea1d63e7bd6095d1e34",
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "6b34309936ed5c85cbe5868655814065f42c2f38",
      "tree": "cf5ac1d01577fe1190a4adc341c5f631026e5189",
      "parents": [
        "5f23eff3814e9d255464e7a03dba47c27069ac78"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 13:30:35 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 16 10:37:14 2012 -0700"
      },
      "message": "sunrpc: suppress page allocation warnings in xprt_alloc_slot()\n\nIt\u0027s easily possible for these allocations to fail since we\u0027re using\nGFP_NOWAIT here. We don\u0027t want to spam the logs with warnings about\nthat though.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7e450b4e47d14429d0cc17cf4ce389fc027937be",
      "tree": "921d03e0659934f9ca4954447d3c6a38ad39f8fa",
      "parents": [
        "981f9face8fc21bede7b7a56a7cf6c176da5ab05"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 13:04:26 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 16 10:16:09 2012 -0700"
      },
      "message": "rpc_pipefs: clear write bit from top level rpc_pipefs directory\n\nWe can\u0027t create new files or directories here from userspace, so let\u0027s\nnot pretend that this directory is writable.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bda14606a3c055dbbccd998fa91eb87c4c7b2027",
      "tree": "82f2671e9e364063782b43c09361c54dbba4c5c3",
      "parents": [
        "5abc03cd919535c61b813f2319cb38326a41e810"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun May 13 10:35:40 2012 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 17:44:25 2012 -0700"
      },
      "message": "sunrpc: fix kernel-doc warnings\n\nFix kernel-doc warnings in sunrpc/rpc_pipe.c and\nsunrpc/rpcb_clnt.c:\n\nWarning(net/sunrpc/rpcb_clnt.c:428): No description found for parameter \u0027net\u0027\nWarning(net/sunrpc/rpcb_clnt.c:567): No description found for parameter \u0027net\u0027\n\nWarning(net/sunrpc/rpc_pipe.c:133): No description found for parameter \u0027pipe\u0027\nWarning(net/sunrpc/rpc_pipe.c:133): Excess function parameter \u0027inode\u0027 description in \u0027rpc_queue_upcall\u0027\nWarning(net/sunrpc/rpc_pipe.c:839): No description found for parameter \u0027pipe\u0027\nWarning(net/sunrpc/rpc_pipe.c:839): Excess function parameter \u0027ops\u0027 description in \u0027rpc_mkpipe_dentry\u0027\nWarning(net/sunrpc/rpc_pipe.c:839): Excess function parameter \u0027flags\u0027 description in \u0027rpc_mkpipe_dentry\u0027\nWarning(net/sunrpc/rpc_pipe.c:949): No description found for parameter \u0027dentry\u0027\nWarning(net/sunrpc/rpc_pipe.c:949): Excess function parameter \u0027clnt\u0027 description in \u0027rpc_remove_client_dir\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26fe575028703948880fce4355a210c76bb0536e",
      "tree": "0a7d04289e1eb1f1739659ebc9498d40f2add5da",
      "parents": [
        "ee983e89670704b2a05e897b161f2674a42d1508"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 13:14:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 19:54:35 2012 -0700"
      },
      "message": "vfs: make it possible to access the dentry hash/len as one 64-bit entry\n\nThis allows comparing hash and len in one operation on 64-bit\narchitectures.  Right now only __d_lookup_rcu() takes advantage of this,\nsince that is the case we care most about.\n\nThe use of anonymous struct/unions hides the alternate 64-bit approach\nfrom most users, the exception being a few cases where we initialize a\n\u0027struct qstr\u0027 with a static initializer.  This makes the problematic\ncases use a new QSTR_INIT() helper function for that (but initializing\njust the name pointer with a \"{ .name \u003d xyzzy }\" initializer remains\nvalid, as does just copying another qstr structure).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7bdf7415a6b8ec31f86b3ad3eaa241257ecb7c4c",
      "tree": "36cabe5902b163a66f94d7971ddba72d9aeaf0ff",
      "parents": [
        "3617e5031b3acec04efaa36566a8111ac8f07325"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Thu May 03 11:47:08 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 03 12:35:33 2012 -0400"
      },
      "message": "auth_gss: the list of pseudoflavors not being parsed correctly\n\ngss_mech_list_pseudoflavors() parses a list of registered mechanisms.\nOn that list contains a list of pseudo flavors which was not being\nparsed correctly, causing only the first pseudo flavor to be found.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ae2975bc3476243b45a1e2344236d7920c268f38",
      "tree": "e4b2a8472f6047734b6e7e2bdc994375b2790323",
      "parents": [
        "22d917d80e842829d0ca0a561967d728eb1d6303"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 14 15:56:38 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:27:21 2012 -0700"
      },
      "message": "userns: Convert group_info values from gid_t to kgid_t.\n\nAs a first step to converting struct cred to be all kuid_t and kgid_t\nvalues convert the group values stored in group_info to always be\nkgid_t values.   Unless user namespaces are used this change should\nhave no effect.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "cbbb34498f8b2b26cbdc79532c8a2ee5cd1e756a",
      "tree": "faa27244aed8ab803846f85944775b0976a1975d",
      "parents": [
        "71dfc5fa5160bb73752f0731539404569a77faca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 11:52:40 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 11:58:51 2012 -0400"
      },
      "message": "SUNRPC: RPC client must use the current utsname hostname string\n\nNow that the rpc client is namespace aware, it needs to use the\nutsname of the process that created it instead of using the\ninit_utsname. Both rpc_new_client and rpc_clone_client need to\nbe fixed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\n"
    },
    {
      "commit": "ea8cfa06795bb30d2ea61f503ef129284492c06a",
      "tree": "48fb210bfaedbf1c488bc0b096f1591ce2c98495",
      "parents": [
        "37629b572cc4e80fc24b4139a24df1a89415d534"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 27 13:00:17 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:00 2012 -0400"
      },
      "message": "SUNRPC: traverse clients tree on PipeFS event\n\nv2: recursion was replaced by loop\n\nIf client is a clone, then it\u0027s parent can not be in the list.\nBut parent\u0027s Pipefs dentries have to be created and destroyed.\n\nNote: event skip helper for clients introduced\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "37629b572cc4e80fc24b4139a24df1a89415d534",
      "tree": "49d77495315e93ad187467837779f88073c37f15",
      "parents": [
        "7aab449e5a2ebfa9c5116e87e16536bc4195e4de"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:19:56 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:00 2012 -0400"
      },
      "message": "SUNRPC: set per-net PipeFS superblock before notification\n\nThere can be a case, when on MOUNT event RPC client (after it\u0027s dentries were\ncreated) is not longer hold by anyone except notification callback.\nI.e. on release this client will be destoroyed. And it\u0027s dentries have to be\ndestroyed as well. Which in turn requires per-net PipeFS superblock to be set.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7aab449e5a2ebfa9c5116e87e16536bc4195e4de",
      "tree": "c948a96ddd87c2ed708875c961c9e3577737ae08",
      "parents": [
        "a4dff1bc492ee4a2184d384ae8b5bcab5859e150"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:19:18 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:09:59 2012 -0400"
      },
      "message": "SUNRPC: skip clients with program without PipeFS entries\n\n1) This is sane.\n2) Otherwise there will be soft lockup:\n\ndo {\n\trpc_get_client_for_event (clnt-\u003ecl_dentry \u003d\u003d NULL \u003d\u003d\u003e choose)\n\t__rpc_pipefs_event (clnt-\u003ecl_program-\u003epipe_dir_name \u003d\u003d NULL \u003d\u003d\u003e return)\n} while (1)\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a4dff1bc492ee4a2184d384ae8b5bcab5859e150",
      "tree": "b6bdb438cfa7c041d6e0a7b42f8c10c213961215",
      "parents": [
        "5794d21ef4639f0e33440927bb903f9598c21e92"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Apr 20 18:11:02 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:09:59 2012 -0400"
      },
      "message": "SUNRPC: skip dead but not buried clients on PipeFS events\n\nThese clients can\u0027t be safely dereferenced if their counter in 0.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc2952a2a9f724f7d200c69a2b059ec331a80363",
      "tree": "c615c18469c1052024e5f487d490db071bb1b776",
      "parents": [
        "f69adb2fe2553f0536ad3603828c835239d5ec3e"
      ],
      "author": {
        "name": "Simo Sorce",
        "email": "simo@redhat.com",
        "time": "Tue Apr 17 09:39:06 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 25 14:29:32 2012 -0400"
      },
      "message": "SUNRPC: split upcall function to extract reusable parts\n\nThis is needed to share code between the current server upcall mechanism\nand the new gssproxy upcall mechanism introduced in a following patch.\n\nSigned-off-by: Simo Sorce \u003csimo@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4a17fd5229c1b6066aa478f6b690f8293ce811a1",
      "tree": "f6acd00935d2d7a990befb4c77f57fdf39f46689",
      "parents": [
        "59c55bdde856c4000bbeb33ba212c3df6f1997a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:39:36 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "sock: Introduce named constants for sk_reuse\n\nName them in a \"backward compatible\" manner, i.e. reuse or not\nare still 1 and 0 respectively. The reuse value of 2 means that\nthe socket with it will forcibly reuse everyone else\u0027s port.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adae0fe0ea87e8fb1a72dde304937c60759b495f",
      "tree": "27cab6b39b71e4264779a3123b62d49e6afb0a17",
      "parents": [
        "6c216ec636f75d834461be15f83ec41a6759bd2b"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Apr 05 21:04:37 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 18 11:05:48 2012 -0400"
      },
      "message": "SUNRPC: register PipeFS file system after pernet sybsystem\n\nPipeFS superblock creation routine relays on SUNRPC pernet data presense, which\nis created on register_pernet_subsys() call in SUNRPC module init function.\nRegistering of PipeFS filesystem prior to registering of per-net subsystem\nleads to races (mount of PipeFS can dereference uninitialized data).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934",
      "tree": "9afeda20ea7ea07f6c1bbcc9dc5979c98cc62def",
      "parents": [
        "b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 11 15:13:28 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 12 09:11:46 2012 -0400"
      },
      "message": "nfsd: make expkey cache allocated per network namespace context\n\nThis patch also changes svcauth_unix_purge() function: added network namespace\nas a parameter and thus loop over all networks was replaced by only one call\nfor ip map cache purge.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
      "tree": "77dd08f6f778a799dcd0c48eb72d0742349df235",
      "parents": [
        "50483c3268918ee51a56d1baa39b9149d2d0d521",
        "797a9d797f8483bb67f265c761b76dcd5a077a23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n\nHighlights:\n - Benny Halevy and Tigran Mkrtchyan implemented some more 4.1 features,\n   moving us closer to a complete 4.1 implementation.\n - Bernd Schubert fixed a long-standing problem with readdir cookies on\n   ext2/3/4.\n - Jeff Layton performed a long-overdue overhaul of the server reboot\n   recovery code which will allow us to deprecate the current code (a\n   rather unusual user of the vfs), and give us some needed flexibility\n   for further improvements.\n - Like the client, we now support numeric uid\u0027s and gid\u0027s in the\n   auth_sys case, allowing easier upgrades from NFSv2/v3 to v4.x.\n\nPlus miscellaneous bugfixes and cleanup.\n\nThanks to everyone!\n\nThere are also some delegation fixes waiting on vfs review that I\nsuppose will have to wait for 3.5.  With that done I think we\u0027ll finally\nturn off the \"EXPERIMENTAL\" dependency for v4 (though that\u0027s mostly\nsymbolic as it\u0027s been on by default in distro\u0027s for a while).\n\nAnd the list of 4.1 todo\u0027s should be achievable for 3.5 as well:\n\n   http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\nthough we may still want a bit more experience with it before turning it\non by default.\n\n* \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux: (55 commits)\n  nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled\n  nfsd4: use auth_unix unconditionally on backchannel\n  nfsd: fix NULL pointer dereference in cld_pipe_downcall\n  nfsd4: memory corruption in numeric_name_to_id()\n  sunrpc: skip portmap calls on sessions backchannel\n  nfsd4: allow numeric idmapping\n  nfsd: don\u0027t allow legacy client tracker init for anything but init_net\n  nfsd: add notifier to handle mount/unmount of rpc_pipefs sb\n  nfsd: add the infrastructure to handle the cld upcall\n  nfsd: add a header describing upcall to nfsdcld\n  nfsd: add a per-net-namespace struct for nfsd\n  sunrpc: create nfsd dir in rpc_pipefs\n  nfsd: add nfsd4_client_tracking_ops struct and a way to set it\n  nfsd: convert nfs4_client-\u003ecl_cb_flags to a generic flags field\n  NFSD: Fix nfs4_verifier memory alignment\n  NFSD: Fix warnings when NFSD_DEBUG is not defined\n  nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes)\n  nfsd: rename \u0027int access\u0027 to \u0027int may_flags\u0027 in nfsd_open()\n  ext4: return 32/64-bit dir name hash according to usage type\n  fs: add new FMODE flags: FMODE_32bithash and FMODE_64bithash\n  ...\n"
    },
    {
      "commit": "58df9b387c5f240566ac15b7fa5136f5a35bb19a",
      "tree": "cd3b216936037e67d71958cc3ee8060e1f628f4f",
      "parents": [
        "8563f8786ee389c7861938d1d25336706f6de187",
        "14977489ffdb80d4caf5a184ba41b23b02fbacd9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 19:02:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 19:02:35 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes for Linux 3.4 from Trond Myklebust\n\nHighlights include:\n- Fix infinite loops in the mount code\n- Fix a userspace buffer overflow in __nfs4_get_acl_uncached\n- Fix a memory leak due to a double reference count in rpcb_getport_async()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\n* tag \u0027nfs-for-3.4-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Minor cleanups for nfs4_handle_exception and nfs4_async_handle_error\n  NFSv4.1: Fix layoutcommit error handling\n  NFSv4: Fix two infinite loops in the mount code\n  SUNRPC: Use the already looked-up xprt in rpcb_getport_async()\n  NFS4.1: remove duplicate variable declaration in filelayout_clear_request_commit\n  Fix length of buffer copied in __nfs4_get_acl_uncached\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "864cf9bf99f62d2095c8e6cc3a87af80b263984e",
      "tree": "212665144bc8140dc177c41954d0eb691b602d83",
      "parents": [
        "d44fc387997c0750125cfb0c2c803a3171b649f4"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Tue Mar 27 13:46:32 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 27 16:33:35 2012 -0400"
      },
      "message": "SUNRPC: Use the already looked-up xprt in rpcb_getport_async()\n\nrbcb_getport_async() was looking up the rpc_xprt (reference++) and then\nlater looking it up again (reference++) to pass through the\nrpcbind_args.  The xprt would only be dereferenced once, when we were\ndone with the rpcbind_args (reference--).  This leaves an extra\nreference to the transport that would never go away.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "92769108f5382a0bdb4c35eb80c183fb7797cfae",
      "tree": "8a3b8d9a2e7e23536fbcd374592341e968d2a1af",
      "parents": [
        "e9541ce8efc22c233a045f091c2b969923709038"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Mar 23 15:25:03 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:49:48 2012 -0400"
      },
      "message": "sunrpc: skip portmap calls on sessions backchannel\n\nThere\u0027s obviously no point to doing portmap calls over the sessions\nbackchannel.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b3537c35c21f0e6750aa8bd786949b55509c6d0d",
      "tree": "305421cad89e41a4feb22aa7e302124249a25ce7",
      "parents": [
        "2a4317c55438d8589a015d42912454ede12031f0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Mar 21 09:52:04 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:49:47 2012 -0400"
      },
      "message": "sunrpc: create nfsd dir in rpc_pipefs\n\nAdd a new top-level dir in rpc_pipefs to hold the pipe for the clientid\nupcall.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "f63d395d47f37a4fe771e6d4b1db9d2cdae5ffc5",
      "tree": "3448a14ae965802adb963762cadeb9989ce4caa2",
      "parents": [
        "643ac9fc5429e85b8b7f534544b80bcc4f34c367",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates for Linux 3.4 from Trond Myklebust:\n \"New features include:\n   - Add NFS client support for containers.\n\n     This should enable most of the necessary functionality, including\n     lockd support, and support for rpc.statd, NFSv4 idmapper and\n     RPCSEC_GSS upcalls into the correct network namespace from which\n     the mount system call was issued.\n\n   - NFSv4 idmapper scalability improvements\n\n     Base the idmapper cache on the keyring interface to allow\n     concurrent access to idmapper entries.  Start the process of\n     migrating users from the single-threaded daemon-based approach to\n     the multi-threaded request-key based approach.\n\n   - NFSv4.1 implementation id.\n\n     Allows the NFSv4.1 client and server to mutually identify each\n     other for logging and debugging purposes.\n\n   - Support the \u0027vers\u003d4.1\u0027 mount option for mounting NFSv4.1 instead of\n     having to use the more counterintuitive \u0027vers\u003d4,minorversion\u003d1\u0027.\n\n   - SUNRPC tracepoints.\n\n     Start the process of adding tracepoints in order to improve\n     debugging of the RPC layer.\n\n   - pNFS object layout support for autologin.\n\n  Important bugfixes include:\n\n   - Fix a bug in rpc_wake_up/rpc_wake_up_status that caused them to\n     fail to wake up all tasks when applied to priority waitqueues.\n\n   - Ensure that we handle read delegations correctly, when we try to\n     truncate a file.\n\n   - A number of fixes for NFSv4 state manager loops (mostly to do with\n     delegation recovery).\"\n\n* tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (224 commits)\n  NFS: fix sb-\u003es_id in nfs debug prints\n  xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n  xprtrdma: The transport should not bug-check when a dup reply is received\n  pnfs-obj: autologin: Add support for protocol autologin\n  NFS: Remove nfs4_setup_sequence from generic rename code\n  NFS: Remove nfs4_setup_sequence from generic unlink code\n  NFS: Remove nfs4_setup_sequence from generic read code\n  NFS: Remove nfs4_setup_sequence from generic write code\n  NFS: Fix more NFS debug related build warnings\n  SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n  nfs: non void functions must return a value\n  SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n  SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n  NFS: Use cond_resched_lock() to reduce latencies in the commit scans\n  NFSv4: It is not safe to dereference lsp-\u003els_state in release_lockowner\n  NFS: ncommit count is being double decremented\n  SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()\n  Try using machine credentials for RENEW calls\n  NFSv4.1: Fix a few issues in filelayout_commit_pagelist\n  NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code\n  ...\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "9b78145c0f280d4f01c460d6251eab2584181fa9",
      "tree": "09f0f8b13541db68f23e73be122129a9ee4e4dcb",
      "parents": [
        "4a6862b3649d705bf41a36e3c7943d0322a9ee27"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Mon Feb 20 13:07:57 2012 -0600"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:47 2012 -0400"
      },
      "message": "xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n\nThe xprtrdma FRMR mapping logic assumes that a segment is \u003c\u003d PAGE_SIZE.\nThis is not true for NFS4.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a6862b3649d705bf41a36e3c7943d0322a9ee27",
      "tree": "d4e53e6f1c1b53716a373bb316e408653d28a8ef",
      "parents": [
        "18d98f6c04991dd3c12acf6f39cea40e9510640a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Mon Feb 20 13:07:42 2012 -0600"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:47 2012 -0400"
      },
      "message": "xprtrdma: The transport should not bug-check when a dup reply is received\n\nThe client side RDMA transport will bug check if it receives a duplicate\nreply, instead we should simply drop the duplicate reply.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ffa94db6042e6fd014ae0bed8832ac707ef2afe9",
      "tree": "c2e98dc23546be53b311bf4eb010e824709e4d76",
      "parents": [
        "9304a8120a6ac06d08874d2aec76f52d3376dfe4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 09:22:00 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:44 2012 -0400"
      },
      "message": "SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n\nStephen Rothwell reports:\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_enc_mapping\u0027:\nnet/sunrpc/rpcb_clnt.c:820:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_getport\u0027:\nnet/sunrpc/rpcb_clnt.c:837:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_set\u0027:\nnet/sunrpc/rpcb_clnt.c:860:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_enc_getaddr\u0027:\nnet/sunrpc/rpcb_clnt.c:892:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nnet/sunrpc/rpcb_clnt.c: In function \u0027rpcb_dec_getaddr\u0027:\nnet/sunrpc/rpcb_clnt.c:914:19: warning: unused variable \u0027task\u0027 [-Wunused-variable]\nfs/lockd/svclock.c:49:20: warning: \u0027nlmdbg_cookie2a\u0027 declared \u0027static\u0027 but never defined [-Wunused-function]\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e27d359e9b7e446190362cd5c8fe281d02194896",
      "tree": "5dece1801337b32e9d4ecc03e487a95856b413fa",
      "parents": [
        "3b3be88d67cc17d0f0ab6edaf131516793fc947e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 18 14:07:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 13:08:26 2012 -0400"
      },
      "message": "SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n\nThis allows us to turn on/off the dprintk() debugging interfaces for\nthose distributions that don\u0027t ship the \u0027rpcdebug\u0027 utility.\nIt also allows us to add Kbuild dependencies. Specifically, we already\nknow that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out\nthat the NFS dprintks depend on CONFIG_CRC32 after we added support\nfor the filehandle hash.\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b85417860172ff693dc115d7999805fc240cec1c",
      "tree": "e7f1c8ac18958e7bcb9182caa8639104384e44f9",
      "parents": [
        "6114eab535ab49239e0a6ce08eb9243664aef993"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:40 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:28 2012 +0800"
      },
      "message": "sunrpc: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "540a0f7584169651f485e8ab67461fcb06934e38",
      "tree": "5a5dede243b80f1dca55f651ff2a78eaccff5c50",
      "parents": [
        "e49a29bd0eacce9d4956c4daf777a330115b369d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 19 13:39:35 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 19 14:15:02 2012 -0400"
      },
      "message": "SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()\n\nThe problem is that for the case of priority queues, we\nhave to assume that __rpc_remove_wait_queue_priority will move new\nelements from the tk_wait.links lists into the queue-\u003etasks[] list.\nWe therefore cannot use list_for_each_entry_safe() on queue-\u003etasks[],\nsince that will skip these new tasks that __rpc_remove_wait_queue_priority\nis adding.\n\nWithout this fix, rpc_wake_up and rpc_wake_up_status will both fail\nto wake up all functions on priority wait queues, which can result\nin some nasty hangs.\n\nReported-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "0097143c12e279f5d454e0f636a02afff102cc6a",
      "tree": "4c8c6bc4d3901f1d210d5d3d900368be1705f217",
      "parents": [
        "11588f493a2441f09ceb2088d07cc012b53cbf75"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 12 13:29:05 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 12 13:37:16 2012 -0400"
      },
      "message": "SUNRPC: Don\u0027t use variable length automatic arrays in kernel code\n\nReplace the variable length array in the RPCSEC_GSS crypto code with\na fixed length one. The size should be bounded by the variable\nGSS_KRB5_MAX_BLOCKSIZE, so use that.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09acfea5d8de419ebe84be43b08f7b79c965215f",
      "tree": "16f7ef15b00d8601917de6812b9ac951c9458ef6",
      "parents": [
        "17280175c587469b34757263c7cfc608f0ea2334"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 15:22:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 19:30:02 2012 -0400"
      },
      "message": "SUNRPC: Fix a few sparse warnings\n\nnet/sunrpc/svcsock.c:412:22: warning: incorrect type in assignment\n(different address spaces)\n - svc_partial_recvfrom now takes a struct kvec, so the variable\n   save_iovbase needs to be an ordinary (void *)\n\nMake a bunch of variables in net/sunrpc/xprtsock.c static\n\nFix a couple of \"warning: symbol \u0027foo\u0027 was not declared. Should it be\nstatic?\" reports.\n\nFix a couple of conflicting function declarations.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2e738fdce22f9a7edf20281fd2d768ef9785922e",
      "tree": "634895e561ad33ac4be20adaf610f420e0de5ace",
      "parents": [
        "4e0038b6b246e4145fc4a53dca61a556d17bc52c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 01 17:01:14 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:53 2012 -0500"
      },
      "message": "SUNRPC: Add API to acquire source address\n\nNFSv4.0 clients must send endpoint information for their callback\nservice to NFSv4.0 servers during their first contact with a server.\nTraditionally on Linux, user space provides the callback endpoint IP\naddress via the \"clientaddr\u003d\" mount option.\n\nDuring an NFSv4 migration event, it is possible that an FSID may be\nmigrated to a destination server that is accessible via a different\nsource IP address than the source server was.  The client must update\ncallback endpoint information on the destination server so that it can\nmaintain leases and allow delegation.\n\nWithout a new \"clientaddr\u003d\" option from user space, however, the\nkernel itself must construct an appropriate IP address for the\ncallback update.  Provide an API in the RPC client for upper layer\nRPC consumers to acquire a source address for a remote.\n\nThe mechanism used by the mount.nfs command is copied: set up a\nconnected UDP socket to the designated remote, then scrape the source\naddress off the socket.  We are careful to select the correct network\nnamespace when setting up the temporary UDP socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4e0038b6b246e4145fc4a53dca61a556d17bc52c",
      "tree": "67055f0c5dca7a4a24b062b1320675ad468d7b69",
      "parents": [
        "2446ab6070861aba2dd9229463ffbc40016a9f33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 01 17:01:05 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:41 2012 -0500"
      },
      "message": "SUNRPC: Move clnt-\u003ecl_server into struct rpc_xprt\n\nWhen the cl_xprt field is updated, the cl_server field will also have\nto change.  Since the contents of cl_server follow the remote endpoint\nof cl_xprt, just move that field to the rpc_xprt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ cel: simplify check_gss_callback_principal(), whitespace changes ]\n[ cel: forward ported to 3.4 ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2446ab6070861aba2dd9229463ffbc40016a9f33",
      "tree": "2e366c3236788936b9f4f58c0787ae01c265f4a4",
      "parents": [
        "a3ca5651cb5eebe2e56e510bbf5cd60abc301c9f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 01 17:00:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:38 2012 -0500"
      },
      "message": "SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field\n\nA migration event will replace the rpc_xprt used by an rpc_clnt.  To\nensure this can be done safely, all references to cl_xprt must now use\na form of rcu_dereference().\n\nSpecial care is taken with rpc_peeraddr2str(), which returns a pointer\nto memory whose lifetime is the same as the rpc_xprt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ cel: fix lockdep splats and layering violations ]\n[ cel: forward ported to 3.4 ]\n[ cel: remove rpc_max_reqs(), add rpc_net_ns() ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "591ad7feaec5417681b4112f8df52fc43bb7c92e",
      "tree": "0555df9d98236f6a63ca109632a277c4458842e3",
      "parents": [
        "2c9030eef9dbd0d737a7f55646da70d217fd6255"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 27 22:05:54 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 27 13:37:48 2012 -0500"
      },
      "message": "SUNRPC: move waitq from RPC pipe to RPC inode\n\nCurrently, wait queue, used for polling of RPC pipe changes from user-space,\nis a part of RPC pipe. But the pipe data itself can be released on NFS umount\nprior to dentry-inode pair, connected to it (is case of this pair is open by\nsome process).\nThis is not a problem for almost all pipe users, because all PipeFS file\noperations checks pipe reference prior to using it.\nExcept evenfd. This thing registers itself with \"poll\" file operation and thus\nhas a reference to pipe wait queue. This leads to oopses on destroying eventfd\nafter NFS umount (like rpc_idmapd do) since not pipe data left to the point\nalready.\nThe solution is to wait queue from pipe data to internal RPC inode data. This\nlooks more logical, because this wiat queue used only for user-space processes,\nwhich already holds inode reference.\n\nNote: upcalls have to get pipe-\u003edentry prior to dereferecing wait queue to make\nsure, that mount point won\u0027t disappear from underneath us.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c9030eef9dbd0d737a7f55646da70d217fd6255",
      "tree": "69f1eafced52fef9d3939d8e1246d5063d14649a",
      "parents": [
        "e9dbca8d732e20b8d31a3094a8669c014e7ee262"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 27 22:05:45 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 27 13:37:09 2012 -0500"
      },
      "message": "SUNRPC: check RPC inode\u0027s pipe reference before dereferencing\n\nThere are 2 tightly bound objects: pipe data (created for kernel needs, has\nreference to dentry, which depends on PipeFS mount/umount) and PipeFS\ndentry/inode pair (created on mount for user-space needs). They both\nindependently may have or have not a valid reference to each other.\nThis means, that we have to make sure, that pipe-\u003edentry reference is valid on\nupcalls, and dentry-\u003epipe reference is valid on downcalls. The latter check is\nabsent - my fault.\nIOW, PipeFS dentry can be opened by some process (rpc.idmapd for example), but\nit\u0027s pipe data can belong to NFS mount, which was unmounted already and thus\npipe data was destroyed.\nTo fix this, pipe reference have to be set to NULL on rpc_unlink() and checked\non PipeFS file operations instead of pipe-\u003edentry check.\n\nNote: PipeFS \"poll\" file operation will be updated in next patch, because it\u0027s\nlogic is more complicated.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "da3b462296e421e8f54b54b7d2706488661c36e2",
      "tree": "9e1330dc3ffafa9ae758949f03b592b12a46ed84",
      "parents": [
        "7df529af5fb4b4064f8cd62629e259ac79c0b4ca"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 27 22:05:29 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 27 13:36:16 2012 -0500"
      },
      "message": "SUNRPC: release per-net clients lock before calling PipeFS dentries creation\n\nv3:\n1) Lookup for client is performed from the beginning of the list on each PipeFS\nevent handling operation.\n\nLockdep is sad otherwise, because inode mutex is taken on PipeFS dentry\ncreation, which can be called on mount notification, where this per-net client\nlock is taken on clients list walk.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cec56c8ff5e28f58ff13041dca7853738ae577a1",
      "tree": "fb21c7337e046cb2361faca4931907e28fadcb5d",
      "parents": [
        "2c8bd7e0d1b66b2f8f267fd6ab62a30569c792c0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Wed Feb 15 11:30:00 2012 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 17 18:38:50 2012 -0500"
      },
      "message": "svcrdma: Cleanup sparse warnings in the svcrdma module\n\nThe svcrdma transport was un-marshalling requests in-place. This resulted\nin sparse warnings due to __beXX data containing both NBO and HBO data.\n\nThe code has been restructured to do byte-swapping as the header is\nparsed instead of when the header is validated immediately after receipt.\n\nAlso moved extern declarations for the workqueue and memory pools to the\nprivate header file.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0a702195234eb77c4097148285cccf7f095de9cf",
      "tree": "40fead6b131fb3c24e3cd85e39fbba8057196457",
      "parents": [
        "b6bf6e7d6f6fae1ddcae9e02dfe676bdc8fe892c"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Fri Feb 17 13:15:24 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 17 13:39:47 2012 -0500"
      },
      "message": "NFS: include filelayout DS rpc stats in mountstats\n\nInclude RPC statistics from all data servers in /proc/self/mountstats for pNFS\nfilelayout mounts.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15a4520621824a3c2eb2de2d1f3984bc1663d3c8",
      "tree": "0ff258cf98774c72793ece98f2605f3fe132e352",
      "parents": [
        "1d96e80faff57b9eefa283b35716a384bbb3d5b3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Feb 14 16:19:18 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 16 14:55:27 2012 -0500"
      },
      "message": "SUNRPC: add sending,pending queue and max slot to xprt stats\n\nWith static RPC slots, the xprt backlog queue stats were useful in showing\nwhen the transport (TCP) was starved by lack of RPC slots. The new dynamic\nRPC slot code, commit d9ba131d8f58c0d2ff5029e7002ab43f913b36f9, always\nprovides an RPC slot and so only uses the xprt backlog queue when the\ntcp_max_slot_table_entries value has been hit or when an allocation error\noccurs. All requests are now placed on the xprt sending or pending queue which\nneed to be monitored for debugging.\n\nThe max_slot stat shows the maximum number of dynamic RPC slots reached which is\nuseful when debugging performance issues.\n\nAdd the new fields at the end of the mountstats xprt stanza so that mountstats\noutputs the previous correct values and ignores the new fields. Bump\nNFS_IOSTATS_VERS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d96e80faff57b9eefa283b35716a384bbb3d5b3",
      "tree": "dbf7bcfa38be395d348c511a7d137d56d596e8cc",
      "parents": [
        "b4b9a0c1c89464dabafef974960f509ce33ae1c0"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Feb 16 17:42:12 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 16 14:00:48 2012 -0500"
      },
      "message": "SUNRPC: init per-net rpcbind spinlock\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2f09c24216cd789653eb8efbf8be88409eb8d581",
      "tree": "8ad3049b8303e4537f03ce3c11abdad468cd0803",
      "parents": [
        "685f50f9188ac1e8244d0340a9d6ea36b6136cec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 08 22:01:15 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:51 2012 -0500"
      },
      "message": "SUNRPC: Ensure that we can trace waitqueues when !defined(CONFIG_SYSCTL)\n\nThe tracepoint code relies on the queue-\u003ename being defined in order to\nbe able to display the name of the waitqueue on which an RPC task is\nsleeping.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\n"
    },
    {
      "commit": "bb2224df5ffe4f864f5b696199b17db1ce77bc0a",
      "tree": "1aa476668966b94ea5f5e399ea15f3aede936f47",
      "parents": [
        "a9c5d73a8d8cb37601f8c39b35b9b4128e1a5254"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:08:05 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:47 2012 -0500"
      },
      "message": "Lockd: per-net up and down routines introduced\n\nThis patch introduces per-net Lockd initialization and destruction routines.\nThe logic is the same as in global Lockd up and down routines. Probably the\nsolution is not the best one. But at least it looks clear.\nSo per-net \"up\" routine are called only in case of lockd is running already. If\nper-net resources are not allocated yet, then service is being registered with\nlocal portmapper and lockd sockets created.\nPer-net \"down\" routine is called on every lockd_down() call in case of global\nusers counter is not zero.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "074d0f67cfe0af4927ce49560f403096b490c47f",
      "tree": "89e578ca4f35a1bddb6cc7c8547ed65744d7bb35",
      "parents": [
        "7b147f1ff267d12e0d189ca3d4156ed5a76b8d99"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 14:09:25 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:46 2012 -0500"
      },
      "message": "SUNRPC: service shutdown function in network namespace context introduced\n\nThis function is enough for releasing resources, allocated for network\nnamespace context, in case of sharing service between them.\nIOW, each service \"user\" (LockD, NFSd, etc), which wants to share service\nbetween network namespaces, have to release related resources by the function,\nintroduced in this patch, instead of performing service shutdown (of course in\ncase the service is shared already to the moment of release).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7b147f1ff267d12e0d189ca3d4156ed5a76b8d99",
      "tree": "651496e6e08521de934b2ad0953e2b81d3f5da2f",
      "parents": [
        "3a22bf506c9df47e93e8dc8a68d86cd8ae384d98"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 14:09:17 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:45 2012 -0500"
      },
      "message": "SUNRPC: service destruction in network namespace context\n\nv2: Added comment to BUG_ON\u0027s in svc_destroy() to make code looks clearer.\n\nThis patch introduces network namespace filter for service destruction\nfunction.\nNothing special here - just do exactly the same operations, but only for\ntranports in passed networks namespace context.\nBTW, BUG_ON() checks for empty service transports lists were returned into\nsvc_destroy() function. This is because of swithing generic svc_close_all() to\nnetworks namespace dependable svc_close_net().\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a22bf506c9df47e93e8dc8a68d86cd8ae384d98",
      "tree": "4dbbd631e3083969d265c8f2a0782c395882e09f",
      "parents": [
        "6f5133652eaab6fbd88bdb1b1fd2236fd82583cb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 14:09:08 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:45 2012 -0500"
      },
      "message": "SUNRPC: clear svc transports lists helper introduced\n\nThis patch moves service transports deletion from service sockets lists to\nseparated function.\nThis is a precursor patch, which would be usefull with service shutdown in\nnetwork namespace context, introduced later in the series.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f5133652eaab6fbd88bdb1b1fd2236fd82583cb",
      "tree": "c1cd295993d8d8f4808bed47bada155d9189a2ed",
      "parents": [
        "ef159e9177cc5a09e6174796dde0b2d243ddf28b"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 14:09:00 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:44 2012 -0500"
      },
      "message": "SUNRPC: clear svc pools lists helper introduced\n\nThis patch moves removing of service transport from it\u0027s pools ready lists to\nseparated function. Also this clear is now done with list_for_each_entry_safe()\nhelper.\nThis is a precursor patch, which would be usefull with service shutdown in\nnetwork namespace context, introduced later in the series.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "87e3c0553fcbea79bf9f17fc5694484ecf3ae5e8",
      "tree": "7d0dcc070b4fdb9cbb7defa212feb4ba82519a26",
      "parents": [
        "b01dd1d8fae6178cbec374b90da2e4a3b8dce9ba"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Feb 01 10:46:20 2012 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 18:47:59 2012 -0500"
      },
      "message": "SUNRPC: remove an unneeded NULL check in xprt_connect()\n\nWe check \"task-\u003etk_rqstp\" and then we dereference it without checking on\nthe next line.  The only caller is call_connect() and that has a check\nwhich prevents it from calling xprt_connect() with a NULL.\n\n                if (task-\u003etk_status \u003c 0)\n                        return;\n\nIf \"task-\u003etk_rqstp\" were NULL then \"tk_status\" would be -EAGAIN.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5753cba17611af108995672c4e2d978014e17a56",
      "tree": "5b0588c60045b155e9dc79e01490b248e19b6c2c",
      "parents": [
        "85c0d24f026ca6935897694be4eb0b5c514b907d"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Mon Feb 06 10:08:08 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:37:53 2012 -0500"
      },
      "message": "SUNRPC: Adding status trace points\n\nThis patch adds three trace points to the status routines\nin the sunrpc state machine.\n\nThe goal of these trace points is to give an Admin\nthe ability to check on binding status or connection\nstatus to see if there is a potential problem.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f912ceb7ed1df1ed98ad2c28995dd66529a690a",
      "tree": "57ffee2d8b7af05fead0259fe59925312104a643",
      "parents": [
        "3476964dba98641716173445aade77d40cc6f27a"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 20 16:55:39 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 03 14:26:43 2012 -0500"
      },
      "message": "SUNPRC: remove marking service temporary sockets with XPT_CHNGBUF\n\nThis is a cleanup patch.\nService temporary sockets can be TCP or RDMA only. But XPT_CHNGBUF service\nsocket flag is checked only for UDP sockets on receive.\nThus (if I don\u0027t miss something non-obvious) this bit raising for temporary\nsockets can be removed.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3476964dba98641716173445aade77d40cc6f27a",
      "tree": "e63392ae1073db8c91e96cab7c0127960c629925",
      "parents": [
        "6d8d17499810479eabd10731179c04b2ca22152f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Jan 20 10:48:18 2012 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 03 14:26:42 2012 -0500"
      },
      "message": "nfsd: remove some unneeded checks\n\nWe check for zero length strings in the caller now, so these aren\u0027t\nneeded.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6d8d17499810479eabd10731179c04b2ca22152f",
      "tree": "b0c0324a0735ee98fc967ff034fc60e8035cdac8",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Jan 18 12:56:02 2012 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 03 14:26:42 2012 -0500"
      },
      "message": "nfsd: don\u0027t allow zero length strings in cache_parse()\n\nThere is no point in passing a zero length string here and quite a\nfew of that cache_parse() implementations will Oops if count is\nzero.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d3b773e4fd80524ac27802fcf11cfd9ed1d5491f",
      "tree": "eb0577d113cdd4b84b0f8e82616ccc6a8988a77b",
      "parents": [
        "d36b7cf7c626749efc75f49fb0468e8c3c0c1bbd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 23 13:22:45 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:22 2012 -0500"
      },
      "message": "SUNRPC: fixup for namespace changes\n\nFixes this build error when CONFIG_NET_NS is not set:\n\nnet/sunrpc/svcsock.c: In function \u0027svc_setup_socket\u0027:\nnet/sunrpc/svcsock.c:1412:40: error: \u0027struct sock_common\u0027 has no member named \u0027skc_net\u0027\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "82b0a4c3c171b180629696e8d1d5f52516f711e6",
      "tree": "60aab7bc3a767e3c017a228597eaaeedeffe4c00",
      "parents": [
        "a613fa168afc19179a7547fbba45644c5b6912bf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 14:52:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:21 2012 -0500"
      },
      "message": "SUNRPC: Add trace events to the sunrpc subsystem\n\nAdd declarations to allow tracing of RPC call creation, running, sleeping,\nand destruction.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a613fa168afc19179a7547fbba45644c5b6912bf",
      "tree": "02db1b9ca905ff49d9811175607757e3a885325f",
      "parents": [
        "080b794ce5ad318ce34c52abaedf1bc6788a5abb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:20 2012 -0500"
      },
      "message": "SUNRPC: constify the rpc_program\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "080b794ce5ad318ce34c52abaedf1bc6788a5abb",
      "tree": "f44c01823db805ae30e866d458dc5c6f7002750a",
      "parents": [
        "6eac7d3f45a2519283d38bf670cb6968230124f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:20 2012 -0500"
      },
      "message": "SUNRPC: constify rpc_program-\u003ename\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6eac7d3f45a2519283d38bf670cb6968230124f8",
      "tree": "af5542a51d63d971d2fe1af95e27617dc4947104",
      "parents": [
        "4cb54ca2069903121e4c03ec427147c47bed5755"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:37 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:19 2012 -0500"
      },
      "message": "SUNRPC: constify rpc_clnt fields cl_server and cl_protname\n\n...and get rid of the superfluous cl_inline_name.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4cb54ca2069903121e4c03ec427147c47bed5755",
      "tree": "2d156d3d9f37a385a27f444f315c0498f0e9475f",
      "parents": [
        "babea479b75a9ea3d84ace6d880513e18397a8bb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 20 16:50:53 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:19 2012 -0500"
      },
      "message": "SUNRPC: search for service transports in network namespace context\n\nService transports are parametrized by network namespace. And thus lookup of\ntransport instance have to take network namespace into account.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "246590f56c9f281d60b7dd7efa0818307e65600d",
      "tree": "aa48cef874939af0de0e78bf51d983e3ed8d50f6",
      "parents": [
        "cc9f4be5ffb86b4b483eeb15eb08aebc60a1b9a9"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Dec 06 16:42:49 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:18 2012 -0500"
      },
      "message": "SUNRPC: register service stats /proc entries in passed network namespace context\n\nThis patch makes it possible to create NFSd program entry (\"/proc/net/rpc/nfsd\")\nin passed network namespace context instead of hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec7652aaf261b7dcb368344369df1e99886c7cd2",
      "tree": "0d21ca45022adb1221690cb5e368bc17d3f58531",
      "parents": [
        "170942726b16a1dfcc605f0b510b9663b66fa7a3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Dec 06 16:42:40 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:17 2012 -0500"
      },
      "message": "SUNRPC: register RPC stats /proc entries in passed network namespace context\n\nThis patch makes it possible to create NFS program entry (\"/proc/net/rpc/nfs\")\nin passed network namespace context instead of hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c5f846747526e2b83c5f1b8e69016be0e2e87c0",
      "tree": "730240d3ab15aaaee9e45cbb351f637e4ad122f4",
      "parents": [
        "d05cc10406893dec65b8e89746e7d4c333935415"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:53 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:16 2012 -0500"
      },
      "message": "SUNRPC: generic cache register routines removed\n\nAll cache users now uses network-namespace-aware routines, so generic ones\nare obsolete.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d05cc10406893dec65b8e89746e7d4c333935415",
      "tree": "e9ec5767d68fb461447bf577da840a00b451cc64",
      "parents": [
        "a1db410d0bbadc49943f0fcddb21702ceb429396"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:45 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:16 2012 -0500"
      },
      "message": "SUNRPC: ip map cache per network namespace cleanup\n\nThis patch converts ip_map_cache per network namespace implemenetation to the\nsame view, as other caches done in the series.\nBesides generalization, code becomes shorter with this patch.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a1db410d0bbadc49943f0fcddb21702ceb429396",
      "tree": "09f1a94d7c4ef70d6122f936b1fa309996f170ee",
      "parents": [
        "73393232d6a425b6bb4cee590e3e66fc52532a15"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:37 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:15 2012 -0500"
      },
      "message": "SUNRPC: create GSS auth cache per network namespace\n\nThis patch makes GSS auth cache details allocated and registered per network\nnamespace context.\nThus with this patch rsi_cache and rsc_cache contents for network namespace \"X\"\nare controlled from proc file system mount for the same network namespace \"X\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "73393232d6a425b6bb4cee590e3e66fc52532a15",
      "tree": "e0df6bd41e665a307856b29c216473969fe88575",
      "parents": [
        "0a402d5a653ee2b613aaba3092a87b1e964622ce"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:29 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:15 2012 -0500"
      },
      "message": "SUNRPC: create unix gid cache per network namespace\n\nv2:\n1) fixed silly usage of template cache as a real one (this code left from\nstatic global cache for all)\n\nThis patch makes unix_gid_cache cache detail allocated and registered per\nnetwork namespace context.\nThus with this patch unix_gid_cache contents for network namespace \"X\" are\ncontrolled from proc file system mount for the same network namespace \"X\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0a402d5a653ee2b613aaba3092a87b1e964622ce",
      "tree": "160a5942e42d7a537859e318837bf475bc8123e0",
      "parents": [
        "5ecebb7c7fd737cf387a552994df319c063973db"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:21 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: cache creation and destruction routines introduced\n\nThis patch prepares infrastructure for network namespace aware cache detail\nallocation.\nOne note about adding network namespace link to cache structure. It\u0027s going to\nbe used later in NFS DNS cache parsing routine (nfs_dns_parse for rpc_pton()\ncall).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5ecebb7c7fd737cf387a552994df319c063973db",
      "tree": "5442ab61f417961b8908f1d2e82f837204830b80",
      "parents": [
        "bee42f688c915b510a4aabae4f7a99457137d6f3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:03:04 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: unregister service on creation in current network namespace\n\nOn service shutdown we can be sure, that no more users of it left except\ncurrent. Thus it looks like using current network namespace context is safe in\nthis case.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bee42f688c915b510a4aabae4f7a99457137d6f3",
      "tree": "a3de1330fcdbd3885fdfa48c5701372d5fef6324",
      "parents": [
        "5247fab5c82779174d50590e0200bf532248a8a1"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:02:56 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: register service on creation in current network namespace\n\nService, using rpcbind (Lockd, NFSd) are starting from userspace call and thus\nwe can use current network namespace.\nThere could be a problem with NFSd service, because it\u0027s creation can be called\nthrough NFSd fs from different network namespace. But this is a part of \"NFSd\nper net ns\" task and will be fixed in future.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5247fab5c82779174d50590e0200bf532248a8a1",
      "tree": "e9933b229e07e2a74020ce5af74ddfe83cc95db7",
      "parents": [
        "b030fb0bb113316cc6f56779388b8572ab0699da"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:02:48 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:13 2012 -0500"
      },
      "message": "SUNRPC: pass network namespace to service registering routines\n\nLockd and NFSd services will handle requests from and to many network\nnsamespaces. And thus have to be registered and unregistered per network\nnamespace.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b030fb0bb113316cc6f56779388b8572ab0699da",
      "tree": "5e6e05faddc8d6637f1c2280c2da5e8d2b2f4a9c",
      "parents": [
        "f2ac4dc911fdbc9b98a6a48b40efc45aa9161775"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:02:40 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:13 2012 -0500"
      },
      "message": "SUNRPC: use proper network namespace in rpcbind RPCBPROC_GETADDR procedure\n\nPass request socket network namespace to rpc_uaddr2sockaddr() instead of\nhardcoded \"init_net\",  when decoding address in RPCBPROC_GETADDR procedure.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f2ac4dc911fdbc9b98a6a48b40efc45aa9161775",
      "tree": "0edcf3975fc749ef1e079b197d1711accbb386e3",
      "parents": [
        "90100b1766c914c820baa78b5be6845fae1159b8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:27 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:12 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_uaddr2sockaddr() by network context\n\nParametrize rpc_uaddr2sockaddr() by network context and thus force it\u0027s callers to pass\nin network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90100b1766c914c820baa78b5be6845fae1159b8",
      "tree": "8bfc406c44d8238aff6be33773bccf2083d3f66e",
      "parents": [
        "8b147f74738d9ab7e76085e5535e0fe8dc8b29f4"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:19 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:12 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_pton() by network context\n\nParametrize rpc_pton() by network context and thus force it\u0027s callers to pass\nin network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b147f74738d9ab7e76085e5535e0fe8dc8b29f4",
      "tree": "ef970b0447d676b5d2a13117bb20750134749eb7",
      "parents": [
        "3065f1e29aa2716c8903cfeff368df4b5314040a"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:11 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:11 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_pton6() by network context\n\nParametrize rpc_pton6() by network context and thus force it\u0027s caller\nto pass in network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3065f1e29aa2716c8903cfeff368df4b5314040a",
      "tree": "7b7f00f3f6b28e802aad9c2827fa014e152108fb",
      "parents": [
        "f7a30c18e8d673c996095420a026a28433cb4096"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:03 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:11 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_parse_scope_id() by network context\n\nParametrize rpc_parse_scope_id() by network context and thus force it\u0027s caller\nto pass in network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f7a30c18e8d673c996095420a026a28433cb4096",
      "tree": "a5f84a1fed803c837be1570b0faa073219fdc399",
      "parents": [
        "977ac3157328239a0f4074b13a3d9eb5c832cd6c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:51 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:11 2012 -0500"
      },
      "message": "SUNRPC: parametrize local rpcbind clients creation with net ns\n\nThese client are per network namespace and thus can be created for different\nnetwork namespaces.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "977ac3157328239a0f4074b13a3d9eb5c832cd6c",
      "tree": "6b309227b39229a0afd1158c768f3a796e755791",
      "parents": [
        "c2550e07a61a4528673fb85aaaee16048b7cf6cc"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:43 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:10 2012 -0500"
      },
      "message": "SUNRPC: register rpcbind programs in passed network namespase context\n\nRegistering rpcbind program requires rpcbind clients, which are per network\nnamespace context.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2550e07a61a4528673fb85aaaee16048b7cf6cc",
      "tree": "5e58dcbaa7b47d25edbad21b921573fe88f59a7b",
      "parents": [
        "1a114a66466ba914a41df438e806fc10e7d9fb3b"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:35 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:10 2012 -0500"
      },
      "message": "SUNRPC: create rpcbind client in passed network namespace context\n\nRpcbind clients are per network namespace.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1a114a66466ba914a41df438e806fc10e7d9fb3b",
      "tree": "1223d978fbe72ac542c10041b408df1ae6693bf1",
      "parents": [
        "2ea75a10add779b722650aa10836247e7d609fd7"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:26 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:09 2012 -0500"
      },
      "message": "SUNRPC: optimize net_ns dereferencing in rpcbind registering calls\n\nStatic rpcbind registering functions can be parametrized by network namespace\npointer, calculated only once, instead of using init_net pointer (or taking it\nfrom current when virtualization will be comleted) in many places.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2ea75a10add779b722650aa10836247e7d609fd7",
      "tree": "ad5a78886546f8c16523424f928c1b2e7c0960e9",
      "parents": [
        "dff02d499c067bdde589b764321b35fe763569f6"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:18 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:09 2012 -0500"
      },
      "message": "SUNRPC: optimize net_ns dereferencing in rpcbind creation calls\n\nStatic rpcbind creation functions can be parametrized by network namespace\npointer, calculated only once, instead of using init_net pointer (or taking it\nfrom current when virtualization will be comleted) in many places.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "dff02d499c067bdde589b764321b35fe763569f6"
}
