)]}'
{
  "log": [
    {
      "commit": "201f92e2ca789d529418da8fa027d5457f0df024",
      "tree": "f1d88a50dc95c415a2c8e9ba571620d2ca4c151c",
      "parents": [
        "6ac556daa7822fdda585e2c387739abb0646c6ef",
        "ec0dd267bf7d08cb30e321e45a75fd40edd7e528"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 13 14:34:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 13 14:34:08 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  SUNRPC: Fix use of static variable in rpcb_getport_async\n  NFSv4.1: update nfs4_fattr_bitmap_maxsz\n  SUNRPC: Fix a race between work-queue and rpc_killall_tasks\n  pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs\n"
    },
    {
      "commit": "e5012d1f3861d18c7f3814e757c1c3ab3741dbcd",
      "tree": "9dc6dd5cdac41a0bcbee593cb31b5866530fe036",
      "parents": [
        "b55c59892e1f3b6c7d4b9ccffb4263e1486fb990"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jul 11 17:17:42 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 11 19:14:38 2011 -0400"
      },
      "message": "NFSv4.1: update nfs4_fattr_bitmap_maxsz\n\nAttribute IDs assigned in RFC 5661 now require three bitmaps.\nFixes hitting a BUG_ON in xdr_shrink_bufhead when getting ACLs.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nCc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c902ce1bfb40d8b049bd2319b388b4b68b04bc27",
      "tree": "7dcb1e8378f8ec8e7ad7684cd26e9d5a1b5b22d1",
      "parents": [
        "075d9db13183c102770dc6cefabfee1b832f9614"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 07 12:19:48 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 07 13:21:56 2011 -0700"
      },
      "message": "FS-Cache: Add a helper to bulk uncache pages on an inode\n\nAdd an FS-Cache helper to bulk uncache pages on an inode.  This will\nonly work for the circumstance where the pages in the cache correspond\n1:1 with the pages attached to an inode\u0027s page cache.\n\nThis is required for CIFS and NFS: When disabling inode cookie, we were\nreturning the cookie and setting cifsi-\u003efscache to NULL but failed to\ninvalidate any previously mapped pages.  This resulted in \"Bad page\nstate\" errors and manifested in other kind of errors when running\nfsstress.  Fix it by uncaching mapped pages when we disable the inode\ncookie.\n\nThis patch should fix the following oops and \"Bad page state\" errors\nseen during fsstress testing.\n\n  ------------[ cut here ]------------\n  kernel BUG at fs/cachefiles/namei.c:201!\n  invalid opcode: 0000 [#1] SMP\n  Pid: 5, comm: kworker/u:0 Not tainted 2.6.38.7-30.fc15.x86_64 #1 Bochs Bochs\n  RIP: 0010: cachefiles_walk_to_object+0x436/0x745 [cachefiles]\n  RSP: 0018:ffff88002ce6dd00  EFLAGS: 00010282\n  RAX: ffff88002ef165f0 RBX: ffff88001811f500 RCX: 0000000000000000\n  RDX: 0000000000000000 RSI: 0000000000000100 RDI: 0000000000000282\n  RBP: ffff88002ce6dda0 R08: 0000000000000100 R09: ffffffff81b3a300\n  R10: 0000ffff00066c0a R11: 0000000000000003 R12: ffff88002ae54840\n  R13: ffff88002ae54840 R14: ffff880029c29c00 R15: ffff88001811f4b0\n  FS:  00007f394dd32720(0000) GS:ffff88002ef00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n  CR2: 00007fffcb62ddf8 CR3: 000000001825f000 CR4: 00000000000006e0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process kworker/u:0 (pid: 5, threadinfo ffff88002ce6c000, task ffff88002ce55cc0)\n  Stack:\n   0000000000000246 ffff88002ce55cc0 ffff88002ce6dd58 ffff88001815dc00\n   ffff8800185246c0 ffff88001811f618 ffff880029c29d18 ffff88001811f380\n   ffff88002ce6dd50 ffffffff814757e4 ffff88002ce6dda0 ffffffff8106ac56\n  Call Trace:\n   cachefiles_lookup_object+0x78/0xd4 [cachefiles]\n   fscache_lookup_object+0x131/0x16d [fscache]\n   fscache_object_work_func+0x1bc/0x669 [fscache]\n   process_one_work+0x186/0x298\n   worker_thread+0xda/0x15d\n   kthread+0x84/0x8c\n   kernel_thread_helper+0x4/0x10\n  RIP  cachefiles_walk_to_object+0x436/0x745 [cachefiles]\n  ---[ end trace 1d481c9af1804caa ]---\n\nI tested the uncaching by the following means:\n\n (1) Create a big file on my NFS server (104857600 bytes).\n\n (2) Read the file into the cache with md5sum on the NFS client.  Look in\n     /proc/fs/fscache/stats:\n\n\tPages  : mrk\u003d25601 unc\u003d0\n\n (3) Open the file for read/write (\"bash 5\u003c\u003e/warthog/bigfile\").  Look in proc\n     again:\n\n\tPages  : mrk\u003d25601 unc\u003d25601\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\ncc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bea038c52e88badbbd5b420c1de918f7f2579e9",
      "tree": "84e3c8533b493f0c4cc64e27e37ffb96d81a4521",
      "parents": [
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Jun 16 11:35:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 28 14:12:11 2011 -0400"
      },
      "message": "pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs\n\nIn current pnfs tree, all the layouts set mds_offset in their\n.write_pagelist member.\nmds_offset is only used by generic layer and should be handled by it.\n\nThis patch is for upstream. It is needed in this -rc series to fix a\nbug in objects layout_commit.\n\nI\u0027ll send patches for objects and blocks to be\nsquashed into current pnfs tree.\n\nTODO: It looks like the read path needs the same patch.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1650add23578b5ca35c1f1e863987180a8c03779",
      "tree": "886647bf9928ff27f25d0de82c356c1f238738c3",
      "parents": [
        "19982ba8562e33083cb5bbb59a74855d8a9624ea"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Jun 02 15:07:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:07 2011 -0400"
      },
      "message": "NFS: Fix decode_secinfo_maxsz\n\nI initially did the calculation in bytes, and not words\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19982ba8562e33083cb5bbb59a74855d8a9624ea",
      "tree": "51656f4ff6252a0207a0f42feea147c736474171",
      "parents": [
        "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:06 2011 -0400"
      },
      "message": "NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n\nAnd document what is going on there...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4",
      "tree": "aa95020eb43fe3cdb45ce96c9ec024b92f5c7621",
      "parents": [
        "19345cb299e8234006c5125151ab723e851a1d24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:22 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:05 2011 -0400"
      },
      "message": "NFSv4.1: Fix some issues with pnfs_generic_pg_test\n\n1. If the intention is to coalesce requests \u0027prev\u0027 and \u0027req\u0027 then we\n   have to ensure at least that we have a layout starting at\n   req_offset(prev).\n\n2. If we\u0027re only requesting a minimal layout of length desc-\u003epg_count,\n   we need to test the length actually returned by the server before\n   we allow the coalescing to occur.\n\n3. We need to deal correctly with (pgio-\u003elseg \u003d\u003d NULL)\n\n4. Fixup the test guarding the pnfs_update_layout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19345cb299e8234006c5125151ab723e851a1d24",
      "tree": "43bde1db751eb50afbdabfbd26814431c8be573c",
      "parents": [
        "df18d127f4fed7a0284bcfa8d2843800cdb63b72"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sun Jun 19 18:33:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 20 16:12:26 2011 -0400"
      },
      "message": "NFSv4.1: file layout must consider pg_bsize for coalescing\n\nOtherwise we end up overflowing the rpc buffer size on the receive end.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "df18d127f4fed7a0284bcfa8d2843800cdb63b72",
      "tree": "a3083c18d3370fd959cbb6d1a654823a2c612068",
      "parents": [
        "5afa9133cfe67f1bfead6049a9640c9262a7101c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jun 17 16:25:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 19 14:49:51 2011 -0400"
      },
      "message": "pnfs-obj: No longer needed to take an extra ref at add_device\n\nAndy\u0027s last device_cache patches, already take an extra\nreference on the newly inserted device_id. So we can remove it\nfrom obj-io.\n\nWithout this patch the device_ids are leaked.\n\nAndy\u0027s patches are not in Linus tree yet. So I\u0027m not sure if they are\nscheduled for this Kernel or the next. This patch should be added as\npart of these.\n\nCC: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee7b75fc4f3ae49e1f25bf56219bb5de3c29afaf",
      "tree": "929f8cb07d4e974f5cfa8952a8d6643edfb5a2f5",
      "parents": [
        "9e2dfdb3081edfae66a49013517e80dd8a0469fa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:15:41 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:24:47 2011 -0400"
      },
      "message": "NFSv4: Fix a readdir regression\n\nCommit 7ebb9315 (NFS: use secinfo when crossing mountpoints) introduces\na regression when decoding an NFSv4 readdir entry that sets the\nrdattr_error field.\nBy treating the resulting value as if it is a decoding error, the current\ncode may cause us to skip valid readdir entries.\n\nReported-by: Andy Adamson \u003candros@netapp.com\u003e\nCc: stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e2dfdb3081edfae66a49013517e80dd8a0469fa",
      "tree": "8b919ceb047bb75a4525ba64ba930026e4e148c4",
      "parents": [
        "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 14:32:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 14:36:33 2011 -0400"
      },
      "message": "nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89",
      "tree": "ce4589aecc27e8936529ce1cbc4d8a129a1f43b2",
      "parents": [
        "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 12:31:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 12:39:23 2011 -0400"
      },
      "message": "nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n\nmark_matching_lsegs_invalid could put the last ref to the layout, so\nthe get_layout_hdr needs to be called first.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc",
      "tree": "2e4f96dccc79f57a9afb0cd0bc89add38d311d94",
      "parents": [
        "c7fd06228b994190d8369a2a0acf5224e4e13d1a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Wed Jun 15 11:39:57 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:52:15 2011 -0400"
      },
      "message": "NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n\nWe always get a reference on the layout header and we rely on\nnfs4_layoutreturn_release to put it.  If we hit an allocation error\nbefore starting the rpc proc we bail out early without dereferncing\nthe layout header properly.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7fd06228b994190d8369a2a0acf5224e4e13d1a",
      "tree": "984982b02e8e890b5805ec7ed6605bc2afc86635",
      "parents": [
        "d771e3a43e23a37398b7e05a9d1b1036d698263c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jun 15 00:55:44 2011 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:31 2011 -0400"
      },
      "message": "NFS: (d)printks should use %zd for ssize_t arguments\n\n(d)printks should use %zd for ssize_t arguments not %ld, otherwise they might\nget a warning.  I see the following with MN10300.\n\nfs/nfs/objlayout/objlayout.c: In function \u0027objlayout_read_done\u0027:\nfs/nfs/objlayout/objlayout.c:294: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\ncc: linux-nfs@vger.kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d771e3a43e23a37398b7e05a9d1b1036d698263c",
      "tree": "60bdf8b0722527c7d48a76abc1f57dddc6d0ddc5",
      "parents": [
        "a2e1d4f2e5ed83850de92a491ef225824cb457bd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Tue Jun 14 16:30:16 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:31 2011 -0400"
      },
      "message": "NFSv4.1: fix break condition in pnfs_find_lseg\n\nThe break condition to skip out of the loop got broken when cmp_layout\nwas change.  Essentially, we want to stop looking once we know no layout\non the remainder of the list can match the first byte of the looked-up\nrange.\n\nReported-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2e1d4f2e5ed83850de92a491ef225824cb457bd",
      "tree": "a97ec1b7e83b254e9b7179425e848d72cd6c3db3",
      "parents": [
        "cec765cf5891c7fc3d905832b481bfb6fd55825d"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Mon Jun 13 18:54:53 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:30 2011 -0400"
      },
      "message": "nfs4.1: fix several problems with _pnfs_return_layout\n\n_pnfs_return_layout had the following problems:\n\n- it did not call pnfs_free_lseg_list on all paths\n- it unintentionally did a forgetful return when there was no outstanding io\n- it raced with concurrent LAYOUTGETS\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cec765cf5891c7fc3d905832b481bfb6fd55825d",
      "tree": "ae3ec9371f7aedfcebb96a02887d5550c4ba5e26",
      "parents": [
        "533eb4611c9eea53072eb6a61d5a6393b6a77ed7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:36:17 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:30 2011 -0400"
      },
      "message": "NFSv4.1: allow zero fh array in filelayout decode layout\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\ncc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "533eb4611c9eea53072eb6a61d5a6393b6a77ed7",
      "tree": "adb2b4cbfe85689979d2cf971b65ebcd0d383d56",
      "parents": [
        "1d92a08da23848a38eece4df7eaa4e8ec0e6c699"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:25:56 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:29 2011 -0400"
      },
      "message": "NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n\nCommit 28331a46d88459788c8fca72dbb0415cd7f514c9 \"Ensure we request the\nordinary fileid when doing readdirplus\"\nchanged the meaning of NFS_ATTR_FATTR_FILEID which used to be set when\nFATTR4_WORD1_MOUNTED_ON_FILED was requested.\n\nAllow nfs_fhget to succeed with only a mounted on fileid when crossing\na mountpoint or a referral.\n\nAsk for the fileid of the absent file system if mounted_on_fileid is not\nsupported.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\ncc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d92a08da23848a38eece4df7eaa4e8ec0e6c699",
      "tree": "17da4ebe1aba9da32990a7fa5bbe3f2ff6f60941",
      "parents": [
        "c9c30dd5f73dccaa326a54dfcf490316946aea87"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 14 12:07:38 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:29 2011 -0400"
      },
      "message": "NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n\nWhen we add something to the global device id cache, we need to bump the\nreference count, so that the cache itself holds a reference.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9c30dd5f73dccaa326a54dfcf490316946aea87",
      "tree": "b7e4f9488c805cf5e29f93b25a75713f3922e823",
      "parents": [
        "0f66b5984df2fe1617c05900a39a7ef493ca9de9"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sat Jun 11 17:08:39 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:28 2011 -0400"
      },
      "message": "NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n\nWe don\u0027t support header padding yet so better off ditching it\n\nReported-by: Sid Moore \u003clearnmost@gmail.com\u003e\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f66b5984df2fe1617c05900a39a7ef493ca9de9",
      "tree": "682ad324d9cfab94ffde805c6ca0372f7f40d3d3",
      "parents": [
        "0b760113a3a155269a3fba93a409c640031dd68f"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Oct 16 22:07:46 2010 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:28 2011 -0400"
      },
      "message": "NFS41: do not update isize if inode needs layoutcommit\n\nnfs_update_inode will update isize if there is no queued pages. For pNFS,\nlayoutcommit is supposed to change file size on server, the same effect as queued\npages. nfs_update_inode may be called when dirty pages are written back (nfsi-\u003enpages\u003d\u003d0)\nbut layoutcommit is not sent, and it will change client file size according to server\nfile size. Then client ends up losing what it just writes back in pNFS path.\nSo we should skip updating client file size if file needs layoutcommit.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nCc: stable@kernel.org   [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e3bd4e24e94d60d2e0762e919aab6c9a7fc0c5b",
      "tree": "61ac70f49e793494dee1196dae55ac0c19036410",
      "parents": [
        "3f303103b884ca577908d3e5c0650ad12e40c586"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Tue May 31 21:46:50 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:23:02 2011 -0400"
      },
      "message": "NFS: fix umount of pnfs filesystems\n\nUnmounting a pnfs filesystem hangs using filelayout and possibly others.\nThis fixes the use of the rcu protected node by making use of a new \u0027tmpnode\u0027\nfor the temporary purge list. Also, the spinlock shouldn\u0027t be held when calling\nsynchronize_rcu().\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd1acdf1723d71b28175f95b04305f1cc74ce363",
      "tree": "7ab58883eccd314be3d8efafd59a124d4ffbb861",
      "parents": [
        "fac04863cef53a69830590b2e1c54345068a9747",
        "9342077011d54f42fa1b88b7bc1f7008dcf5fff9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "message": "Merge branch \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd: (32 commits)\n  pnfs-obj: pg_test check for max_io_size\n  NFSv4.1: define nfs_generic_pg_test\n  NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n  NFSv4.1: change pg_test return type to bool\n  NFSv4.1: unify pnfs_pageio_init functions\n  pnfs-obj: objlayout_encode_layoutcommit implementation\n  pnfs: encode_layoutcommit\n  pnfs-obj: report errors and .encode_layoutreturn Implementation.\n  pnfs: encode_layoutreturn\n  pnfs: layoutret_on_setattr\n  pnfs: layoutreturn\n  pnfs-obj: osd raid engine read/write implementation\n  pnfs: support for non-rpc layout drivers\n  pnfs-obj: define per-inode private structure\n  pnfs: alloc and free layout_hdr layoutdriver methods\n  pnfs-obj: objio_osd device information retrieval and caching\n  pnfs-obj: decode layout, alloc/free lseg\n  pnfs-obj: pnfs_osd XDR client implementation\n  pnfs-obj: pnfs_osd XDR definitions\n  pnfs-obj: objlayoutdriver module skeleton\n  ...\n"
    },
    {
      "commit": "f1d1c9fa8f360990e263bdcb73e35ab6fbdc41fe",
      "tree": "91468535e200f890fd532d5cbb50df59035278e0",
      "parents": [
        "2ff55e98d6e662a4887d2c688a4ab2ae510a97df",
        "176e21ee2ec89cae8d45cf1a850ea45a45428fb8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  SUNRPC: Support for RPC over AF_LOCAL transports\n  SUNRPC: Remove obsolete comment\n  SUNRPC: Use AF_LOCAL for rpcbind upcalls\n  SUNRPC: Clean up use of curly braces in switch cases\n  NFS: Revert NFSROOT default mount options\n  SUNRPC: Rename xs_encode_tcp_fragment_header()\n  nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()\n  nfs41: Correct offset for LAYOUTCOMMIT\n  NFS: nfs_update_inode: print current and new inode size in debug output\n  NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors\n  NFSv4: Handle expired stateids when the lease is still valid\n  SUNRPC: Deal with the lack of a SYN_SENT sk-\u003esk_state_change callback...\n"
    },
    {
      "commit": "9342077011d54f42fa1b88b7bc1f7008dcf5fff9",
      "tree": "88ef803dae5672d8bb40a563a6d2d301ae2e782f",
      "parents": [
        "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed May 25 21:25:29 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:03:08 2011 +0300"
      },
      "message": "pnfs-obj: pg_test check for max_io_size\n\nImplement pg_test vector to test for max IO sizes. We calculate\na max_io_size member only once, and cache it in lseg so to not\ndo so on every page insert.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[simplify logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca",
      "tree": "4b83c833021014fd51fcffbff88eea8069cd9cff",
      "parents": [
        "89a58e32d9105c01022a757fb32ddc3b51bf0025"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 11:45:39 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:02:42 2011 +0300"
      },
      "message": "NFSv4.1: define nfs_generic_pg_test\n\nBy default, unless pnfs is used coalesce pages until pg_bsize\n(rsize or wsize) is reached.\n\npnfs layout drivers define their own pg_test methods that use\npnfs_generic_pg_test and need to define their own I/O size\nlimits (e.g. based on the file stripe size).\n\n[Move a check from nfs_pageio_do_add_request to nfs_generic_pg_test]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "89a58e32d9105c01022a757fb32ddc3b51bf0025",
      "tree": "fd04ff022a084339868e81fc9a4679667c2b70bd",
      "parents": [
        "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:54:40 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:55 2011 +0300"
      },
      "message": "NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84",
      "tree": "a0936cf11e81969c0f84716ab958cd4728c87f54",
      "parents": [
        "dfed206b8857d41a91ebba030f99e30017a44dda"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 21:03:56 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:54 2011 +0300"
      },
      "message": "NFSv4.1: change pg_test return type to bool\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "dfed206b8857d41a91ebba030f99e30017a44dda",
      "tree": "ac4c161b548e872e92da36499a2e8c28f5a34aeb",
      "parents": [
        "a0fe8bf427f4987d7b82678292ca03cfd7331467"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:25:22 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:43 2011 +0300"
      },
      "message": "NFSv4.1: unify pnfs_pageio_init functions\n\nUse common code for pnfs_pageio_init_{read,write} and use\na common generic pg_test function.\n\nNote that this function always assumes the the layout driver\u0027s\npg_test method is implemented.\n\n[Fix BUG]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a0fe8bf427f4987d7b82678292ca03cfd7331467",
      "tree": "d995bd164b03dde89da24af979931c2490fe9414",
      "parents": [
        "ac7db7264ac3314cae09893bc838fcb7e83267a4"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:54:13 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs-obj: objlayout_encode_layoutcommit implementation\n\n* Define API for io-engines to report delta_space_used in IOs\n* Encode the osd-layout specific information of the layoutcommit\n  XDR buffer.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ac7db7264ac3314cae09893bc838fcb7e83267a4",
      "tree": "7586470df26218daa8d771760615ae0d76e6788a",
      "parents": [
        "adb58535e604a564495a7d50dfb0afa0ddc21bcb"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:53:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs: encode_layoutcommit\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout commit in-line in the xdr stream.\n\nCurrently, the pnfs-objects layout driver uses it to encode metadata hints\nto the MDS and the blocks layout driver to commit provisionally allocated\nextents to the file.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "adb58535e604a564495a7d50dfb0afa0ddc21bcb",
      "tree": "54af4fe9569650342e61dbb314334e3617c48dc2",
      "parents": [
        "04a555498e03b3804e2dec916a4669f5f560e503"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:49:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:45 2011 +0300"
      },
      "message": "pnfs-obj: report errors and .encode_layoutreturn Implementation.\n\nAn io_state pre-allocates an error information structure for each\npossible osd-device that might error during IO. When IO is done if all\nwas well the io_state is freed. (as today). If the I/O has ended with an\nerror, the io_state is queued on a per-layout err_list. When eventually\nencode_layoutreturn() is called, each error is properly encoded on the\nXDR buffer and only then the io_state is removed from err_list and\nde-allocated.\n\nIt is up to the io_engine to fill in the segment that fault and the type\nof osd_error that occurred. By calling objlayout_io_set_result() for\neach failing device.\n\nIn objio_osd:\n* Allocate io-error descriptors space as part of io_state\n* Use generic objlayout error reporting at end of io.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04a555498e03b3804e2dec916a4669f5f560e503",
      "tree": "4fab39683df70cee7f7aea7d7718072a811ad153",
      "parents": [
        "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sun May 22 19:53:10 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:37 2011 +0300"
      },
      "message": "pnfs: encode_layoutreturn\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout return in-line in the xdr stream.\n\nCurrently the pnfs-objects layout driver uses it to encode i/o error\ninformation on LAYOUTRETURN.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixup layout header pointer for encode_layoutreturn]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed",
      "tree": "f9c46f272b98ceb65f997f226d47da68c6fcac6b",
      "parents": [
        "cbe8260369c9f88eafa035cd327dc3e02fad528c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jul 14 15:43:57 2010 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutret_on_setattr\n\nWith the objects layout security model, we have object capabilities\nthat are associated with the layout and we anticipate that the server\nwill issue a cb_layoutrecall for any setattr that changes security\nrelated attributes (user/group/mode/acl) or truncates the file.\n\nTherefore, the layout is returned before issuing the setattr to avoid\nthe anticipated cb_layoutrecall.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "cbe8260369c9f88eafa035cd327dc3e02fad528c",
      "tree": "13316d9b1a761cf58c35e663375b72f6ac07c5d2",
      "parents": [
        "04f83450388e87d86b387cf4a27b81eb7e69de7d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:37 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutreturn\n\nNFSv4.1 LAYOUTRETURN implementation\n\nCurrently, does not support layout-type payload encoding.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\n[call pnfs_return_layout right before pnfs_destroy_layout]\n[remove assert_spin_locked from pnfs_clear_lseg_list]\n[remove wait parameter from the layoutreturn path.]\n[remove return_type field from nfs4_layoutreturn_args]\n[remove range from nfs4_layoutreturn_args]\n[no need to send layoutcommit from _pnfs_return_layout]\n[don\u0027t wait on sync layoutreturn]\n[fix layout stateid in layoutreturn args]\n[fixed NULL deref in _pnfs_return_layout]\n[removed recaim member of nfs4_layoutreturn_args]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04f83450388e87d86b387cf4a27b81eb7e69de7d",
      "tree": "99c10d6a995ed1e7b872abb0127fc38d6bef9982",
      "parents": [
        "d20581aa4be11407c9eeeb75992df5ef176bba0f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:52:19 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:15 2011 +0300"
      },
      "message": "pnfs-obj: osd raid engine read/write implementation\n\nWith the use of the in-kernel osd library. Implement read/write\nof data from/to osd-objects according to information specified\nin the objects-layout.\n\nSupport for stripping over mirrors with a received stripe_unit.\nThere are however a few constrains which are not supported:\n 1. Stripe Unit must be a multiple of PAGE_SIZE\n 2. stripe length (stripe_unit * number_of_stripes) can not be\n    bigger then 32bit.\n\nAlso support raid-groups and partial-layout. Partial-layout is\nwhen not all the groups are received on the line, addressing\nonly a partial range of the file.\n\nTODO:\n  Only raid0! raid 4/5/6 support will come at later stage\n\nA none supported layout will send IO through the MDS\n\n[Important fallout from the last rebase]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d20581aa4be11407c9eeeb75992df5ef176bba0f",
      "tree": "277fdff5bc6ad5a5df105abd092c7179d22554fb",
      "parents": [
        "e51b841dd0be9ff53f740c44c32c32679edcb7c8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:03 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs: support for non-rpc layout drivers\n\nNon-rpc layout driver such as for objects and blocks\nimplement their own I/O path and error handling logic.\nTherefore bypass NFS-based error handling for these layout drivers.\n\n[fix lseg ref-count bugs, and null de-refs]\n[Fall out from: non-rpc layout drivers]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[get rid of PNFS_USE_RPC_CODE]\n[get rid of __nfs4_write_done_cb]\n[revert useless change in nfs4_write_done_cb]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e51b841dd0be9ff53f740c44c32c32679edcb7c8",
      "tree": "03e46d6013fa2a45ad22b3f510267d11e5f8d25a",
      "parents": [
        "636fb9c89d7e216aac3d406e458864420057e981"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs-obj: define per-inode private structure\n\nallocate and deallocate per-inode private pnfs_layout_hdr\nin preparation for I/O implementation.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "636fb9c89d7e216aac3d406e458864420057e981",
      "tree": "4342ccf39c4b4b26bdcf79833c7f98f8b9913262",
      "parents": [
        "b6c05f1693115164c7b797152ac7ea3ef8e5d296"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:33 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:50 2011 +0300"
      },
      "message": "pnfs: alloc and free layout_hdr layoutdriver methods\n\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b6c05f1693115164c7b797152ac7ea3ef8e5d296",
      "tree": "24430851c2569f4db76b13f41e82514326fbb878",
      "parents": [
        "09f5bf4e6d0607399c16ec7a2d8d166f31086686"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:45:34 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:33 2011 +0300"
      },
      "message": "pnfs-obj: objio_osd device information retrieval and caching\n\nWhen a new layout is received in objio_alloc_lseg all device_ids\nreferenced are retrieved. The device information is queried for from MDS\nand then the osd_device is looked-up from the osd-initiator library. The\ndevices are cached in a per-mount-point list, for later use. At unmount\nall devices are \"put\" back to the library.\n\nobjlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware\nAPI for retrieving device information given a device_id.\n\nTODO: The device cache can get big. Cap its size. Keep an LRU and start\n      to return devices which were not used, when list gets to big, or\n      when new entries allocation fail.\n\n[pnfs-obj: Bugs in new global-device-cache code]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[use global device cache]\n[use layout driver in global device cache]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "09f5bf4e6d0607399c16ec7a2d8d166f31086686",
      "tree": "767732b80aaa48a97e86af2c6f0ec7a3120219f2",
      "parents": [
        "f1bc893a89d012649e4e7f43575b2c290e08ee42"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:50:20 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:06 2011 +0300"
      },
      "message": "pnfs-obj: decode layout, alloc/free lseg\n\nobjlayout_alloc_lseg prepares an xdr_stream and calls the\nraid engins objio_alloc_lseg() to allocate a private\npnfs_layout_segment.\n\nobjio_osd.c::objio_alloc_lseg() uses passed xdr_stream to\ndecode and store the layout_segment information in an\nobjio_segment struct, using the pnfs_osd_xdr.h API for\nthe actual parsing the layout xdr.\n\nobjlayout_free_lseg calls objio_free_lseg() to free the\nallocated space.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[removed \"extern\" from function definitions]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f1bc893a89d012649e4e7f43575b2c290e08ee42",
      "tree": "2f06cc6c3232292b2dfae6e7e7f3770699f324b4",
      "parents": [
        "38b7c401f6ade50543f246c4bc2c971edf2b19dd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:49:57 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:36 2011 +0300"
      },
      "message": "pnfs-obj: pnfs_osd XDR client implementation\n\n* Add the fs/nfs/objlayout/pnfs_osd_xdr_cli.c file, which will\n  include the XDR encode/decode implementations for the pNFS\n  client objlayout driver.\n\n[Wrong type in comments]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c93407d03c3ccf60b33a309e5fcd41cd98969901",
      "tree": "9ef9cfb8a2c8dd7ae05960469bfef0d396363dc4",
      "parents": [
        "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:49:06 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:35 2011 +0300"
      },
      "message": "pnfs-obj: objlayoutdriver module skeleton\n\n* Define the PNFS_OBJLAYOUT Kconfig option in the nfs\n  master Kconfig file.\n* Add the objlayout driver to the Kernel\u0027s Kbuild system.\n* Add the fs/nfs/objlayout/Kbuild file for building the\n  objlayoutdriver.ko driver\n* Define fs/nfs/objlayout/objio_osd.c, register the driver on module\n  initialization and unregister on exit.\n\n[pnfs-obj: remove of CONFIG_PNFS fallout]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[added \"unsure\" clause]\n[depend on NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15",
      "tree": "dd4deefa6aa04838ce375053f29c675dbe732d5e",
      "parents": [
        "778b5502fdba5b183553f3f2ef1672ba78ac58b6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Sun May 22 19:48:21 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: client stats\n\nA pNFS client auto-negotiates a lot of features (minorversion level,\npNFS layout type, etc.).  This is convenient, but makes certain kinds of\nfailures hard for a user to detect.\n\nFor example, if the client falls back on 4.0, or falls back to MDS IO\nbecause the user didn\u0027t connect to the right iscsi disks before\nmounting, the only symptoms may be reduced performance, which may not be\nnoticed till long after the actual failure, and may be difficult for a\nuser to diagnose.\n\nHowever, such \"failures\" may also be perfectly normal in some cases, so\nwe don\u0027t want to spam the system logs with them.\n\nOne approach would be to put some more information into\n/proc/self/mountstats.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: add commit client stats]\n[fixup data types for \"ret\" variables in pnfs_try_to* inline funcs.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix definition of show_pnfs for !CONFIG_PNFS]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix show_sessions in the not CONFIG_NFS_V4_1 case]\n    There is a build error when CONFIG_NFS_V4 is set but\n    CONFIG_NFS_V4_1 is *not* set. show_sessions() prototype\n    was unbalanced between the two cases.\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[pnfs: super.c remove CONFIG_PNFS]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "778b5502fdba5b183553f3f2ef1672ba78ac58b6",
      "tree": "dc37bf3b4f9cdfab7ee16a2b776b6ea2d7653210",
      "parents": [
        "707ed5fdb587c71fdb7ad224ba1d80231f33c974"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:48:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: Use byte-range for cb_layoutrecall\n\nUse recalled range to invalidate particular layout segments in the layout cache.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "707ed5fdb587c71fdb7ad224ba1d80231f33c974",
      "tree": "a3903d971a59df7fb311fe9ce5cd830c92e2bd34",
      "parents": [
        "fb3296eb4636763918edef2d22e45b85b15d4518"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:33 2011 +0300"
      },
      "message": "pnfs: align layoutget requests on page boundaries\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb3296eb4636763918edef2d22e45b85b15d4518",
      "tree": "31c85255ccfa03cbca2d1e4e52028e489276a73b",
      "parents": [
        "f7da7a129d57bfe0f74573dc03531c63e1360fae"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:26 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "pnfs: Use byte-range for layoutget\n\nAdd offset and count parameters to pnfs_update_layout and use them to get\nthe layout in the pageio path.\n\nOrder cache layout segments in the following order:\n* offset (ascending)\n* length (descending)\n* iomode (RW before READ)\n\nTest byte range against the layout segment in use in pnfs_{read,write}_pg_test\nso not to coalesce pages not using the same layout segment.\n\n[fix lseg ordering]\n[clean up pnfs_find_lseg lseg arg]\n[remove unnecessary FIXME]\n[fix ordering in pnfs_insert_layout]\n[clean up pnfs_insert_layout]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "35c8bb543c9e83197e6375142d1d1c2ee3cf017d",
      "tree": "f0f8a69c1586a8d24526223ed70a922c934f9b87",
      "parents": [
        "1be5683b03a766670b3b629bf6bfeab3ca9239d8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue May 24 18:04:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "NFSv4.1: use layout driver in global device cache\n\npnfs deviceids are unique per server, per layout type.\nstruct nfs_client is currently used to distinguish deviceids from\ndifferent nfs servers, yet these may clash between different layout\ntypes on the same server.  Therefore, use the layout driver associated\nwith each deviceid at insertion time to look it up, unhash, or\ndelete it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1be5683b03a766670b3b629bf6bfeab3ca9239d8",
      "tree": "613f4c0dea8b0d8447a3158b82b3e2046ee9dcb5",
      "parents": [
        "1775bc342c6eacd6304493cbb2e0cda1a0182246"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Sun May 22 19:47:09 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "pnfs: CB_NOTIFY_DEVICEID\n\nNote: This functionlaity is incomplete as all layout segments referring to\nthe \u0027to be removed device id\u0027 need to be reaped, and all in flight I/O drained.\n\n[use be32 res in nfs4_callback_devicenotify]\n[use nfs_client to qualify deviceid for cb_notify_deviceid]\n[use global deviceid cache for CB_NOTIFY_DEVICEID]\n[refactor device cache _lookup_deviceid]\n[refactor device cache _find_get_deviceid]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Bug in new global-device-cache code]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1775bc342c6eacd6304493cbb2e0cda1a0182246",
      "tree": "b0a884a41f565a41957524146ff6ee51b2b7db7b",
      "parents": [
        "a1eaecbc4c8307e27772d6584ef85a2e93250661"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 13:47:33 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:50:42 2011 +0300"
      },
      "message": "NFSv4.1: purge deviceid cache on nfs_free_client\n\nUse the pnfs_layoutdriver_type both as a qualifier for the deviceid,\ndistinguishing deviceid from different layout types on the server,\nand for freeing the layout-driver allocated structure containing the\nnfs4_deviceid_node.\n\n[BUG in _deviceid_purge_client]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\n[let ver \u003c 4.1 compile]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[removed EXPORT_SYMBOL_GPL(nfs4_deviceid_purge_client)]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a1eaecbc4c8307e27772d6584ef85a2e93250661",
      "tree": "940549d45db98a5bcfe22501de0bbe9c96de4c8e",
      "parents": [
        "45df3c8b0f3a58facb125d7631890426706c0bfa"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 22:14:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "NFSv4.1: make deviceid cache global\n\nMove deviceid cache from the pnfs files layout driver to the\ngeneric layer in preparation for the objects layout driver.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "45df3c8b0f3a58facb125d7631890426706c0bfa",
      "tree": "36261a558f7822886cd965ea827f5601573650c6",
      "parents": [
        "67d51f65bde233b17de304baec4f7c4d086471fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 05 08:28:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "pnfs: resolve header dependency in pnfs.h\n\nSome definitions in the header file depend on nfs_fs.h so pnfs.h can\u0027t\nbe included independently.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "67d51f65bde233b17de304baec4f7c4d086471fe",
      "tree": "d9a5e9f93e9ab85e04350166a94a521c780da229",
      "parents": [
        "3b6445a6f68b839d1b437756b9c72312e33339b2"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 10:45:05 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:47 2011 +0300"
      },
      "message": "NFSv4.1: use struct nfs_client to qualify deviceid\n\ndeviceids are unique per server, per layout type.\nTherefore, in the global cache in the files layout driver\ndeviceids from different servers may clash so we need\nto qualify them with a struct nfs_client that represents\nthe nfs server that returned the deviceid.\n\nIntroduced in 2.6.39 commit ea8eecdd\n\"NFSv4.1 move deviceid cache to filelayout driver\"\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "3b6445a6f68b839d1b437756b9c72312e33339b2",
      "tree": "a9b6ad5a51d948baf7afc8503110791a3dbc3f79",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Tue Feb 22 19:31:57 2011 -0500"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:46 2011 +0300"
      },
      "message": "NFSv4.1: fix typo in filelayout_check_layout\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4251c94833aa516c1fc7a0f8f504a26eadd4b91e",
      "tree": "12d76452cfd41c562ec6de025a96566ca25f278b",
      "parents": [
        "61677eeec29e87edc03a1061ae0a04b92507450d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon May 09 15:22:15 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "NFS: Revert NFSROOT default mount options\n\nMarek Belisko \u003cmarek.belisko@gmail.com\u003e reports that recent attempts\nto fix regressions in NFSROOT have broken his configuration:\n\n\u003e After update from 2.6.38-rc8 to 2.6.38 is mounting rootfs over nfs not possible.\n\u003e Log:\n\u003e VFS: Mounted root (nfs filesystem) on device 0:14.\n\u003e Freeing init memory: 132K\n\u003e nfs: server 10.146.1.21 not responding, still trying\n\u003e nfs: server 10.146.1.21 not responding, still trying\n\u003e\n\u003e This is never ending. I make short bisect (not too much commits\n\u003e between versions)\n\u003e and bad commit was reported: 53d4737580535e073963b91ce87d4216e434fab5\n\u003e\n\u003e NFS: NFSROOT should default to \"proto\u003dudp\"\n\u003e\n\u003e I\u0027ve tested on mini2440 board (DM9000, static IP).\n\u003e Is there some missing option or something else to be checked?\n\nAn examination of a network trace captured during the failure shows\nthat the mount is actually succeeding, but that the client is not\nseeing READ replies larger than 16KB.  This could be a local packet\nfiltering issue on the client, but we didn\u0027t troubleshoot this\nfurther because of the reported \"git bisect\" result.\n\nLast fall we removed the ad hoc mount option parser in\nfs/nfs/nfsroot.c in favor of using the main parser in fs/nfs/super.c\n(see commit 56463e50 \"NFS: Use super.c for NFSROOT mount option\nparsing\").  That commit changed the default NFSROOT mount options to\nbe the same as those employed by user space mounts.\n\nAs it turns out, these new default mount options are not tolerated by\nmany embedded systems.  So far these problems have been due to\nspecific behavior of certain embedded NICs.  The NFS community does\nnot have such hardware on hand for running tests.\n\nCommit 53d47375 recently introduced a clean way to specify default\nmount options for NFSROOT, so we can now easily restore the\ntraditional defaults for NFSROOT:\n\n   vers\u003d2,udp,rsize\u003d4096,wsize\u003d4096\n\nThis should revert the new default NFSROOT mount options introduced\nwith commit 56463e50.\n\nTested-by: Marek Belisto \u003cmarek.belisto@open-nandra.com\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26f04dde681c6a48b2bacfc5fe01fef204419b0c",
      "tree": "b8a6f047b6e5743ab795076e3cc0d0a5a72840e6",
      "parents": [
        "4b8ee2b82e8b0b6e17ee33feb74fcdb5c6d8dbdd"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun May 01 06:21:54 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:46 2011 -0400"
      },
      "message": "nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()\n\nThe rcu callback nfs_free_delegation_callback() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(nfs_free_delegation_callback).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b8ee2b82e8b0b6e17ee33feb74fcdb5c6d8dbdd",
      "tree": "a8b0eda00ea2376598431808af901872808c014e",
      "parents": [
        "60c16ea877546e559988a8b1e4f4256afbbd83e6"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "gusev.vitaliy@gmail.com",
        "time": "Fri May 20 01:34:46 2011 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:01 2011 -0400"
      },
      "message": "nfs41: Correct offset for LAYOUTCOMMIT\n\nA client sends offset to MDS as it was seen by DS. As result,\nfile size after copy is only half of original file size in case\nof 2 DS.\n\nSigned-off-by: Vitaliy Gusev \u003cgusev.vitaliy@nexenta.com\u003e\nCc: stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "60c16ea877546e559988a8b1e4f4256afbbd83e6",
      "tree": "8919b0eca26baef38a730389321748c46570e2b1",
      "parents": [
        "444f72fe7e7b5f4db34cee933fa3546ebb8e9122"
      ],
      "author": {
        "name": "Harshula Jayasuriya",
        "email": "harshula@redhat.com",
        "time": "Mon May 23 22:52:11 2011 +1000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:01 2011 -0400"
      },
      "message": "NFS: nfs_update_inode: print current and new inode size in debug output\n\nHi Trond,\n\nIn nfs_update_inode debug output, print the current and new inode\nsize when the file size changes on the NFS server.\n\nSigned-off-by: Harshula Jayasuriya \u003charshula@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "444f72fe7e7b5f4db34cee933fa3546ebb8e9122",
      "tree": "cdb16446f16239413ee2f8b38682dba85c7aa8f6",
      "parents": [
        "0ced63d1a245ac11241a5d37932e6d04d9c8040d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 26 14:26:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:01 2011 -0400"
      },
      "message": "NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors\n\nCurrently, the call to nfs4_schedule_session_recovery() will actually just\nresult in a test of the lease when what we really want is to force a\nsession reset.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "0ced63d1a245ac11241a5d37932e6d04d9c8040d",
      "tree": "d5a3150e7cfc34f4f9943f8a18f32164ea1c94ec",
      "parents": [
        "fe19a96b10032035a35779f42ad59e35d6dd8ffd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 26 14:26:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:01 2011 -0400"
      },
      "message": "NFSv4: Handle expired stateids when the lease is still valid\n\nCurrently, if the server returns NFS4ERR_EXPIRED in reply to a READ or\nWRITE, but the RENEW test determines that the lease is still active, we\nfail to recover and end up looping forever in a READ/WRITE + RENEW death\nspiral.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "1495f230fa7750479c79e3656286b9183d662077",
      "tree": "e5e233bb9fe1916ccc7281e7dcc71b1572fb22c5",
      "parents": [
        "a09ed5e00084448453c8bada4dcd31e5fbfc2f21"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Tue May 24 17:12:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:26 2011 -0700"
      },
      "message": "vmscan: change shrinker API by passing shrink_control struct\n\nChange each shrinker\u0027s API by consolidating the existing parameters into\nshrink_control struct.  This will simplify any further features added w/o\ntouching each file of shrinker.\n\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: fix warning]\n[kosaki.motohiro@jp.fujitsu.com: fix up new shrinker API]\n[akpm@linux-foundation.org: fix xfs warning]\n[akpm@linux-foundation.org: update gfs2]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a75b9df9d3bfc3cd1083974c045ae31ce5f3434f",
      "tree": "039cc65774c895d704f23a2c89b7f1bcd736e0b9",
      "parents": [
        "2887fe45522843149ccf72e01f43813be4fb36c5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 18:00:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 22:52:13 2011 -0400"
      },
      "message": "NFSv4.1: Ensure that layoutget uses the correct gfp modes\n\nCurrently, writebacks may end up recursing back into the filesystem due to\nGFP_KERNEL direct reclaims in the pnfs subsystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2887fe45522843149ccf72e01f43813be4fb36c5",
      "tree": "2897689e042604a44bdf93cd3dcf4b5d3bac11ee",
      "parents": [
        "a8a4ae3a899a6c0b4771cc57884800d8b76a6996"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed May 11 01:19:58 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 14:20:13 2011 -0400"
      },
      "message": "NFSv4.1: remove pnfs_layout_hdr from pnfs_destroy_all_layouts tmp_list\n\nPrevents an infinite loop as list was never emptied.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8a4ae3a899a6c0b4771cc57884800d8b76a6996",
      "tree": "762fa0cc26480ea302d1ade0a03f222fae958565",
      "parents": [
        "9f381a61f58bb6487c93ce2233bb9992f8ea9211"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue May 03 13:43:03 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 14:01:33 2011 -0400"
      },
      "message": "NFSv41: Resend on NFS4ERR_RETRY_UNCACHED_REP\n\nFree the slot and resend the RPC with new session \u003cslot#,seq#\u003e.\n\nFor nfs4_async_handle_error, return -EAGAIN and set the task-\u003etk_status to 0\nto restart the async rpc in the rpc_restart_call_prepare state which resets\nthe slot.\n\nFor nfs4_handle_exception, retrying a call that uses nfs4_call_sync will\nreset the slot via nfs41_call_sync_prepare.\n\nFor open/close/lock/locku/delegreturn/layoutcommit/unlink/rename/write\ncachethis is true, so these operations will not trigger an\nNFS4ERR_RETRY_UNCACHED_REP.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26c4c170731f00008f4317a2888a0a07ac99d90d",
      "tree": "f187a530024ab278a3f3e25ee01edc2e8c568f39",
      "parents": [
        "613e901e1ee0e1096663b649eee8e5d6697919f3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Apr 27 11:49:09 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 27 16:20:01 2011 -0400"
      },
      "message": "nfs: don\u0027t lose MS_SYNCHRONOUS on remount of noac mount\n\nOn a remount, the VFS layer will clear the MS_SYNCHRONOUS bit on the\nassumption that the flags on the mount syscall will have it set if the\nremounted fs is supposed to keep it.\n\nIn the case of \"noac\" though, MS_SYNCHRONOUS is implied. A remount of\nsuch a mount will lose the MS_SYNCHRONOUS flag since \"sync\" isn\u0027t part\nof the mount options.\n\nReported-by: Max Matveev \u003cmakc@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "613e901e1ee0e1096663b649eee8e5d6697919f3",
      "tree": "1a7c6c79585da11445de9c3b3c6c701d5c6c0195",
      "parents": [
        "28331a46d88459788c8fca72dbb0415cd7f514c9"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 27 15:28:44 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 27 16:17:29 2011 -0400"
      },
      "message": "NFS: Return meaningful status from decode_secinfo()\n\nWhen compiling, I was getting this warning:\nfs/nfs/nfs4xdr.c: In function ‘decode_secinfo’:\nfs/nfs/nfs4xdr.c:4839:6: warning: variable ‘status’ set but not used\n[-Wunused-but-set-variable]\n\nWe were unconditionally returning 0 as long as there wasn\u0027t an error\ncoming out of xdr_inline_decode().  We probably want to check the error\nstatus coming out of decode_op_hdr() and decode_secinfo_gss(), rather\nthan assuming that everything is OK all the time.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "28331a46d88459788c8fca72dbb0415cd7f514c9",
      "tree": "436a4a7209ab9acab87c0e0ecb0cac9b2c749f3d",
      "parents": [
        "1bd714f2a14aa4d6a5570956fcec64530b007e4a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 27 13:47:52 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 27 15:57:16 2011 -0400"
      },
      "message": "NFSv4: Ensure we request the ordinary fileid when doing readdirplus\n\nWhen readdir() returns a directory entry for the root of a mounted\nfilesystem, Linux follows the old convention of returning the inode\nnumber of the covered directory (despite newer versions of POSIX declaring\nthat this is a bug).\nTo ensure this continues to work, the NFSv4 readdir implementation requests\nthe \u0027mounted-on-fileid\u0027 from the server.\n\nHowever, readdirplus also needs to instantiate an inode for this entry, and\nfor that, we also need to request the real fileid as per this patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1bd714f2a14aa4d6a5570956fcec64530b007e4a",
      "tree": "7b468cf5e79a13e3931dda377b95c759475c95ae",
      "parents": [
        "7494d00c7b826b6ceb79ec33892bd0ef59be5614"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:29:33 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:29:33 2011 -0400"
      },
      "message": "NFSv4: Ensure that clientid and session establishment can time out\n\nThe following patch ensures that we do not get permanently trapped in\nthe RPC layer when trying to establish a new client id or session.\nThis again ensures that the state manager can finish in a timely\nfashion when the last filesystem to reference the nfs_client exits.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fd954ae124e8a866e9cc1bc3de9a07be5492f608",
      "tree": "b45b1a58287e2e77afb1da4ed8ead0c3a8688c2d",
      "parents": [
        "fb8a5ba8114491467c4067ec0330e1c3dcc81d10"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:18 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:18 2011 -0400"
      },
      "message": "NFSv4.1: Don\u0027t loop forever in nfs4_proc_create_session\n\nIf a server for some reason keeps sending NFS4ERR_DELAY errors, we can end\nup looping forever inside nfs4_proc_create_session, and so the usual\nmechanisms for detecting if the nfs_client is dead don\u0027t work.\n\nFix this by ensuring that we loop inside the nfs4_state_manager thread\ninstead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb8a5ba8114491467c4067ec0330e1c3dcc81d10",
      "tree": "32372368a12658c367daab20202266b4fd27dd8d",
      "parents": [
        "468f86134ee515234afe5c5b3f39f266c50e61a5"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 18 16:52:25 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 18 17:06:00 2011 -0400"
      },
      "message": "NFSv4: Handle NFS4ERR_WRONGSEC outside of nfs4_handle_exception()\n\nI only want to try other secflavors during an initial mount if\nNFS4ERR_WRONGSEC is returned.  nfs4_handle_exception() could\npotentially map other errors to EPERM, so we should handle this\nerror specially for correctness.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "468f86134ee515234afe5c5b3f39f266c50e61a5",
      "tree": "912d0d587ffa2897ce16ed1258e8f52b23308b61",
      "parents": [
        "47c2199b6eb5fbe38ddb844db7cdbd914d304f9c"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 18 15:57:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 18 17:05:48 2011 -0400"
      },
      "message": "NFSv4.1: Don\u0027t update sequence number if rpc_task is not sent\n\nIf we fail to contact the gss upcall program, then no message will\nbe sent to the server.  The client still updated the sequence number,\nhowever, and this lead to NFS4ERR_SEQ_MISMATCH for the next several\nRPC calls.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47c2199b6eb5fbe38ddb844db7cdbd914d304f9c",
      "tree": "bdb4afa93c3236ec79374da9b4f47b1eb9c72548",
      "parents": [
        "e3b2854faabd10438f5e7e34e078b099c3375577"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 15 17:34:18 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 15 18:28:22 2011 -0400"
      },
      "message": "NFSv4.1: Ensure state manager thread dies on last umount\n\nCurrently, the state manager may continue to try recovering state forever\neven after the last filesystem to reference that nfs_client has umounted.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c3dfc2808ab82b13f8b6db62189da959c2eadeea",
      "tree": "5eb6f11f712396e67544539a4a28d4503d54a6b9",
      "parents": [
        "9b7160c55a41dd2fec3d467f979e55782d3f92ad"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 13 14:31:31 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 15:12:23 2011 -0400"
      },
      "message": "NFS: Use correct variable for page bounds checking\n\nWhile decoding a secinfo reply, I store the list of supported sec\nflavors on a page accessible through res-\u003eflavors.  Before reading\neach new flavor, I do some math to determine if there is enough\nspace left on this page, and I break out of my read look if there\nisn\u0027t.  In order to perform this check correctly, I need to use the\naddress of res-\u003eflavors, rather than the address of res.\n\nWhen this loop was broken early I lied to the caller and told them\nthat the entire list had been decoded.  This could lead to problems\nif the caller tries to use any the garbage data claiming to be a\nvalid sec flavor.  I fixed this by using res-\u003eflavors-\u003enum_flavors\nas a counter, incrementing it every time a sec flavor is\nsuccessfully decoded.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b7160c55a41dd2fec3d467f979e55782d3f92ad",
      "tree": "5a0d71d9a9ed1cfee60014b3b10d71232dee0a09",
      "parents": [
        "801a16dc7b5c146f7980a0c61c30cef3ba93344d"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 13 14:31:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 15:12:23 2011 -0400"
      },
      "message": "NFS: don\u0027t negotiate when user specifies sec flavor\n\nWe were always attempting sec flavor negotiation, even if the user\ntold us a specific sec flavor to use.  If that sec flavor fails,\nwe should return an error rather than continuing with sec flavor\nnegotiation.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "801a16dc7b5c146f7980a0c61c30cef3ba93344d",
      "tree": "959e354fe7e13525efa8e4313176550dbcc3fe99",
      "parents": [
        "0fabee243a2c6edd66284a4d8948ccbe6727e3bb"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 13 14:31:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 15:12:23 2011 -0400"
      },
      "message": "NFS: Attempt mount with default sec flavor first\n\nnfs4_lookup_root() is already configured to use either RPC_AUTH_UNIX\nor a user specified flavor (through -o sec\u003d\u003cwhatever\u003e).  We should\nuse this flavor first, and only attempt negotiation if it fails\nwith -EPERM.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0fabee243a2c6edd66284a4d8948ccbe6727e3bb",
      "tree": "dc1903c78445c9367816a2765d923b8d7da41e3b",
      "parents": [
        "d1a8016a2d1e75021ecc8715e3c81442d7218eb6"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 13 14:31:29 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 15:12:22 2011 -0400"
      },
      "message": "NFS: flav_array honors NFS_MAX_SECFLAVORS\n\nNFS_MAX_SECFLAVORS should already take into account RPC_AUTH_UNIX\nand RPC_AUTH_NULL, so we don\u0027t need to set aside extra slots\nfor them.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d1a8016a2d1e75021ecc8715e3c81442d7218eb6",
      "tree": "b2aaef4f3aa4566765c6e3c743c74929a7790af2",
      "parents": [
        "79a48a1f5d99ab66cf83d2d5d805e7a0e08452ed"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 13 14:31:28 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 15:12:22 2011 -0400"
      },
      "message": "NFS: Fix infinite loop in gss_create_upcall()\n\nThere can be an infinite loop if gss_create_upcall() is called without\nthe userspace program running.  To prevent this, we return -EACCES if\nwe notice that pipe_version hasn\u0027t changed (indicating that the pipe\nhas not been opened).\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "79a48a1f5d99ab66cf83d2d5d805e7a0e08452ed",
      "tree": "158e953b809b93d93334cc91662136af27b69a8d",
      "parents": [
        "c0d0e96b840dcc73f9b9d45bf8f405dbce72a079"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Wed Apr 13 10:53:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 13 13:15:51 2011 -0400"
      },
      "message": "Don\u0027t mark_inode_dirty_sync() while holding lock\n\nmark_inode_dirty_sync() grabs the same inode lock!\n\nrace conditions between holding the lock in pnfs_set_layoutcommit() and in\nmark_inode_dirty_sync() can result in a second call to pnfs_layoutcommit_inode(), but\nthis will be a noop as NFS_INO_LAYOUTCOMMIT won\u0027t be set in the second call\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c0d0e96b840dcc73f9b9d45bf8f405dbce72a079",
      "tree": "001b16eb41bf390bac014b4d76dc8ac91e6b4c13",
      "parents": [
        "561f0b0ad073859a87d22845ddfd9df149b22e5f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 12 12:29:15 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 12 19:34:23 2011 -0400"
      },
      "message": "NFS: Get rid of pointless test in nfs_commit_done\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "561f0b0ad073859a87d22845ddfd9df149b22e5f",
      "tree": "14ac040cb0f709854ba71513332b5b3871b87b4b",
      "parents": [
        "4b38a6db01b09198f4045661815a0039c3d80660"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Tue Apr 12 08:47:15 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 12 19:34:23 2011 -0400"
      },
      "message": "NFS: Remove unused argument from nfs_find_best_sec()\n\nThe inode was used in an earlier version of the code, but it isn\u0027t\nused anymore.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b38a6db01b09198f4045661815a0039c3d80660",
      "tree": "cf298d705d7ac00f49fc02ea5e6ea3f0a17c109e",
      "parents": [
        "160bc1604f8a33202578846c9a63e2a61105a4b7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 11 11:56:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 12 19:34:22 2011 -0400"
      },
      "message": "NFS: Eliminate duplicate call to nfs_mark_request_dirty\n\nWe only need to call nfs_mark_request_dirty() once in nfs_writepage_setup().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "160bc1604f8a33202578846c9a63e2a61105a4b7",
      "tree": "55460a664616db57b89aaea7ff64bac69b7e4d97",
      "parents": [
        "6faf9a54156fb4d01d73344cc90cb52dda074433"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Apr 10 17:57:07 2011 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 12 19:34:21 2011 -0400"
      },
      "message": "NFS: Remove dead code from nfs_fs_mount()\n\nIn fs/nfs/super.c::nfs_fs_mount() we test for a NULL \u0027data\u0027:\n\n...\n \t\tif (data \u003d\u003d NULL || mntfh \u003d\u003d NULL)\n \t\t\tgoto out_free_fh;\n...\n\nand then further down in the function we test \u0027data\u0027 again:\n\n...\n \t\t\tnfs_fscache_get_super_cookie(\n \t\t\t\ts, data ? data-\u003efscache_uniq : NULL, NULL);\n...\n\nthis second check is just dead code since there is no way \u0027data\u0027 could\npossibly be NULL here.\nWe also rely on a non-NULL \u0027data\u0027 in more than one location between these\ntwo tests, further proving the point that the second test is bogus.\n\nThis patch removes the dead code.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0d88f6e804c824454b5ed0d3034ed3dcf7467a87",
      "tree": "3323e2860f7bf892c889270cf936a3c4a45f3b80",
      "parents": [
        "95042f9eb78a8d9a17455e2ef263f2f310ecef15"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 12 19:18:08 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 14:17:24 2011 -0700"
      },
      "message": "nfs: don\u0027t call __mark_inode_dirty while holding i_lock\n\nnfs_scan_commit() is called with the inode-\u003ei_lock held, but it then\ncalls __mark_inode_dirty() while still holding the lock. This causes\na deadlock.\n\nPush the inode-\u003ei_lock into nfs_scan_commit() so it can protect only\nthe parts of the code it needs to and can be dropped before the call\nto __mark_inode_dirty() to avoid the deadlock.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Will Simoneau \u003csimoneau@ele.uri.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94c8a984ae2adbd9a9626fb42e0f2faf3e36e86f",
      "tree": "a4beddd64501ef00ad41c8fd5974340bec2fcf73",
      "parents": [
        "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
        "37adb89fadd65ce47f7e5cfd564938a76b351948"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC\n  NFS: Fix a signed vs. unsigned secinfo bug\n  Revert \"net/sunrpc: Use static const char arrays\"\n"
    },
    {
      "commit": "37adb89fadd65ce47f7e5cfd564938a76b351948",
      "tree": "b935bde3f61965a8e0810f9d12281b97b2376351",
      "parents": [
        "418875900e3de4831c84f86ae4756690dac5be77"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Apr 07 16:02:20 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 07 13:19:40 2011 -0700"
      },
      "message": "NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC\n\nWhen attempting an initial mount, we should only attempt other\nauthflavors if AUTH_UNIX receives a NFS4ERR_WRONGSEC error.\nThis allows other errors to be passed back to userspace programs.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "418875900e3de4831c84f86ae4756690dac5be77",
      "tree": "d0609f12b62962806adc092867350b7bfcfed5a3",
      "parents": [
        "0867659fa3c245bf203d837a82e0f6ea5079c2c5"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 06 14:33:28 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 06 13:25:04 2011 -0700"
      },
      "message": "NFS: Fix a signed vs. unsigned secinfo bug\n\nrpc_authflavor_t is cast from an unsigned int, but the\ninitial code tried to use it as a signed int.  I fix\nthis by passing an rpc_authflavor_t pointer around, and\nreturning signed integers from functions.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "0444d76ae64fffc7851797fc1b6ebdbb44ac504a",
      "tree": "d0678f0f8c82f3c2b2c66a6b47242eef1b323142",
      "parents": [
        "cb1817b37313b4b6c7f8f93c730553dd3cb6ac57"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Mar 29 18:08:50 2011 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 29 07:50:34 2011 -0700"
      },
      "message": "fs: don\u0027t use igrab() while holding i_lock\n\nFix the incorrect use of igrab() inside the i_lock in NFS and Ceph‥\n\nIf we are already holding the i_lock, we have a reference to the\ninode so we can safely use ihold() to gain an extra reference. This\navoids hangs due to lock recursion on the i_lock now that the\ninode_lock is gone and igrab() uses the i_lock itself.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nCc: Ryan Mallon \u003cryan@bluewatersys.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0e7e3cf7932d6c77de0dc79a40dbaeb8060b544",
      "tree": "fcc8ab44418afe356b683674fcd2c1589b7c6efa",
      "parents": [
        "4d65c520fb4abed970069d18c119cfe85624f46d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 26 02:24:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 27 17:48:17 2011 +0200"
      },
      "message": "NFS: Don\u0027t leak RPC clients in NFSv4 secinfo negotiation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d65c520fb4abed970069d18c119cfe85624f46d",
      "tree": "74671eb263380317f1e4a958a6a7f73749e98eec",
      "parents": [
        "16c29dafcc86024048f1dbb8349d31cb22c7c55a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 25 14:15:11 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 27 17:48:07 2011 +0200"
      },
      "message": "NFS: Fix a hang in the writeback path\n\nNow that the inode scalability patches have been merged, it is no longer\nsafe to call igrab() under the inode-\u003ei_lock.\nNow that we no longer call nfs_clear_request() until the nfs_page is\nbeing freed, we know that we are always holding a reference to the\nnfs_open_context, which again holds a reference to the path, and so\nthe inode cannot be freed until the last nfs_page has been removed\nfrom the radix tree and freed.\n\nWe can therefore skip the igrab()/iput() altogether.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0acd2201920d0968919f4f5797d63f7b6f2b19d4",
      "tree": "9b241d264f42eff3ff4eeffb67616fca0490e460",
      "parents": [
        "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
        "35124a0994fc02545b14b9fa3aad000b3331f1c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:03:14 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:03:14 2011 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.39\u0027 into nfs-for-next\n"
    },
    {
      "commit": "35124a0994fc02545b14b9fa3aad000b3331f1c0",
      "tree": "5149267f387199fd9ca2718c74d86b6779013501",
      "parents": [
        "ef31153786bc1e4304e6b9422cc8b9efef455611"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Mar 24 16:48:21 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:01:41 2011 -0400"
      },
      "message": "Cleanup XDR parsing for LAYOUTGET, GETDEVICEINFO\n\nchanges LAYOUTGET and GETDEVICEINFO XDR parsing to:\n - not use vmap, which doesn\u0027t work on incoherent archs\n - use xdr_stream parsing for all xdr\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef31153786bc1e4304e6b9422cc8b9efef455611",
      "tree": "32739af2c6b0f2ab0fdf05e84b674d94721ffa6d",
      "parents": [
        "de4b15c7e9fe9fdd1eb6333be0a08c822db1ca0e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Mar 12 02:58:10 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 15:49:48 2011 -0400"
      },
      "message": "NFSv4.1 convert layoutcommit sync to boolean\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de4b15c7e9fe9fdd1eb6333be0a08c822db1ca0e",
      "tree": "5851c3352d20c6433677da072d2fdbc63d303b8e",
      "parents": [
        "cccb4d063b263ac0713ab27d98460fda3b4f83ff"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Mar 12 02:58:09 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 15:49:48 2011 -0400"
      },
      "message": "NFSv4.1 pnfs_layoutcommit_inode fixes\n\nTest NFS_INO_LAYOUTCOMMIT before kzalloc\nMark inode dirty to retry LAYOUTCOMMIT on kzalloc failure.\nAdd comments.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
      "tree": "80acf6fa7d35d29ba03798fb6745ad9791f965c9",
      "parents": [
        "7ebb931598cd95cccea10d4bc4c0123a464ea565"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: Determine initial mount security\n\nWhen sec\u003d\u003csomething\u003e is not presented as a mount option,\nwe should attempt to determine what security flavor the\nserver is using.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7ebb931598cd95cccea10d4bc4c0123a464ea565",
      "tree": "dec1af6eefdbbc3ce42346d7c6d407088eaf509e",
      "parents": [
        "5a5ea0d485c9715c86bf858bbdc5f6d373b3db88"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:30 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: use secinfo when crossing mountpoints\n\nA submount may use different security than the parent\nmount does.  We should figure out what sec flavor the\nsubmount uses at mount time.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5a5ea0d485c9715c86bf858bbdc5f6d373b3db88",
      "tree": "0aef824c36b7eb6eac6ea706c4c9a33930128ee3",
      "parents": [
        "7c5130588d691a3b34d02312f1bd1b6d56fe0100"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:29 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:41 2011 -0400"
      },
      "message": "NFS: Add secinfo procedure\n\nThis patch adds the nfs4 operation secinfo as a\nvalid nfs rpc operation.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c5130588d691a3b34d02312f1bd1b6d56fe0100",
      "tree": "154ccea3a837ca1aae2c5676e0946b79fb4bb671",
      "parents": [
        "e73b83f270828630a9ce33728f6ef61c37a82340"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:24 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:41 2011 -0400"
      },
      "message": "NFS: lookup supports alternate client\n\nA later patch will need to perform a lookup using an\nalternate client with a different security flavor.\nThis patch adds support for doing that on NFS v4.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e73b83f270828630a9ce33728f6ef61c37a82340",
      "tree": "2a2c707b7248ad1bca741a96ec736852776d2822",
      "parents": [
        "4bbba111d94781d34081c37856bbc5eb33f6c72a"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:23 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:41 2011 -0400"
      },
      "message": "NFS: convert call_sync() to a function\n\nThis patch changes nfs4_call_sync() from a macro into a\nstatic inline function.  As a macro, the call_sync()\nfunction will not do any type checking and depends\non the sequence arguments always having the same name.\nAs a function, we get to have type checking and can\nrename the arguments if we so choose.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "cccb4d063b263ac0713ab27d98460fda3b4f83ff"
}
