)]}'
{
  "log": [
    {
      "commit": "8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e",
      "tree": "d610c8d39246c33c499ee9d92d302d3ca9e89ae3",
      "parents": [
        "c269bc00fcb876ae3b85f178f1e34601185c8ccc",
        "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 12:31:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.28\u0027 of git://linux-nfs.org/~bfields/linux: (59 commits)\n  svcrdma: Fix IRD/ORD polarity\n  svcrdma: Update svc_rdma_send_error to use DMA LKEY\n  svcrdma: Modify the RPC reply path to use FRMR when available\n  svcrdma: Modify the RPC recv path to use FRMR when available\n  svcrdma: Add support to svc_rdma_send to handle chained WR\n  svcrdma: Modify post recv path to use local dma key\n  svcrdma: Add a service to register a Fast Reg MR with the device\n  svcrdma: Query device for Fast Reg support during connection setup\n  svcrdma: Add FRMR get/put services\n  NLM: Remove unused argument from svc_addsock() function\n  NLM: Remove \"proto\" argument from lockd_up()\n  NLM: Always start both UDP and TCP listeners\n  lockd: Remove unused fields in the nlm_reboot structure\n  lockd: Add helper to sanity check incoming NOTIFY requests\n  lockd: change nlmclnt_grant() to take a \"struct sockaddr *\"\n  lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses\n  lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET\n  lockd: Support non-AF_INET addresses in nlm_lookup_host()\n  NLM: Convert nlm_lookup_host() to use a single argument\n  svcrdma: Add Fast Reg MR Data Types\n  ...\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e851db5b05408b89b9a9429a66814b79fabee2a1",
      "tree": "99bac979ed90efed99c89a49cb77719ab4c0a229",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:45:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "SUNRPC: Add address family field to svc_serv data structure\n\nIntroduce and initialize an address family field in the svc_serv structure.\n\nThis field will determine what family to use for the service\u0027s listener\nsockets and what families are advertised via the local rpcbind daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "af904deaf6da3f3285eb0a06a3dc6a1af0251030",
      "tree": "ad0f0eef5824d22e1fa6ca79f45bc3b59c19985a",
      "parents": [
        "7686ad5606f08d9dfb33a2087a36c8366366015b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 08 11:58:13 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:35:19 2008 -0700"
      },
      "message": "NFS: Restore missing hunk in NFS mount option parser\n\nAutomounter maps can contain mount options valid for other NFS\nimplementations but not for Linux.  The Linux automounter uses the\nmount command\u0027s \"-s\" command line option (\"s\" for \"sloppy\") so that\nmount requests containing such options are not rejected.\n\nCommit f45663ce5fb30f76a3414ab3ac69f4dd320e760a attempted to address a\nknown regression with text-based NFS mount option parsing.  Unrecognized\nmount options would cause mount requests to fail, even if the \"-s\"\noption was used on the mount command line.\n\nUnfortunately, this commit was not complete as submitted.  It adds a\nnew mount option, \"sloppy\".  But it is missing a hunk, so it now allows\nNFS mounts with unrecognized mount options, even if the \"sloppy\" option\nis not present.  This could be a problem if a required critical mount\noption such as \"sync\" is misspelled, for example, and is considered a\nregression from 2.6.26.\n\nThis patch restores the missing hunk.  Now, the default behavior of\ntext-based NFS mount options is as before: any unrecognized mount option\nwill cause the mount to fail.\n\nPlease include this in 2.6.27-rc.\n\nThanks to Neil Brown for reporting this.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a3f7d98e5f50f21ce6fb1406a35531d9596c5c6",
      "tree": "c08708cd17f163f18c149133c92551f83249fd98",
      "parents": [
        "fca082c9f1e11ec07efa8d2f9f13688521253f36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:50:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:50:38 2008 -0700"
      },
      "message": "Revert \"UFS: add const to parser token table\"\n\nThis reverts commit f9247273cb69ba101877e946d2d83044409cc8c5 (and\nfb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 - \"fix fs/nfs/nfsroot.c\ncompilation\" - that fixed a missed conversion).\n\nThe changes cause problems for at least the sparc build.  Let\u0027s re-do\nthem when the exact issues are resolved.\n\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nRequested-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d66bf5481002b0960aa49aed0987c73f5d7816c",
      "tree": "7beac720e1df882a1cd4d6d09e6ac25ddd04b399",
      "parents": [
        "d5686b444ff3f72808d2b3fbd58672a86cdf38e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 09:05:54 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:32 2008 -0400"
      },
      "message": "[PATCH] pass struct path * to do_add_mount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "744d18dbfae07482ea461701b0aaec3a75ec9224",
      "tree": "53246e5fd448ebf21d8ce9c9fa973995166d985e",
      "parents": [
        "31c9446993f412ecb7875e30bba4bc7f216ae016"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 27 18:03:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 27 18:20:51 2008 -0400"
      },
      "message": "NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode\n\nIn order to avoid the \"Busy inodes after unmount\" error message, we need to\nensure that nfs_async_unlink_release() releases the super block after the\ncall to nfs_free_unlinkdata().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31c9446993f412ecb7875e30bba4bc7f216ae016",
      "tree": "4c68f0d6c7c5e47f899c1068004a84935bdbc962",
      "parents": [
        "837b41b5de356aa67abb2cadb5eef3efc7776f91"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "maz@misterjones.org",
        "time": "Thu Jul 17 13:21:55 2008 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 27 18:20:41 2008 -0400"
      },
      "message": "nfs_remount oops when rebooting + possible fix\n\nJeff, Trond,\n\nThe commit\n\n48b605f83c920d8daa50e43fc2c7f718e04c7bfa (NFS: implement option checking\nwhen remounting NFS filesystems (resend))\n\ngenerate an Oops on my platform when rebooting while its root FS on\nan NFS share (NFSv3, TCP) :\n\nUnmounting local filesystems...done.\nUnable to handle kernel NULL pointer dereference at virtual address 00000000\npgd \u003d c3d00000\n[00000000] *pgd\u003da3d72031, *pte\u003d00000000, *ppte\u003d00000000\nInternal error: Oops: 17 [#1]\nModules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core\nCPU: 0    Not tainted  (2.6.26-03414-g33af79d-dirty #15)\nPC is at nfs_remount+0x40/0x264\nLR is at do_remount_sb+0x158/0x194\npc : [\u003cc00bbf54\u003e]    lr : [\u003cc0076c40\u003e]    psr: 60000013\nsp : c2dd1e70  ip : c2dd1e98  fp : c2dd1e94\nr10: 00000040  r9 : c3d17000  r8 : c3c3fc40\nr7 : 00000000  r6 : 00000000  r5 : c3d2b200  r4 : 00000000\nr3 : 00000003  r2 : 00000000  r1 : c2dd1e9c  r0 : c3c3fc00\nFlags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user\nControl: 0000397f  Table: a3d00000  DAC: 00000015\nProcess mount (pid: 1462, stack limit \u003d 0xc2dd0270)\nStack: (0xc2dd1e70 to 0xc2dd2000)\n1e60:                                     00000000 c3c3fc00 00000000 00000000\n1e80: c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001\n1ea0: c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4\n1ec0: 00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8\n1ee0: c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820\n1f00: 0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28\n1f20: c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48\n1f40: c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000\n1f60: c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000\n1f80: c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8\n1fa0: c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021\n1fc0: 00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8\n1fe0: 0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000\nBacktrace:\n[\u003cc00bbf14\u003e] (nfs_remount+0x0/0x264) from [\u003cc0076c40\u003e] (do_remount_sb+0x158/0x194)\n  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00\nr4:00000000\n[\u003cc0076ae8\u003e] (do_remount_sb+0x0/0x194) from [\u003cc008c6d8\u003e] (do_remount+0xec/0x118)\n  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001\n[\u003cc008c5ec\u003e] (do_remount+0x0/0x118) from [\u003cc008d1bc\u003e] (do_mount+0x10c/0x198)\n[\u003cc008d0b0\u003e] (do_mount+0x0/0x198) from [\u003cc008d2d4\u003e] (sys_mount+0x8c/0xd4)\n[\u003cc008d248\u003e] (sys_mount+0x0/0xd4) from [\u003cc0020b00\u003e] (ret_fast_syscall+0x0/0x2c)\n  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000\nCode: 0a000086 ea000006 e3530003 8a000004 (e5923000)\n---[ end trace 55e1b689cf8c8a6a ]---\n------------[ cut here ]------------\nWARNING: at kernel/exit.c:966 do_exit+0x3c/0x628()\nModules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core\n[\u003cc0025168\u003e] (dump_stack+0x0/0x14) from [\u003cc0032154\u003e] (warn_on_slowpath+0x4c/0x68)\n[\u003cc0032108\u003e] (warn_on_slowpath+0x0/0x68) from [\u003cc003531c\u003e] (do_exit+0x3c/0x628)\n  r6:0000000b r5:c3c3dc80 r4:c2dd0000\n[\u003cc00352e0\u003e] (do_exit+0x0/0x628) from [\u003cc0025004\u003e] (die+0x2b0/0x30c)\n[\u003cc0024d54\u003e] (die+0x0/0x30c) from [\u003cc00270bc\u003e] (__do_kernel_fault+0x6c/0x80)\n[\u003cc0027050\u003e] (__do_kernel_fault+0x0/0x80) from [\u003cc00272e0\u003e] (do_page_fault+0x210/0x230)\n  r7:c3fa7118 r6:c3c3dc80 r5:c3d166a8 r4:00010000\n[\u003cc00270d0\u003e] (do_page_fault+0x0/0x230) from [\u003cc00201ec\u003e] (do_DataAbort+0x3c/0xa0)\n[\u003cc00201b0\u003e] (do_DataAbort+0x0/0xa0) from [\u003cc002064c\u003e] (__dabt_svc+0x4c/0x60)\nException stack(0xc2dd1e28 to 0xc2dd1e70)\n1e20:                   c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200\n1e40: 00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70\n1e60: c0076c40 c00bbf54 60000013 ffffffff\n  r8:c3c3fc40 r7:00000000 r6:00000000 r5:c2dd1e5c r4:ffffffff\n[\u003cc00bbf14\u003e] (nfs_remount+0x0/0x264) from [\u003cc0076c40\u003e] (do_remount_sb+0x158/0x194)\n  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00\nr4:00000000\n[\u003cc0076ae8\u003e] (do_remount_sb+0x0/0x194) from [\u003cc008c6d8\u003e] (do_remount+0xec/0x118)\n  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001\n[\u003cc008c5ec\u003e] (do_remount+0x0/0x118) from [\u003cc008d1bc\u003e] (do_mount+0x10c/0x198)\n[\u003cc008d0b0\u003e] (do_mount+0x0/0x198) from [\u003cc008d2d4\u003e] (sys_mount+0x8c/0xd4)\n[\u003cc008d248\u003e] (sys_mount+0x0/0xd4) from [\u003cc0020b00\u003e] (ret_fast_syscall+0x0/0x2c)\n  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000\n---[ end trace 55e1b689cf8c8a6a ]---\n/etc/rc6.d/S60umountroot: line 17:  1462 Segmentation fault      mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2\u003e /dev/null\n\nThe new super.c:nfs_remount function doesn\u0027t check the validity of the\noptions/options4 pointers. Unfortunately, this seems to happend.\nThe obvious patch seems to check the pointers, and not to do anything if\nthe happend to be NULL.\n\nTested on an XScale PXA255 system, latest git.\n\nRegards,\n\n\tM.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@altran.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43",
      "tree": "b22ee51689090eea8485570a7f06aca7429eb0fa",
      "parents": [
        "4b9f12a3779c548b68bc9af7d94030868ad3aa1b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 02:55:49 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 17:32:41 2008 -0700"
      },
      "message": "fix fs/nfs/nfsroot.c compilation\n\nThis fixes the following compile error caused by commit\nf9247273cb69ba101877e946d2d83044409cc8c5 (\"UFS: add const to parser\ntoken table\"):\n\n    CC      fs/nfs/nfsroot.o\n  /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/nfs/nfsroot.c:130: error: tokens causes a section type conflict\n  make[3]: *** [fs/nfs/nfsroot.o] Error 1\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cadc723cc19ce6b881d973d3c04e25ebb83058e6",
      "tree": "9256b4bc0685bca22469eab87cd3ec3c2deba60d",
      "parents": [
        "e89e896d31b11a51a54ddcd3f72a76bd286dd86c",
        "f839c4c1991cc9b580ae38f98f54554938a7f49c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:58 2008 -0400"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 into next\n"
    },
    {
      "commit": "e89e896d31b11a51a54ddcd3f72a76bd286dd86c",
      "tree": "105a9a93a4021caeeba76e479778ad2dd2b87b57",
      "parents": [
        "3a628b0fd42f7eaf9d052447784d48ceae9ffb8e",
        "d67d1c7bf948341fd8678c8e337ec27f4b46b206"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:16 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n\nConflicts:\n\n\tfs/nfs/file.c\n\nFix up the conflict with Jon Corbet\u0027s bkl-removal tree\n"
    },
    {
      "commit": "f839c4c1991cc9b580ae38f98f54554938a7f49c",
      "tree": "f31d02b9e63c2042d0750133dbaec368a63fb628",
      "parents": [
        "a86dc496b764ebb1431677b38eab45310e5a2ad4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:26 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:57 2008 -0400"
      },
      "message": "NFSv4: Remove BKL from the nfsv4 state recovery\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3cc8c019ca09767d7c9b5457d5cf8ac65085f44",
      "tree": "f06f3ec2e30994018b31da44ee81b8306b00af75",
      "parents": [
        "76566991f94c206d9c5881edcaf99ba72c9e9d61"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:56 2008 -0400"
      },
      "message": "NFS: Remove BKL from the readdir code\n\nPage accesses are serialised using the page locks, whereas all attribute\nupdates are serialised using the inode-\u003ei_lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "76566991f94c206d9c5881edcaf99ba72c9e9d61",
      "tree": "ed7ec44c59ae916639c1b775ac67cefa229b7e65",
      "parents": [
        "52e2e8d37e01edf38ccdccc983fb13ec1456d63d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:56 2008 -0400"
      },
      "message": "NFS: Remove BKL from the symlink code\n\nPage cache accesses are serialised using page locks, whereas attribute\nupdates are serialised using inode-\u003ei_lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52e2e8d37e01edf38ccdccc983fb13ec1456d63d",
      "tree": "06f43fde01ae679fb2d29a343eef4531e34de015",
      "parents": [
        "bd9bb454b76fb6ca2d00f17313f9f9df5f5c404a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:21 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:55 2008 -0400"
      },
      "message": "NFS: Remove BKL from the sillydelete operations\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd9bb454b76fb6ca2d00f17313f9f9df5f5c404a",
      "tree": "e5e0a7440552eca9e02a60e03c394ac0e91b76ab",
      "parents": [
        "fc0f684c21b5d4b41dc2ec76f7c0897ac98f5b6e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 16:09:59 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:55 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the rename, rmdir and unlink operations\n\nAttribute updates are safe, and dentry operations are protected using VFS\nlevel locks. Defer removing the BKL from sillyrename until a separate\npatch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc0f684c21b5d4b41dc2ec76f7c0897ac98f5b6e",
      "tree": "686ee2a2d7b4f04d5812c76485c18c048c5366d2",
      "parents": [
        "fc81af535e462764e17f638d542973fbef13b026"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:20 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:54 2008 -0400"
      },
      "message": "NFS: Remove BKL from NFS lookup code\n\nAll dentry-related operations are already BKL-safe, since they are\nprotected by the VFS locking. No extra locks should be needed in the NFS\ncode.\n\nIn the case of nfs_revalidate_inode(), we\u0027re only doing an attribute\nupdate (protected by the inode-\u003ei_lock).\nIn the case of nfs_lookup(), we\u0027re instantiating a new dentry, so there\nshould be no contention possible until after we call d_materialise_unique.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc81af535e462764e17f638d542973fbef13b026",
      "tree": "1e3c1c2e6a94698a9427ee21decd8a701bef947a",
      "parents": [
        "f1e2eda23513b68003202bddf1f84158baad8844"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:52:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:54 2008 -0400"
      },
      "message": "NFS: Remove the BKL from nfs_link()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1e2eda23513b68003202bddf1f84158baad8844",
      "tree": "88e56131a18a1310e0d4a8bcabfce629496ca7d3",
      "parents": [
        "bba67e0e3f4caba2b2b90b48ed798fb0461bcb86"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:50:50 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:53 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the inode creation operations\n\nnfs_instantiate() does not require the BKL, neither do the attribute\nupdates or the RPC code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bba67e0e3f4caba2b2b90b48ed798fb0461bcb86",
      "tree": "c13781f1265ccd73b4f71a33e9bb22931e954c1e",
      "parents": [
        "b6a2e569e2157509951c9f3f58dfa18b44ce91b3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:53 2008 -0400"
      },
      "message": "NFS: Remove BKL usage from open()\n\nAll the NFSv4 stateful operations are already protected by other locks (in\nparticular by the rpc_sequence locks.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6a2e569e2157509951c9f3f58dfa18b44ce91b3",
      "tree": "1398d38574357e8f89948102f2df1e86634b91f1",
      "parents": [
        "4d80f2ecd506d9732ad94a6da104580bb47680d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:52 2008 -0400"
      },
      "message": "NFS: Remove BKL usage from the write path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d80f2ecd506d9732ad94a6da104580bb47680d6",
      "tree": "26cb6bb08a53eae18dcf046b1041f20b5c9a9f8d",
      "parents": [
        "fa6dc9dc59c3a76fd209a97c8cf37395980fb903"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:18 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:52 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the permission checking code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa6dc9dc59c3a76fd209a97c8cf37395980fb903",
      "tree": "3af530da9d0a21f385007afb34bc058e3f6cab21",
      "parents": [
        "a3d01454bc58b5a211ef64a7670572a40b71e682"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:14 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:51 2008 -0400"
      },
      "message": "NFS: Remove attribute update related BKL references\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a3d01454bc58b5a211ef64a7670572a40b71e682",
      "tree": "68c1ba383fb2c6702a8cc02bc81d51da6fb2920b",
      "parents": [
        "1b83d707032a1be40a60ed0a9bd841662cc04a5d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 12:21:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:51 2008 -0400"
      },
      "message": "NFS: Remove BKL requirement from attribute updates\n\nThe main problem is dealing with inode-\u003ei_size: we need to set the\ninode-\u003ei_lock on all attribute updates, and so vmtruncate won\u0027t cut it.\nMake an NFS-private version of vmtruncate that has the necessary locking\nsemantics.\n\nThe result should be that the following inode attribute updates are\nprotected by inode-\u003ei_lock\n\tnfsi-\u003ecache_validity\n\tnfsi-\u003eread_cache_jiffies\n\tnfsi-\u003eattrtimeo\n\tnfsi-\u003eattrtimeo_timestamp\n\tnfsi-\u003echange_attr\n\tnfsi-\u003elast_updated\n\tnfsi-\u003ecache_change_attribute\n\tnfsi-\u003eaccess_cache\n\tnfsi-\u003eaccess_cache_entry_lru\n\tnfsi-\u003eaccess_cache_inode_lru\n\tnfsi-\u003eacl_access\n\tnfsi-\u003eacl_default\n\tnfsi-\u003enfs_page_tree\n\tnfsi-\u003encommit\n\tnfsi-\u003enpages\n\tnfsi-\u003eopen_files\n\tnfsi-\u003esilly_list\n\tnfsi-\u003eacl\n\tnfsi-\u003eopen_states\n\tinode-\u003ei_size\n\tinode-\u003ei_atime\n\tinode-\u003ei_mtime\n\tinode-\u003ei_ctime\n\tinode-\u003ei_nlink\n\tinode-\u003ei_uid\n\tinode-\u003ei_gid\n\nThe following is protected by dir-\u003ei_mutex\n\tnfsi-\u003ecookieverf\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b83d707032a1be40a60ed0a9bd841662cc04a5d",
      "tree": "4c39cb618026a4480e06e5ed0d30c7a553a6fabf",
      "parents": [
        "d67d1c7bf948341fd8678c8e337ec27f4b46b206"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:04 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:50 2008 -0400"
      },
      "message": "NFS: Protect inode-\u003ei_nlink updates using inode-\u003ei_lock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "f45663ce5fb30f76a3414ab3ac69f4dd320e760a",
      "tree": "c05fc92328c7a27aad026b1579eb087bf9f17402",
      "parents": [
        "6738b2512bdf93ffbefe108b38a9165d5a718c3f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jun 24 19:28:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:44 2008 -0400"
      },
      "message": "NFS: Allow either strict or sloppy mount option parsing\n\nThe kernel\u0027s NFS client mount option parser currently doesn\u0027t allow\nunrecognized or incorrect mount options.  This prevents misspellings or\nincorrectly specified mount options from possibly causing silent data\ncorruption.\n\nHowever, NFS mount options are not standardized, so different operating\nsystems can use differently spelled mount options to support similar\nfeatures, or can support mount options which no other operating system\nsupports.\n\n\"Sloppy\" mount option parsing, which allows the parser to ignore any\noption it doesn\u0027t recognize, is needed to support automounters that often\nuse maps that are shared between heterogenous operating systems.\n\nThe legacy mount command ignores the validity of the values of mount\noptions entirely, except for the \"sec\u003d\" and \"proto\u003d\" options.  If an\nincorrect value is specified, the out-of-range value is passed to the\nkernel; if a value is specified that contains non-numeric characters,\nit appears as though the legacy mount command sets that option to zero\n(probably incorrect behavior in general).\n\nIn any case, this sets a precedent which we will partially follow for\nthe kernel mount option parser:\n\n\t+ if \"sloppy\" is not set, the parser will be strict about both\n\t  unrecognized options (same as legacy) and invalid option\n\t  values (stricter than legacy)\n\n\t+ if \"sloppy\" is set, the parser will ignore unrecognized\n\t  options and invalid option values (same as legacy)\n\nAn \"invalid\" option value in this case means that either the type\n(integer, short, or string) or sign (for integer values) of the specified\nvalue is incorrect.\n\nThis patch does two things: it changes the NFS client\u0027s mount option\nparsing loop so that it parses the whole string instead of failing at\nthe first unrecognized option or invalid option value.  An unrecognized\noption or an invalid option value cause the option to be skipped.\n\nThen, the patch adds a \"sloppy\" mount option that allows the parsing\nto succeed anyway if there were any problems during parsing.  When\nparsing a set of options is complete, if there are errors and \"sloppy\"\nwas specified, return success anyway.  Otherwise, only return success\nif there are no errors.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6738b2512bdf93ffbefe108b38a9165d5a718c3f",
      "tree": "b294dc4583e71a58fe328ee8c25783a8c48bb02a",
      "parents": [
        "dd07c94750cb1ee4449fb0db06623e1865b3e26e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jun 24 16:33:54 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:43 2008 -0400"
      },
      "message": "NFS4: Set security flavor default for NFSv4 mounts like other defaults\n\nSet the default security flavor when we set the other mount option\ndefault values for NFSv4.  This cleans up the NFSv4 mount option parsing\npath to look like the NFSv2/v3 one.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd07c94750cb1ee4449fb0db06623e1865b3e26e",
      "tree": "1174ad17481341baa7841ad9e1219de7c858a1fb",
      "parents": [
        "01060c896e3e1ef53dcb914301c186932cd31b81"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jun 24 16:33:46 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:42 2008 -0400"
      },
      "message": "NFS: Set security flavor default for NFSv2/3 mounts like other defaults\n\nSet the default security flavor when we set the other mount option default\nvalues.  After this change, only the legacy user-space mount path needs to\nset the NFS_MOUNT_SECFLAVOUR flag.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01060c896e3e1ef53dcb914301c186932cd31b81",
      "tree": "638034cbd1707135426e602f7d8d2035c415622a",
      "parents": [
        "0e0cab744b17a70ef0f08d818d66935feade7cad"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jun 24 16:33:38 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:41 2008 -0400"
      },
      "message": "NFS: Refactor logic for parsing NFS security flavor mount options\n\nClean up: Refactor the NFS mount option parsing function to extract the\nsecurity flavor parsing logic into a separate function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0e0cab744b17a70ef0f08d818d66935feade7cad",
      "tree": "761a796ae9f0cdcaf15435699c293e30e711264d",
      "parents": [
        "ed596a8adb7964cf9d2f7682f9cf2c37322a775d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 26 17:47:12 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:40 2008 -0400"
      },
      "message": "NFS: use documenting macro constants for initializing ac{reg, dir}{min, max}\n\nClean up.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed596a8adb7964cf9d2f7682f9cf2c37322a775d",
      "tree": "8a409a671afc5b8fe17eceefdf335a739c096081",
      "parents": [
        "259875efed06d6936f54c9a264e868937f1bc217"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 26 17:47:05 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:39 2008 -0400"
      },
      "message": "NFS: Move the nfs_set_port() call out of nfs_parse_mount_options()\n\nThe remount path does not need to set the port in the server address.\nSince it\u0027s not really a part of option parsing, move the nfs_set_port()\ncall to nfs_parse_mount_options()\u0027s callers.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "259875efed06d6936f54c9a264e868937f1bc217",
      "tree": "c3831c6050582e6ab90ab523131788e2b09df163",
      "parents": [
        "40fef8a649e5344bfb6a67a7cc3def3e0dad6448"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 02 14:43:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:38 2008 -0400"
      },
      "message": "NFS: set transport defaults after mount option parsing is finished\n\nMove the UDP/TCP default timeo/retrans settings for text mounts to\nnfs_init_timeout_values(), which was were they were always being\ninitialised (and sanity checked) for binary mounts.\nDocument the default timeout values using appropriate #defines.\n\nEnsure that we initialise and sanity check the transport protocols that\nmay have been specified by the user.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5afc597c5f0bd184457e49b9a330fcb37b69db11",
      "tree": "f84cd40755de219095c376a5f96ba69da80e26f5",
      "parents": [
        "ee84dfc45467fd8e5ce04fa2813d98e0aebe465c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 11 10:03:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:32 2008 -0400"
      },
      "message": "nfs4: fix potential race with rapid nfs_callback_up/down cycle\n\nIf the nfsv4 callback thread is rapidly brought up and down, it\u0027s\npossible that nfs_callback_svc might never get a chance to run. If\nthis happens, the cleanup at thread exit might never occur, throwing\nthe refcounting off and nfs_callback_info in an incorrect state.\n\nMove the clean functions into nfs_callback_down. Also change the\nnfs_callback_info struct to track the svc_rqst rather than svc_serv\nsince we need to know that to call svc_exit_thread.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee84dfc45467fd8e5ce04fa2813d98e0aebe465c",
      "tree": "517b5cffc6785a1f170581ea4952e81c745bbf0d",
      "parents": [
        "77e03677ac76d413fbb6d6caaffa1d64877a0c2a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 11 10:03:10 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:31 2008 -0400"
      },
      "message": "nfs4: remove BKL from nfs_callback_up and nfs_callback_down\n\nThe nfs_callback_mutex is sufficient protection.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "77e03677ac76d413fbb6d6caaffa1d64877a0c2a",
      "tree": "7e89420de054284c5cb26896c52a3818598c642b",
      "parents": [
        "d8e7748ab8322171ebfd78f6155ff35e7d57ac32"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Jun 24 20:25:57 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:30 2008 -0400"
      },
      "message": "nfs: initialize timeout variable in nfs4_proc_setclientid_confirm\n\ngcc (4.3.0) rightfully warns about this:\n/usr0/export/dev/bhalevy/git/linux-pnfs-bh-nfs41/fs/nfs/nfs4proc.c: In function nfs4_proc_setclientid_confirm:\n/usr0/export/dev/bhalevy/git/linux-pnfs-bh-nfs41/fs/nfs/nfs4proc.c:2936: warning: timeout may be used uninitialized in this function\n\nnfs4_delay that\u0027s passed a pointer to \u0027timeout\u0027 is looking at its value\nand sets it up to some value in the range: NFS4_POLL_RETRY_MIN..NFS4_POLL_RETRY_MAX\n\tif (*timeout \u003c\u003d 0)\n\t\t*timeout \u003d NFS4_POLL_RETRY_MIN;\n\tif (*timeout \u003e NFS4_POLL_RETRY_MAX)\n\t\t*timeout \u003d NFS4_POLL_RETRY_MAX;\n\nTherefore it will end up set to some sane, though rather indeterministic, value.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8e7748ab8322171ebfd78f6155ff35e7d57ac32",
      "tree": "a9efa9e4f871a459d1b8bc3cebab133cb1a378f3",
      "parents": [
        "ce3b7e1906ebbe96753fe090b36de6ffb8e0e0e7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 23 12:37:01 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:29 2008 -0400"
      },
      "message": "NFS: handle interface identifiers in incoming IPv6 addresses\n\nAdd support in the kernel NFS client\u0027s address parser for interface\nidentifiers.\n\nIPv6 link-local addresses require an additional \"interface identifier\",\nwhich is a network device name or an integer that indexes the array of\nlocal network interfaces.  They are suffixed to the address with a \u0027%\u0027.\nFor example:\n\n\tfe80::215:c5ff:fe3b:e1b2%2\n\nindicates an interface index of 2.  Or\n\n\tfe80::215:c5ff:fe3b:e1b2%eth0\n\nindicates that requests should be routed through the eth0 device.\nWithout the interface ID, link-local addresses are not usable for NFS.\n\nBoth the kernel NFS client mount option parser and the mount.nfs command\ncan take either form.  The mount.nfs command always passes the address\nthrough getnameinfo(3), which usually re-writes interface indices as\ndevice names.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce3b7e1906ebbe96753fe090b36de6ffb8e0e0e7",
      "tree": "7518683c3a5818a0d48d377fa5dd4a37faddaec7",
      "parents": [
        "d1aa08257312f1439c1ab7c8a18e3856f9530f46"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 23 12:36:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:28 2008 -0400"
      },
      "message": "NFS: Add string length argument to nfs_parse_server_address\n\nTo make nfs_parse_server_address() more generally useful, allow it to\naccept input strings that are not terminated with \u0027\\0\u0027.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d1aa08257312f1439c1ab7c8a18e3856f9530f46",
      "tree": "04ac6b07e5fda3ea93a706fb4074e92b7a95aee3",
      "parents": [
        "dc04589827f7e1af12714af8bb00e3f3c4c48c62"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 23 12:36:45 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:27 2008 -0400"
      },
      "message": "NFS: Support raw IPv6 address hostnames during NFS mount operation\n\nTraditionally the mount command has looked for a \":\" to separate the\nserver\u0027s hostname from the export path in the mounted on device name,\nlike this:\n\n\tmount server:/export /mounted/on/dir\n\nThe server\u0027s hostname is \"server\" and the export path is \"/export\".\n\nYou can also substitute a specific IPv4 network address for the server\nhostname, like this:\n\n\tmount 192.168.0.55:/export /mounted/on/dir\n\nRaw IPv6 addresses present a problem, however, because they look\nsomething like this:\n\n\tfe80::200:5aff:fe00:30b\n\nNote the use of colons.\n\nTo get around the presence of colons, copy the Solaris convention used for\nmounting IPv6 servers by address: wrap a raw IPv6 address with square\nbrackets.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc04589827f7e1af12714af8bb00e3f3c4c48c62",
      "tree": "fb1436269bd041af0609ef4f748f1c58f91f974b",
      "parents": [
        "cd100725620a8063fbc81bcf16d7c9e71a9583e0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 23 12:36:37 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:26 2008 -0400"
      },
      "message": "NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3\n\nTo support passing a raw IPv6 address as a server hostname, we need to\nexpand the logic that handles splitting the passed-in device name into\na server hostname and export path\n\nStart by pulling device name parsing out of the mount option validation\nfunctions and into separate helper functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd100725620a8063fbc81bcf16d7c9e71a9583e0",
      "tree": "2c1f64d5ba23f45c91e6e29ba3bf10bbe696782c",
      "parents": [
        "e468bae97d243fe0e1515abaa1f7d0edf1476ad0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 17 16:12:00 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:25 2008 -0400"
      },
      "message": "NFS: Fix a dependency on CONFIG_NFS_V4 in nfs_remount\n\nFix the \u0027nfs4_fs_type\u0027 undeclared error in nfs_remount when compiling sans\nNFSv4...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "e468bae97d243fe0e1515abaa1f7d0edf1476ad0",
      "tree": "42bbbfe8d6dfc60bcaaaa1a7164ba75dc1060050",
      "parents": [
        "e7d39069e387a12d4c57f4067d9f48c1d29ea900"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 13 13:25:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:24 2008 -0400"
      },
      "message": "NFS: Allow redirtying of a completed unstable write.\n\nCurrently, if an unstable write completes, we cannot redirty the page in\norder to reflect a new change in the page data until after we\u0027ve sent a\nCOMMIT request.\n\nThis patch allows a page rewrite to proceed without the unnecessary COMMIT\nstep, putting it immediately back onto the dirty page list, undoing the\nVM unstable write accounting, and removing the NFS_PAGE_TAG_COMMIT tag from\nthe NFS radix tree.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e7d39069e387a12d4c57f4067d9f48c1d29ea900",
      "tree": "5c22fa8d08bc0ed90af16b4c8c1044e6da15bbac",
      "parents": [
        "396cee977f79590673ad51b04f1853e58bc30e7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 13 12:12:32 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:23 2008 -0400"
      },
      "message": "NFS: Clean up nfs_update_request()\n\nSimplify the loop in nfs_update_request by moving into a separate function\nthe code that attempts to update an existing cached NFS write.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "396cee977f79590673ad51b04f1853e58bc30e7b",
      "tree": "6cf6080d14e23f6462d625ac7620927a210f1dfd",
      "parents": [
        "d33e4dfeab5eb0c3c1359cc1a399f2f8b49e18de"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 12 12:37:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:22 2008 -0400"
      },
      "message": "NFS: missing newline in NFS mount debugging message\n\nClean up.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d33e4dfeab5eb0c3c1359cc1a399f2f8b49e18de",
      "tree": "f1ddcbcb88652023657ca7f9447c4528f6cbeca9",
      "parents": [
        "ecbb3845dd678364148c1faad32adbc9dd833ef9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 12 12:37:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:21 2008 -0400"
      },
      "message": "NFS: Treat \"intr\" and \"nointr\" options as deprecated\n\nClean up:  the \"intr\" and \"nointr\" mount options were recently retired.\nDocument this in the NFS mount option parser.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ecbb3845dd678364148c1faad32adbc9dd833ef9",
      "tree": "4ccd2237499f80586cb23ae0c2b00a092cb4e455",
      "parents": [
        "f41f741838480aeaa3a189cff6e210503cf9c42d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 12 12:37:33 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:20 2008 -0400"
      },
      "message": "NFS: Allow any value for the \"retry\" option\n\nThe kernel NFS mount option parser should ignore the retry\u003d mount option\nsince it is meaningful only in user space.  Today it expects a number\nrather than arbitrary text, so it ignores the option if the value is\nnumeric, but chokes if there are other characters in the value.\n\nChange it to allow any text (except \",\") as its value.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f41f741838480aeaa3a189cff6e210503cf9c42d",
      "tree": "fc4509d47132c28ca211e57d8f59b56accb6db8b",
      "parents": [
        "2e96d2867245668dbdb973729288cf69b9fafa66"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 17:39:04 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:19 2008 -0400"
      },
      "message": "NFS: Ensure we zap only the access and acl caches when setting new acls\n\n...and ensure that we obey the NFS_INO_INVALID_ACL flag when retrieving the\nacls.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2e96d2867245668dbdb973729288cf69b9fafa66",
      "tree": "8f8b0642beaf0f7d53e31963328dfbc992c5ac88",
      "parents": [
        "34e8f92831cb5c40b3137e47a3daf4c09016ef02"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 16:42:05 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:18 2008 -0400"
      },
      "message": "NFS: Fix a warning in nfs4_async_handle_error\n\nWe\u0027re not modifying the nfs_server when we call nfs_inc_server_stats and\nfriends, so allow the compiler to pass \u0027const\u0027 pointers too.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34e8f92831cb5c40b3137e47a3daf4c09016ef02",
      "tree": "7351733689914353b1636b5f21aca6d7b0236a79",
      "parents": [
        "46cb650c224bb8e64a749090105d74b9e8eda669"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Jun 12 12:32:25 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:17 2008 -0400"
      },
      "message": "NFS: Move fs/nfs/iostat.h to include/linux\n\nThe fs/nfs/iostat.h header has definitions that were designed to be exposed\nto user space.  Move these definitions under include/linux so user space can\nuse the definitions in applications that read /proc/self/mountstats.\n\nAlso address a handful of coding style issues called out by checkpatch.pl in\nfs/nfs/iostat.h.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "46cb650c224bb8e64a749090105d74b9e8eda669",
      "tree": "03c6b21bc70a983a63642c2bec6c0e26f07e4efb",
      "parents": [
        "b22602a673b1743bba4b62bb404ffd3b269d2f09"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 16:32:46 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:16 2008 -0400"
      },
      "message": "NFS: Remove the redundant file_open entry from struct nfs_rpc_ops\n\nAll instances are set to nfs_open(), so we should just remove the redundant\nindirection. Ditto for the file_release op\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "659bfcd6dd88919a5ad453f62afbeffcb3106847",
      "tree": "e3996d809e9ae4860a8adac71474e6ea8850c3b5",
      "parents": [
        "a486aeda9b2b0d944aecce7871b3186379b898de"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 19:39:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:14 2008 -0400"
      },
      "message": "NFS: Fix the ftruncate() credential problem\n\nftruncate() access checking is supposed to be performed at open() time,\njust like reads and writes.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48b605f83c920d8daa50e43fc2c7f718e04c7bfa",
      "tree": "745de009daf7e4efe7105d2501276c83de31466d",
      "parents": [
        "c2d946e55e1be20a7443918e3b7497b905e6b3f7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 15:38:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:09 2008 -0400"
      },
      "message": "NFS: implement option checking when remounting NFS filesystems (resend)\n\nWhen remounting an NFS or NFS4 filesystem, the new NFS options are not\nrespected, yet the remount will still return success. This patch adds\na remount_fs sb op for NFS that checks any new nfs mount options against\nthe existing ones and fails the mount if any have changed.\n\nThis is only implemented for string-based mount options since doing\nthis with binary options isn\u0027t really feasible.\n\nThis is essentially the same as the original patch I sent out, but\nadds a check to see if the addr\u003d option has changed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2d946e55e1be20a7443918e3b7497b905e6b3f7",
      "tree": "5543227ee0938124949f9f5bdb3546b429e1ff49",
      "parents": [
        "cd983ef81b9d79573848dabf81277c7314220257"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue May 20 01:08:00 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:08 2008 -0400"
      },
      "message": "fs/nfs/nfsroot.c: remove CVS keyword\n\nThis patch removes a CVS keyword that wasn\u0027t updated for a long time\nfrom a comment.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48186c7d5734a6b137f9186b37f6dc98097d0429",
      "tree": "3fc31d6d71a9160e50ea1c4e9afaefe9b4aefd80",
      "parents": [
        "6da24bc9cfc645c619992e39aab09747164c9f14"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:56:05 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:05 2008 -0400"
      },
      "message": "NFS: Fix trace debugging nits in write.c\n\nClean up: fix a few dprintk messages that still need to show the RPC task ID\ncorrectly, and be sure we use the preferred %lld or %llu instead of %Ld or\n%Lu.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6da24bc9cfc645c619992e39aab09747164c9f14",
      "tree": "a2d092a395d219db6b251d4d7f481ca0f9f7ecb0",
      "parents": [
        "b7eaefaa8722fd98e5c2632640d1abd2b0c83e84"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:55:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:04 2008 -0400"
      },
      "message": "NFS: Use NFSDBG_FILE for all fops\n\nClean up: some fops use NFSDBG_FILE, some use NFSDBG_VFS.  Let\u0027s use\nNFSDBG_FILE for all fops, and consistently report file names instead\nof inode numbers.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7eaefaa8722fd98e5c2632640d1abd2b0c83e84",
      "tree": "58547b04f1286e65081536fbf37c60ddbc66244a",
      "parents": [
        "cc0dd2d1052aede2946ad1338a8f6f5d5c604740"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:55:50 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:03 2008 -0400"
      },
      "message": "NFS: Add debugging facility for NFS aops\n\nRecent work in fs/nfs/file.c neglected to add appropriate trace debugging\nfor the NFS client\u0027s address space operations.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc0dd2d1052aede2946ad1338a8f6f5d5c604740",
      "tree": "e4566796e958935c4d21988c8c43b1d798f2c1d6",
      "parents": [
        "b84e06c58fdefdc42931f771dc295e63f4b27365"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:55:42 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:02 2008 -0400"
      },
      "message": "NFS: Make nfs_open methods consistent\n\nClean up: Report the same debugging info and count function calls the\nsame for files and directories in nfs_opendir() and nfs_file_open().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b84e06c58fdefdc42931f771dc295e63f4b27365",
      "tree": "1018cbbb7559b928ee1ae7e29663de81ba56ef6b",
      "parents": [
        "549177863bac22f23663ee9f70c4e3b9fb269f2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 11 17:55:34 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:01 2008 -0400"
      },
      "message": "NFS: Make nfs_llseek methods consistent\n\nClean up: Report the same debugging info in nfs_llseek_dir() and\nnfs_llseek_file().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "549177863bac22f23663ee9f70c4e3b9fb269f2c",
      "tree": "06ced21ed11c050cbb10f552b30e8e4368ccb487",
      "parents": [
        "cb3997b5a0b21864368bd1bd1d0929f9304fb6d9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue May 27 16:29:07 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:00 2008 -0400"
      },
      "message": "NFS: Make nfs_fsync methods consistent\n\nClean up: Report the same debugging info, count function calls the same,\nand use similar function naming in nfs_fsync_dir() and nfs_fsync().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5418383ef13f70528281546d02c15edc03d8567",
      "tree": "a25d5e9c78c14af25a71046541eaa9f77819d9a9",
      "parents": [
        "0f38b873aeaae698c3693748438547c8493165fb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 18:31:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:50 2008 -0400"
      },
      "message": "NFS: do_setlk(): don\u0027t flush caches when we have a delegation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7e5f6146609eb9134fac7d1b6bfee43df1732188",
      "tree": "46f5ea60fc86ebd39dbdb85e13c8cabd2da28ec0",
      "parents": [
        "efc91ed0191e3fc62bb1c556ac93fc4e661214d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun May 25 12:59:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:46 2008 -0400"
      },
      "message": "NFS: Revert commit 44dd151d\n\nRevert commit 44dd151d \"NFS: Don\u0027t mark a written page as uptodate until it\nis on disk\". While it is true that the write may fail, that is always the\ncase. There is no reason why we should treat data on pages that are not\nalready marked as PG_uptodate as being special. The only thing we gain is a\nnoticeable slowdown when re-reading these pages.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "efc91ed0191e3fc62bb1c556ac93fc4e661214d2",
      "tree": "291dba382da5d609c5bd35b5e369324ecbb95c00",
      "parents": [
        "b390c2b55c830eb3b64633fa8d8b8837e073e458"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 18:31:00 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:45 2008 -0400"
      },
      "message": "NFS: Optimise append writes with holes\n\nIf a file is being extended, and we\u0027re creating a hole, we might as well\ndeclare the entire page to be up to date.\n\nThis patch significantly improves the write performance for sparse files\nin the case where lseek(SEEK_END) is used to append several non-contiguous\nwrites at intervals of \u003c PAGE_SIZE.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2116271a347d1181b5497602c2bfada1de8fd53b",
      "tree": "537498aa91bbe1fbbfc7f2c1e00910ca7fbc2261",
      "parents": [
        "f3d47a3a6a1484a93c8cfe1e8c8d4399c95199c7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 20 19:34:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:40 2008 -0400"
      },
      "message": "NFS: Add correct bounds checking to NFSv2 locks\n\nNFSv2 file locking currently fails the Connectathon tests, because the\ncalls to the VFS locking code do not return an EINVAL error if the\nstruct file_lock overflows the 32-bit boundaries.\n\nThe problem is due to the fact that we occasionally call helpers from\nfs/locks.c in order to avoid RPC calls to the server when we know that a\nlocal process holds the lock. These helpers are, of course, always\n64-bit enabled, so EINVAL is not returned in cases when it would if\nthe call had gone to the NLM code.\n\nFor consistency, we therefore add support for a bounds-checking helper.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3d47a3a6a1484a93c8cfe1e8c8d4399c95199c7",
      "tree": "639d104b0e66dc3bf143bf0010fb5954dc3e7b37",
      "parents": [
        "0b4aae7aad162ad175ba8a65708332f888066b26"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 05 15:17:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:39 2008 -0400"
      },
      "message": "NFS: Fix a preemption count leak in nfs_update_request\n\nThe commit 2785259631697ebb0749a3782cca206e2e542939 (nfs: use GFP_NOFS\npreloads for radix-tree insertion) appears to have introduced a bug:\nWe only want to call radix_tree_preload() once after creating a request.\nCalling it every time we loop after we created the request, will cause\npreemption count leaks.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "0b4aae7aad162ad175ba8a65708332f888066b26",
      "tree": "cae60e1ff20f52cea8785a37a6ca9dfeb5cf1784",
      "parents": [
        "57dc9a5747942f131a1a8b36d661fec6e6a5e9f6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 20 17:00:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:38 2008 -0400"
      },
      "message": "NFS: Reduce the stack usage in NFSv3 create operations\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "57dc9a5747942f131a1a8b36d661fec6e6a5e9f6",
      "tree": "853999af6586fcda2da1e3cf49b75ac73b40c7ca",
      "parents": [
        "f57e91682d141ea50d8c6d42cdc251b6256a3755"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 20 15:35:32 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:37 2008 -0400"
      },
      "message": "NFS: Reduce the stack usage in NFSv4 create operations\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2aac05a91971fbd1bf6cbed78b8731eb7454b9b7",
      "tree": "1bbbb13b7e4353bc729363582eef95925c523b7b",
      "parents": [
        "9c0fc4e28b57c5a6da7b58d60f71476c64d457a6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 07 13:26:10 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 08 15:22:40 2008 -0400"
      },
      "message": "NFS: Fix readdir cache invalidation\n\ninvalidate_inode_pages2_range() takes page offset arguments, not byte\nranges.\n\nAnother thought is that individual pages might perhaps get evicted by VM\npressure, in which case we might perhaps want to re-read not only the\nevicted page, but all subsequent pages too (in case the server returns\nmore/less data per page so that the alignment of the next entry\nchanges). We should therefore remove the condition that we only do this on\npage-\u003eindex\u003d\u003d0.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9465efc9e96135a2cec8154c0c766fa59984a298",
      "tree": "079b94123ab65ff80c4869bcf25192c8596b049c",
      "parents": [
        "9c20616c385ebeaa30257ef5d35e8f346db4ee32"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Jun 27 11:05:24 2008 +0200"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Jul 02 15:06:27 2008 -0600"
      },
      "message": "Remove BKL from remote_llseek v2\n\n- Replace remote_llseek with generic_file_llseek_unlocked (to force compilation\nfailures in all users)\n- Change all users to either use generic_file_llseek_unlocked directly or\ntake the BKL around. I changed the file systems who don\u0027t use the BKL\nfor anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS\ntake the BKL, but explicitely in their own source now.\n\nI moved them all over in a single patch to avoid unbisectable sections.\n\nOpen problem: 32bit kernels can corrupt fpos because its modification\nis not atomic, but they can do that anyways because there\u0027s other paths who\nmodify it without BKL.\n\nDo we need a special lock for the pos/f_version \u003d 0 checks?\n\nTrond says the NFS BKL is likely not needed, but keep it for now\nuntil his full audit.\n\nv2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked\n    and factor duplicated code (suggested by hch)\n\nCc: Trond.Myklebust@netapp.com\nCc: swhiteho@redhat.com\nCc: sfrench@samba.org\nCc: vandrove@vc.cvut.cz\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8",
      "tree": "ebd8d0855b70698ea3017147bf69e38ac22af854",
      "parents": [
        "b7e2445737ff69cef892b6fd9cd71cae2c9e9515"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 05 16:02:35 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:07 2008 -0400"
      },
      "message": "NFS: nfs_updatepage(): don\u0027t mark page as dirty if an error occurred\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7e2445737ff69cef892b6fd9cd71cae2c9e9515",
      "tree": "d248fa5765d8e4b6ab00f10a77f9cbe793644672",
      "parents": [
        "33852a1f2bb014e4047a844556c0d76a2f790c37"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 15:21:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:06 2008 -0400"
      },
      "message": "NFS: Fix filehandle size comparisons in the mount code\n\nFix a sign issue in xdr_decode_fhstatus3()\nFix incorrect comparison in nfs_validate_mount_data()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33852a1f2bb014e4047a844556c0d76a2f790c37",
      "tree": "374e0a266d087fd8eb9419eb77ee4bb788419f82",
      "parents": [
        "945754a1754f9d4c2974a8241ad4f92fad7f3a6a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 14:20:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:05 2008 -0400"
      },
      "message": "NFS: Reduce the NFS mount code stack usage.\n\nThis appears to fix the Oops reported in\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10826\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d2e88e73ee0af52b0ed63b5fb8f42a919a4d9de",
      "tree": "7e28d99780ab4b925275a7bad07beeae979646d3",
      "parents": [
        "31f31db1a15671513df9cd9fbe56ef45ee1e9a2a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri May 02 13:42:45 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:31 2008 -0700"
      },
      "message": "nfs: make nfs4_drop_state_owner() static\n\nnfs4_drop_state_owner() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31f31db1a15671513df9cd9fbe56ef45ee1e9a2a",
      "tree": "ad4015fb8159aaa18041791c2c85e272c5565dd7",
      "parents": [
        "3110ff8048fb757b36112b044b384aea9c44d6e4"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Fri May 02 13:42:45 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:30 2008 -0700"
      },
      "message": "nfs: path_{get,put}() cleanups\n\nHere are some more places where path_{get,put}() can be used instead of\ndput()/mntput() pair.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3110ff8048fb757b36112b044b384aea9c44d6e4",
      "tree": "5260f4973bd0848ddef3fb3c111386e59616abbc",
      "parents": [
        "46c8ac74250a396aca855e494f49a960797a6b5e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri May 02 13:42:44 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:29 2008 -0700"
      },
      "message": "nfs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "46c8ac74250a396aca855e494f49a960797a6b5e",
      "tree": "aa02bcbc7f332f97c202ee14f8497dcb7b9aa992",
      "parents": [
        "3a6258e1fb5ff717dcefa04afc35f81aaae3f3e0"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri May 02 13:42:42 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:27 2008 -0700"
      },
      "message": "nfs/lsm: make NFSv4 set LSM mount options\n\nNFSv3 get_sb operations call into the LSM layer to set security options passed\nfrom userspace.  NFSv4 hooks were not originally added since it was reasonably\nlate in the merge window and NFSv3 was the only thing that had regressed (v4\nhas never supported any LSM options)\n\nThis patch makes NFSv4 call into the LSM to set security options rather than\njust blindly dropping them with no notice to the user as happens today.  This\npatch was tested in a simple NFSv4 environment with the context\u003d option and\nappeared to work as expected.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a6258e1fb5ff717dcefa04afc35f81aaae3f3e0",
      "tree": "2bf2cf66277f2400f5dee5f815f5fc1d57c4ffc1",
      "parents": [
        "38def50fabc479dc96ea6bd2cb2526e0dfc36fa4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 06 13:32:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:26 2008 -0700"
      },
      "message": "NFSv4: Check the return value of decode_compound_hdr_arg()\n\nIf decode_compound_hdr_arg() returns a resource error, then we cannot\nproceed to process the callback. Return a \u0027GARBAGE_ARGS\u0027 rpc-level error to\nthe caller instead.\nIf, however, the minor version field is incorrect, then we need to\npropagate the resulting NFS4ERR_MINOR_VERS_MISMATCH error back as the\ncompound status field (setting the nops field to 0).\n\nFinally, if encode_compound_hdr_res() returns an error, we need to return\nan RPC_SYSTEM_ERR to the caller.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "38def50fabc479dc96ea6bd2cb2526e0dfc36fa4",
      "tree": "c7327131526e59b35f639af91dbea3075b20445e",
      "parents": [
        "b0b539739fe9b7d75002412a787cfdf4efddbc33"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Thu May 01 20:03:22 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:23 2008 -0700"
      },
      "message": "nfs: fix race in nfs_dirty_request\n\nWhen called from nfs_flush_incompatible, the req is not locked, so\nreq-\u003ewb_page might be set to NULL before it is used by PageWriteback.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0b539739fe9b7d75002412a787cfdf4efddbc33",
      "tree": "0b20f42bb8cdef9bba26c7ca0e4afe883e5c9c25",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 05 11:45:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 16 09:43:21 2008 -0700"
      },
      "message": "NFS: Ensure that \u0027noac\u0027 and/or \u0027actimeo\u003d0\u0027 turn off attribute caching\n\nBoth the \u0027noac\u0027 and \u0027actimeo\u003d0\u0027 mount options should ensure that attributes\nare not cached, however a bug in nfs_attribute_timeout() means that\ncurrently, the attributes may in fact get cached for up to one jiffy. This\nhas been seen to cause corruption in some applications.\n\nThe reason for the bug is that the time_in_range() test returns \u0027true\u0027 as\nlong as the current time lies between nfsi-\u003eread_cache_jiffies and\nnfsi-\u003eread_cache_jiffies + nfsi-\u003eattrtimeo. In other words, if jiffies\nequals nfsi-\u003eread_cache_jiffies, then we still cache the attribute data.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa799759f9801137f665dbedda2c0815f1bf6f1b",
      "tree": "c921e2bcda0e2aa094aec1c3bbf4f89b319d4855",
      "parents": [
        "cf0ca9fe5dd9e3693d935757a7b2fc50fc576554"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: expose the BDI object in sysfs for NFS\n\nRegister NFS\u0027 backing_dev_info under sysfs with the name \"nfs-MAJOR:MINOR\"\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34b37235c60fd23e4075da475c7bb22e6c7a466e",
      "tree": "4c651f02cc44cf0769f391919de458595149f801",
      "parents": [
        "9ef2db2630652d68dfd336088648adae7ef0bcd4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "nfs: use proc_create to setup de-\u003eproc_fops\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing PDE to\nmain tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42faad99658eed7ca8bd328ffa4bcb7d78c9bcca",
      "tree": "8b57fb69d1922939c6ba13f512a0ae54a3a171ef",
      "parents": [
        "78d31a3a87f84cf56004b7bc154831f2ee1186e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:21:56 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:25 2008 -0400"
      },
      "message": "[PATCH] restore sane -\u003eumount_begin() API\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "563307b2fa15d687abc54bd980b9847ebf0e3231",
      "tree": "7f16be30217a2e66360ede97aa27d07a4ebd7e55",
      "parents": [
        "10c993a6b5418cb1026775765ba4c70ffb70853d",
        "233607dbbc823caf685e778cabc49fb7f679900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits)\n  SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n  make nfs_automount_list static\n  NFS: remove duplicate flags assignment from nfs_validate_mount_data\n  NFS - fix potential NULL pointer dereference v2\n  SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n  SUNRPC: Fix a race in gss_refresh_upcall()\n  SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n  SUNRPC: Remove the unused export of xprt_force_disconnect\n  SUNRPC: remove XS_SENDMSG_RETRY\n  SUNRPC: Protect creds against early garbage collection\n  NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n  NFSv4: Reintroduce machine creds\n  NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n  nfs: fix printout of multiword bitfields\n  nfs: return negative error value from nfs{,4}_stat_to_errno\n  NLM/lockd: Ensure client locking calls use correct credentials\n  NFS: Remove the buggy lock-if-signalled case from do_setlk()\n  NLM/lockd: Fix a race when cancelling a blocking lock\n  NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n  NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n  ...\n"
    },
    {
      "commit": "233607dbbc823caf685e778cabc49fb7f679900b",
      "tree": "13840137ee10788061cbec60fcfe8ea4c274558e",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe",
        "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027\n"
    },
    {
      "commit": "06e02d66fa0055230efc2443c43ee4f3ab5eb0b6",
      "tree": "ef5fcba37b6d9805193b77bfa10466a03326b6ed",
      "parents": [
        "9078dc08143e23b18ea72e70265f0df920cf2998"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 08 15:40:07 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "NFS: don\u0027t let nfs_callback_svc exit on unexpected svc_recv errors (try #2)\n\nWhen svc_recv returns an unexpected error, nfs_callback_svc will print a\nwarning and exit. This problematic for several reasons. In particular,\nit will cause the reference counts for the thread to be wrong, and no\nnew thread will be started until all nfs4 mounts are unmounted.\n\nRather than exiting on error from svc_recv, have the thread do a 1s\nsleep and then retry the loop. This is unlikely to cause any harm, and\nif the error turns out to be something temporary then it may be able to\nrecover.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1ba1ab76e68de9f4a93fae8406627924efaed99",
      "tree": "464f54dd8f33162723db9708d8bfb6dc1b7dc791",
      "parents": [
        "3c61eecb607dbc2777074b1a95b8a97e31a96a73"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 13:09:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "nfsd: fix comment\n\nObvious comment nit.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a277e33cbe3fdfb9a77b448ea3043be22f000dfd",
      "tree": "2da3b18f69c7f2d8979a33c666977cd23592e98d",
      "parents": [
        "3ba1514815817f93a4f09615726dd4bcd0ddbbc9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 20 08:55:30 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "NFS: convert nfs4 callback thread to kthread API\n\nThere\u0027s a general push to convert kernel threads to use the (much\ncleaner) kthread API. This patch converts the NFSv4 callback kernel\nthread to the kthread API. In addition to being generally cleaner this\nalso removes the dependency on signals when shutting down the thread.\n\nNote that this patch depends on the recent patches to svc_recv() to\nmake it check kthread_should_stop() periodically. Those patches are\nin Bruce\u0027s tree at the moment and are slated for 2.6.26 along with\nthe lockd conversion, so this conversion is probably also appropriate\nfor 2.6.26.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "065f30ec14b1460c695b371bc44e068832a60d9b",
      "tree": "ff85eab4b7072497522c2dd33ca0edb3c201fcf5",
      "parents": [
        "f15364bd4cf8799a7677b6daeed7b67d9139d974"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 19 13:58:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfs: remove unnecessary NFS_NEED_* defines\n\nThanks to Robert Day for pointing out that these two defines are unused.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Trond Myklebust \u003ctrond@netapp.com\u003eTrond Myklebust \u003ctrond@netapp.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Robert P. J. Day\" \u003crpjday@crashcourse.ca\u003e\n"
    },
    {
      "commit": "a3dab293539031b0970585b9b355cebbc91ecbd4",
      "tree": "2ad3d7e8f051ab6cf7cefa3872eedf3eeed1247b",
      "parents": [
        "daa7da5fd3040e08e3d7878cd0667c1f4cfd338a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 14 21:41:32 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:29 2008 -0400"
      },
      "message": "make nfs_automount_list static\n\nnfs_automount_list can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "daa7da5fd3040e08e3d7878cd0667c1f4cfd338a",
      "tree": "72fa219ec1fb478ef272a7b14958fd4f933b80f5",
      "parents": [
        "63649bd7080a6a50fabcb1935f4b7c4e64155066"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Apr 11 11:50:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:25 2008 -0400"
      },
      "message": "NFS: remove duplicate flags assignment from nfs_validate_mount_data\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "63649bd7080a6a50fabcb1935f4b7c4e64155066",
      "tree": "84e398f5d3f191526dd511c112391befbd46dfda",
      "parents": [
        "cd019f7517206a74d8cdb64d5c82b1f76be608cc"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Apr 17 20:42:09 2008 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:22 2008 -0400"
      },
      "message": "NFS - fix potential NULL pointer dereference v2\n\nThere is possible NULL pointer dereference if kstr[n]dup failed.\nSo fix them for safety.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0",
      "tree": "a172b309f9ead2f81426eebdb28f3f1ecb75ce48",
      "parents": [
        "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 16:02:17 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:59 2008 -0400"
      },
      "message": "NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c",
      "tree": "4d0041249b48f9ac66560550e0e96c9c86c37891",
      "parents": [
        "78ea323be6380a9313e87fe241809e912e8ae401"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:50:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:56 2008 -0400"
      },
      "message": "NFSv4: Reintroduce machine creds\n\nWe need to try to ensure that we always use the same credentials whenever\nwe re-establish the clientid on the server. If not, the server won\u0027t\nrecognise that we\u0027re the same client, and so may not allow us to recover\nstate.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78ea323be6380a9313e87fe241809e912e8ae401",
      "tree": "6ea9a772ab677012c52a08c6b32e366d7bf129d4",
      "parents": [
        "441092415770ddec648800701895913c4bfd60c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:49:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:53 2008 -0400"
      },
      "message": "NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n\nWith the recent change to generic creds, we can no longer use\ncred-\u003ecr_ops-\u003ecr_name to distinguish between RPCSEC_GSS principals and\nAUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops-\u003eau_name\ninstead...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "441092415770ddec648800701895913c4bfd60c1",
      "tree": "dc74f31ba55b91114baee56e31c7db741220d5ec",
      "parents": [
        "856dff3d3875bdc8b88e4a65779873af76776a69"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Wed Apr 02 15:21:15 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:50 2008 -0400"
      },
      "message": "nfs: fix printout of multiword bitfields\n\nBenny points out that zero-padding of multiword bitfields is necessary,\nand that delimiting each word is nice to avoid endianess confusion.\n\nbhalevy: without zero padding output can be ambiguous. Also,\nsince the printed array of two 32-bit unsigned integers is not a\n64-bit number, delimiting the output with a semicolon makes more sense.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "856dff3d3875bdc8b88e4a65779873af76776a69",
      "tree": "03f10cfa3319df59987fa20b1e96902d96fdb4ee",
      "parents": [
        "d11d10cc05c94a32632d6928d15a1034200dd9a5"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Mar 31 17:39:06 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:47 2008 -0400"
      },
      "message": "nfs: return negative error value from nfs{,4}_stat_to_errno\n\nAll use sites for nfs{,4}_stat_to_errno negate their return value.\nIt\u0027s more efficient to return a negative error from the stat_to_errno convertors\nrather than negating its return value everywhere. This also produces slightly\nsmaller code.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc",
      "tree": "51c0e7fa84f7eff745dc17a7bffd81adb3d207d3",
      "parents": [
        "5f50c0c6d644d6c8180d9079c13c5d9de3adeb34"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 20:26:52 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:52 2008 -0400"
      },
      "message": "NFS: Remove the buggy lock-if-signalled case from do_setlk()\n\nBoth NLM and NFSv4 should be able to clean up adequately in the case where\nthe user interrupts the RPC call...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "536ff0f809b0f4d56e1c41e66768d330668e0a55",
      "tree": "fa2b17cc442227d5157b644d8b3fe188b4922983",
      "parents": [
        "4a9af59fee0701d9db99bc148d87b8852d6d6dd8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 04 15:08:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:33 2008 -0400"
      },
      "message": "NFSv4: Ensure we don\u0027t corrupt fl-\u003efl_flags in nfs4_proc_unlck\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "c1d519312dcdf11532fed9f99a8ecc3547ffd9d6"
}
