)]}'
{
  "log": [
    {
      "commit": "b88f8a546f5dba213938fdfc11e66bc5c2421623",
      "tree": "4048d84046bc47d715651fdd375eabbea065bad6",
      "parents": [
        "0b75b35c7cad33e7613f5adf28fa10fe8b09b1c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 22 15:09:14 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:28:25 2009 -0700"
      },
      "message": "NFS: Correct the NFS mount path when following a referral\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b75b35c7cad33e7613f5adf28fa10fe8b09b1c3",
      "tree": "92b9987a33dc791aed752469ea7aed6e00a63b36",
      "parents": [
        "c02d7adf8c5429727a98bad1d039bccad4c61c50"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 22 15:09:14 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:28:25 2009 -0700"
      },
      "message": "NFS: Fix nfs_path() to always return a \u0027/\u0027 at the beginning of the path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c02d7adf8c5429727a98bad1d039bccad4c61c50",
      "tree": "10f9a95817f6491426b80f0353eed54964dc1b90",
      "parents": [
        "cf8d2c11cb77f129675478792122f50827e5b0ae"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 22 15:09:14 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:28:25 2009 -0700"
      },
      "message": "NFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace\n\nAs noted in the previous patch, the NFSv4 client mount code currently\nhas several limitations. If the mount path contains symlinks, or\nreferrals, or even if it just contains a \u0027..\u0027, then the client code in\nnfs4_path_walk() will fail with an error.\n\nThis patch replaces the nfs4_path_walk()-based lookup with a helper\nfunction that sets up a private namespace to represent the namespace on the\nserver, then uses the ordinary VFS and NFS path lookup code to walk down the\nmount path in that namespace.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf8d2c11cb77f129675478792122f50827e5b0ae",
      "tree": "85bebdff4cffbca238952e839b0cb801e6a9bfe7",
      "parents": [
        "616511d039af402670de8500d0e24495113a9cab"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 22 15:09:13 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:28:25 2009 -0700"
      },
      "message": "VFS: Add VFS helper functions for setting up private namespaces\n\nThe purpose of this patch is to improve the remote mount path lookup\nsupport for distributed filesystems such as the NFSv4 client.\n\nWhen given a mount command of the form \"mount server:/foo/bar /mnt\", the\nNFSv4 client is required to look up the filehandle for \"server:/\", and\nthen look up each component of the remote mount path \"foo/bar\" in order\nto find the directory that is actually going to be mounted on /mnt.\nFollowing that remote mount path may involve following symlinks,\ncrossing server-side mount points and even following referrals to\nfilesystem volumes on other servers.\n\nSince the standard VFS path lookup code already supports walking paths\nthat contain all these features (using in-kernel automounts for\nfollowing referrals) we would like to be able to reuse that rather than\nduplicate the full path traversal functionality in the NFSv4 client code.\n\nThis patch therefore defines a VFS helper function create_mnt_ns(), that\nsets up a temporary filesystem namespace and attaches a root filesystem to\nit. It exports the create_mnt_ns() and put_mnt_ns() function for use by\nfilesystem modules.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "616511d039af402670de8500d0e24495113a9cab",
      "tree": "825a34ab670dedc463ba7252a177793746c010c7",
      "parents": [
        "31950eb66ff47c946fd9c65c2f8c94b6b7ba13fc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 22 15:09:13 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:28:25 2009 -0700"
      },
      "message": "VFS: Uninline the function put_mnt_ns()\n\nIn order to allow modules to use it without having to export vfsmount_lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac1b7c378ef26fba6694d5f118fe7fc16fee2fe2",
      "tree": "3f72979545bb070eb2c3e903cbf31dc4aef3ffc9",
      "parents": [
        "9e268beb92ee3a853b3946e84b10358207e2085f",
        "c90173f0907486fe4010c2a8cef534e2473db43f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 16:56:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 16:56:22 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (63 commits)\n  mtd: OneNAND: Allow setting of boundary information when built as module\n  jffs2: leaking jffs2_summary in function jffs2_scan_medium\n  mtd: nand: Fix memory leak on txx9ndfmc probe failure.\n  mtd: orion_nand: use burst reads with double word accesses\n  mtd/nand: s3c6400 support for s3c2410 driver\n  [MTD] [NAND] S3C2410: Use DIV_ROUND_UP\n  [MTD] [NAND] S3C2410: Deal with unaligned lengths in S3C2440 buffer read/write\n  [MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NAND\n  [MTD] [NAND] S3C2410: Added a kerneldoc for s3c2410_nand_set\n  mtd: physmap_of: Add multiple regions and concatenation support\n  mtd: nand: max_retries off by one in mxc_nand\n  mtd: nand: s3c2410_nand_setrate(): use correct macros for 2412/2440\n  mtd: onenand: add bbt_wait \u0026 unlock_all as replaceable for some platform\n  mtd: Flex-OneNAND support\n  mtd: nand: add OMAP2/OMAP3 NAND driver\n  mtd: maps: Blackfin async: fix memory leaks in probe/remove funcs\n  mtd: uclinux: mark local stuff static\n  mtd: uclinux: do not allow to be built as a module\n  mtd: uclinux: allow systems to override map addr/size\n  mtd: blackfin NFC: fix hang when using NAND on BF527-EZKITs\n  ...\n"
    },
    {
      "commit": "7e0338c0de18c50f09aea1fbef45110cf7d64a3c",
      "tree": "30a935c1f6eee7125a9fbb802a33292b1f7268fa",
      "parents": [
        "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
        "47fcb03fefee2501e79176932a4184fc24d6f8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd\n\n* \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd: (60 commits)\n  SUNRPC: Fix the TCP server\u0027s send buffer accounting\n  nfsd41: Backchannel: minorversion support for the back channel\n  nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n  nfsd41: Remove ip address collision detection case\n  nfsd: optimise the starting of zero threads when none are running.\n  nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n  nfsd41: sanity check client drc maxreqs\n  nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct\n  NFS: kill off complicated macro \u0027PROC\u0027\n  sunrpc: potential memory leak in function rdma_read_xdr\n  nfsd: minor nfsd_vfs_write cleanup\n  nfsd: Pull write-gathering code out of nfsd_vfs_write\n  nfsd: track last inode only in use_wgather case\n  sunrpc: align cache_clean work\u0027s timer\n  nfsd: Use write gathering only with NFSv2\n  NFSv4: kill off complicated macro \u0027PROC\u0027\n  NFSv4: do exact check about attribute specified\n  knfsd: remove unreported filehandle stats counters\n  knfsd: fix reply cache memory corruption\n  knfsd: reply cache cleanups\n  ...\n"
    },
    {
      "commit": "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
      "tree": "537c58db778cbf11b74e28091f89d1b8139fb84d",
      "parents": [
        "a9b011f5ac57cbaedb32a8149f3d39d7b2c1f0e0",
        "e9f029855865e917821ef6034b31e340a4cfc815"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:53:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:53:06 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (128 commits)\n  nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh()\n  nfs41: Move initialization of nfs4_opendata seq_res to nfs4_init_opendata_res\n  nfs: remove unnecessary NFS_INO_INVALID_ACL checks\n  NFS: More \"sloppy\" parsing problems\n  NFS: Invalid mount option values should always fail, even with \"sloppy\"\n  NFS: Remove unused XDR decoder functions\n  NFS: Update MNT and MNT3 reply decoding functions\n  NFS: add XDR decoder for mountd version 3 auth-flavor lists\n  NFS: add new file handle decoders to in-kernel mountd client\n  NFS: Add separate mountd status code decoders for each mountd version\n  NFS: remove unused function in fs/nfs/mount_clnt.c\n  NFS: Use xdr_stream-based XDR encoder for MNT\u0027s dirpath argument\n  NFS: Clean up MNT program definitions\n  lockd: Don\u0027t bother with RPC ping for NSM upcalls\n  lockd: Update NSM state from SM_MON replies\n  NFS: Fix false error return from nfs_callback_up() if ipv6.ko is not available\n  NFS: Return error code from nfs_callback_up() to user space\n  NFS: Do not display the setting of the \"intr\" mount option\n  NFS: add support for splice writes\n  nfs41: Backchannel: CB_SEQUENCE validation\n  ...\n"
    },
    {
      "commit": "e38be994b9cad09b0d8d78a1875d7e8a2e115d29",
      "tree": "5f2e4ab8585c9a5d70cbe50abf7345d989cbb57c",
      "parents": [
        "44da59e4006fbf7c4cc9b54485a37a40726091ee"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Mon Jun 22 11:11:20 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:34:42 2009 -0700"
      },
      "message": "Making fs/minix/minix.h double including safe\n\nI happened to find that fs/minix/minix.h doesn\u0027t guard double include.\n\nYes, I know this never cause something destructive because this is\nself-evidence that no source file includes minix.h twice, but I think\nfixing this is better than disregarding it.\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "578e4585685410cacd1a4ac86b7e3c12805be918",
      "tree": "57e2a3730e19a6332ad54e6570768f964b781e58",
      "parents": [
        "1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu Jun 18 22:01:23 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 20 14:55:12 2009 -0400"
      },
      "message": "nfs41: Move initialization of nfs4_opendata seq_res to nfs4_init_opendata_res\n\nnfs4_open_recover_helper clears opendata-\u003eo_res\nbefore calling nfs4_init_opendata_res, thus causing\nNFSv4.0 OPEN operations to be sent rather than nfsv4.1.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12e24f34cb0d55efd08c18b2112507d4bf498008",
      "tree": "83b07be17b8ef45f42360a3b9159b3aaae3fbad4",
      "parents": [
        "1eb51c33b21ffa3fceb634d1d6bcd6488c79bc26",
        "eadc84cc01e04f9f74ec2de0c9355be035c7b396"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 11:29:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 11:29:32 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  perfcounter: Handle some IO return values\n  perf_counter: Push perf_sample_data through the swcounter code\n  perf_counter tools: Define and use our own u64, s64 etc. definitions\n  perf_counter: Close race in perf_lock_task_context()\n  perf_counter, x86: Improve interactions with fast-gup\n  perf_counter: Simplify and fix task migration counting\n  perf_counter tools: Add a data file header\n  perf_counter: Update userspace callchain sampling uses\n  perf_counter: Make callchain samples extensible\n  perf report: Filter to parent set by default\n  perf_counter tools: Handle lost events\n  perf_counter: Add event overlow handling\n  fs: Provide empty .set_page_dirty() aop for anon inodes\n  perf_counter: tools: Makefile tweaks for 64-bit powerpc\n  perf_counter: powerpc: Add processor back-end for MPC7450 family\n  perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels\n  perf_counter: powerpc: Change how processor-specific back-ends get selected\n  perf_counter: powerpc: Use unsigned long for register and constraint values\n  perf_counter: powerpc: Enable use of software counters on 32-bit powerpc\n  perf_counter tools: Add and use isprint()\n  ...\n"
    },
    {
      "commit": "3e107603aecf886e1e5bda9dacbd9796eb2a2171",
      "tree": "bb31c00228ee523fd9a064332956f20757d73824",
      "parents": [
        "fb20871a54961b82d35303b43452928186c1361d"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Jun 20 21:50:07 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Jun 20 21:50:47 2009 +0900"
      },
      "message": "fat: Fix the removal of opts-\u003efs_dmask\n\n(ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48: New helper - current_umask())\nis removing the opts-\u003efs_dmask, probably it\u0027s a cut-and-paste\nmiss or something.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "bee89ab228e6f51c4ddd3481b9bd491859a8ee7b",
      "tree": "1810eef473172ab9e8ff52ded5e81f39eb8af748",
      "parents": [
        "5c6fb0059cec9a3c0f6d88a0ddf3d62ad323cd57",
        "528da3e9e237059a84a2625e942811cf824a6efd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:46:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:46:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: inotify_destroy_mark_entry could get called twice\n"
    },
    {
      "commit": "31583d6acf940d2951bc8716557b06d9de5a0c4b",
      "tree": "607aef385b0998f0cb7ff63b05407afed5182840",
      "parents": [
        "ee37ba7a4212c7420f12e6a2ad8a3966649ede7a",
        "f740f5ca056f0a4eff3abdf272a8a4ba3965d57d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:43:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:43:04 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Fix kernel-doc parameter name typo in blk-settings.c:\n  block: rename CONFIG_LBD to CONFIG_LBDAF\n  block: Fix bounce_pfn setting\n  hd: stop defining MAJOR_NR\n"
    },
    {
      "commit": "528da3e9e237059a84a2625e942811cf824a6efd",
      "tree": "7d3de6d5468d6835a4d81bfa1e717100dc7b71bf",
      "parents": [
        "0732f87761dbe417cb6e084b712d07e879e876ef"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jun 12 16:04:26 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jun 19 12:42:48 2009 -0400"
      },
      "message": "inotify: inotify_destroy_mark_entry could get called twice\n\ninotify_destroy_mark_entry could get called twice for the same mark since it\nis called directly in inotify_rm_watch and when the mark is being destroyed for\nanother reason.  As an example assume that the file being watched was just\ndeleted so inotify_destroy_mark_entry would get called from the path\nfsnotify_inoderemove() -\u003e fsnotify_destroy_marks_by_inode() -\u003e\nfsnotify_destroy_mark_entry() -\u003e inotify_destroy_mark_entry().  If this\nhappened at the same time as userspace tried to remove a watch via\ninotify_rm_watch we could attempt to remove the mark from the idr twice and\ncould thus double dec the ref cnt and potentially could be in a use after\nfree/double free situation.  The fix is to have inotify_rm_watch use the\ngeneric recursive safe fsnotify_destroy_mark_by_entry() so we are sure the\ninotify_destroy_mark_entry() function can only be called one.\n\nThis patch also renames the function to inotify_ingored_remove_idr() so it is\nclear what is actually going on in the function.\n\nHopefully this fixes:\n[   20.342058] idr_remove called for id\u003d20 which is not allocated.\n[   20.348000] Pid: 1860, comm: udevd Not tainted 2.6.30-tip #1077\n[   20.353933] Call Trace:\n[   20.356410]  [\u003cffffffff811a82b7\u003e] idr_remove+0x115/0x18f\n[   20.361737]  [\u003cffffffff8134259d\u003e] ? _spin_lock+0x6d/0x75\n[   20.367061]  [\u003cffffffff8111640a\u003e] ? inotify_destroy_mark_entry+0xa3/0xcf\n[   20.373771]  [\u003cffffffff8111641e\u003e] inotify_destroy_mark_entry+0xb7/0xcf\n[   20.380306]  [\u003cffffffff81115913\u003e] inotify_freeing_mark+0xe/0x10\n[   20.386238]  [\u003cffffffff8111410d\u003e] fsnotify_destroy_mark_by_entry+0x143/0x170\n[   20.393293]  [\u003cffffffff811163a3\u003e] inotify_destroy_mark_entry+0x3c/0xcf\n[   20.399829]  [\u003cffffffff811164d1\u003e] sys_inotify_rm_watch+0x9b/0xc6\n[   20.405850]  [\u003cffffffff8100bcdb\u003e] system_call_fastpath+0x16/0x1b\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Peter Ziljlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "90c699a9ee4be165966d40f1837909ccb8890a68",
      "tree": "ff136ce7b73c7d7bbf5eb4241d01cb3b930d3566",
      "parents": [
        "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "message": "block: rename CONFIG_LBD to CONFIG_LBDAF\n\nFollow-up to \"block: enable by default support for large devices\nand files on 32-bit archs\".\n\nRename CONFIG_LBD to CONFIG_LBDAF to:\n- allow update of existing [def]configs for \"default y\" change\n- reflect that it is used also for large files support nowadays\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ab52ae6db035fa425f90146327ab7d2c5d3e5654",
      "tree": "449acdb98ca035bd57c45b4bd8e89ac04f8ecff7",
      "parents": [
        "ef52bff8409bba78b042f1bcf33a0f49debc9774"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 04:20:53 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 18:33:57 2009 -0700"
      },
      "message": "nfsd41: Backchannel: minorversion support for the back channel\n\nPrepare to share backchannel code with NFSv4.1.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[nfsd41: use nfsd4_cb_sequence for callback minorversion]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ef52bff8409bba78b042f1bcf33a0f49debc9774",
      "tree": "2ac3a07a7a4d1faff5201a4156693042bb3fd8c2",
      "parents": [
        "6ddbbbfe52f35301ef5a1b595f912d8d2b3ec143"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 04:20:50 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 18:33:57 2009 -0700"
      },
      "message": "nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n\nMimic the client and prepare to share the back channel xdr with NFSv4.1.\nBump the number of operations in each encode routine, then backfill the\nnumber of operations.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81",
      "tree": "143956f878290e85de7c9130f465e862f587ee53",
      "parents": [
        "301933a0acfdec837fd8b4884093b3f0fff01d8a",
        "4bf259e3ae5015e73282ba66716c4a917e1264ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:13:00 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 18 18:13:44 2009 -0700"
      },
      "message": "Merge branch \u0027devel-for-2.6.31\u0027 into for-2.6.31\n\nConflicts:\n\tfs/nfs/client.c\n\tfs/nfs/super.c\n"
    },
    {
      "commit": "6ddbbbfe52f35301ef5a1b595f912d8d2b3ec143",
      "tree": "6d987ecbccf40b5ee4793c39b134848f677c1117",
      "parents": [
        "671e1fcf63fd115eabcb693b06cbc2e4a3d1a3a3"
      ],
      "author": {
        "name": "Mike Sager",
        "email": "sager@netapp.com",
        "time": "Tue Jun 16 04:20:47 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 17:43:53 2009 -0700"
      },
      "message": "nfsd41: Remove ip address collision detection case\n\nVerified that cthon and pynfs exchange id tests pass (except for the\ntwo expected fails: EID8 and EID50)\n\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0732f87761dbe417cb6e084b712d07e879e876ef",
      "tree": "afed6ca0368fd3e121fd4f43b11e32aa1e5139c0",
      "parents": [
        "15fc204afc6feb915c400159546f646eca8ba1d9",
        "536fc240e7147858255bdb08e7a999a3351a9fb4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:46 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  jbd2: clean up jbd2_journal_try_to_free_buffers()\n  ext4: Don\u0027t update ctime for non-extent-mapped inodes\n  ext4: Fix up whitespace issues in fs/ext4/inode.c\n  ext4: Fix 64-bit block type problem on 32-bit platforms\n  ext4: teach the inode allocator to use a goal inode number\n  ext4: Use a hash of the topdir directory name for the Orlov parent group\n  ext4: document the \"abort\" mount option\n  ext4: move the abort flag from s_mount_opts to s_mount_flags\n  ext4: update the s_last_mounted field in the superblock\n  ext4: change s_mount_opt to be an unsigned int\n  ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl\n  ext4: avoid unnecessary spinlock in critical POSIX ACL path\n  ext3: avoid unnecessary spinlock in critical POSIX ACL path\n  ext4: convert instrumentation from markers to tracepoints\n  jbd2: convert instrumentation from markers to tracepoints\n"
    },
    {
      "commit": "0b923606e75f1ab672e25b14ac039a1cdcfa382f",
      "tree": "7661aaea6d8809b002cd03f910122f87eb35608a",
      "parents": [
        "b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "seq_file: add function to write binary data\n\nseq_write() can be used to construct seq_files containing arbitrary data.\nRequired by the gcov-profiling interface to synthesize binary profiling\ndata files.\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b34fc5880a2dcc7e5ed9837ef8d6bae051ab266",
      "tree": "477b9a29135cc7b8815ce7ce19201bce371c56a1",
      "parents": [
        "72a1de39f89325a834a8c70b2a0d8f71d919f640"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "elf_core_dump: use rcu_read_lock() to access -\u003ereal_parent\n\nIn theory it is not safe to dereference -\u003eparent/real_parent without\ntasklist or rcu lock, we can race with re-parenting.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d965fe0eb435b3f9a10538815f6a68de0aef03c",
      "tree": "67859aad430ba6e83be86ad227b704d31e0a818e",
      "parents": [
        "37044c86baf8cb894c69bb811e35a7f6f6dbce1c"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@jeffreymahoney.com",
        "time": "Wed Jun 17 16:26:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:46 2009 -0700"
      },
      "message": "reiserfs: fix warnings with gcc 4.4\n\nSeveral code paths in reiserfs have a construct like:\n\n if (is_direntry_le_ih(ih \u003d B_N_PITEM_HEAD(src, item_num))) ...\n\nwhich, in addition to being ugly, end up causing compiler warnings with\ngcc 4.4.0.  Previous compilers didn\u0027t issue a warning.\n\nfs/reiserfs/do_balan.c:1273: warning: operation on `aux_ih\u0027 may be undefined\nfs/reiserfs/lbalance.c:393: warning: operation on `ih\u0027 may be undefined\nfs/reiserfs/lbalance.c:421: warning: operation on `ih\u0027 may be undefined\nfs/reiserfs/lbalance.c:777: warning: operation on `ih\u0027 may be undefined\n\nI believe this is due to the ih being passed to macros which evaluate the\nargument more than once.  This is old code and we haven\u0027t seen any\nproblems with it, but this patch eliminates the warnings.\n\nIt converts the multiple evaluation macros to static inlines and does a\npreassignment for the cases that were causing the warnings because that\ncode is just ugly.\n\nReported-by: Chris Mason \u003cmason@oracle.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37044c86baf8cb894c69bb811e35a7f6f6dbce1c",
      "tree": "4c84e5a74c14119604f5e407f1af4418377e02f5",
      "parents": [
        "5404ac8e4418ab3d254950ee4f9bcafc1da20b4a"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jun 17 16:26:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:46 2009 -0700"
      },
      "message": "ufs: sector_t cannot be negative\n\nunsigned i_block,fragment cannot be negative.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5404ac8e4418ab3d254950ee4f9bcafc1da20b4a",
      "tree": "00ce9ff14b27eb4e8cc1a51970b7da244b102ab7",
      "parents": [
        "5c4a656b7e51503c2b5e7e7310ec326ee38a8389"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "isofs: cleanup mount option processing\n\nRemove unused variables from isofs_sb_info (used to be some mount\noptions), unify variables for option to use 0/1 (some options used\n\u0027y\u0027/\u0027n\u0027), use bit fields for option flags in superblock.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c4a656b7e51503c2b5e7e7310ec326ee38a8389",
      "tree": "4493bfbd8b4e786ddb4d7e2717eb87de4da08774",
      "parents": [
        "52b680c81238ea14693ab893d5d32a4d1c0a987d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "isofs: fix setting of uid and gid to 0\n\nisofs allows setting of default uid and gid of files but value 0 was used\nto indicate that user did not specify any uid/gid mount option.  Since\nthis option also overrides uid/gid set in Rock Ridge extension, it makes\nsense to allow forcing uid/gid 0.  Fix option processing to allow this.\n\nCc: \u003cHans-Joachim.Baader@cjt.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52b680c81238ea14693ab893d5d32a4d1c0a987d",
      "tree": "9c3ec57c06faf001b60529d088c189f4bcb77fac",
      "parents": [
        "ef43618a47179b41e7203a624f2c7445e7da488c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "isofs: let mode and dmode mount options override rock ridge mode setting\n\nSo far, permissions set via \u0027mode\u0027 and/or \u0027dmode\u0027 mount options were\neffective only if the medium had no rock ridge extensions (or was mounted\nwithout them).  Add \u0027overriderockmode\u0027 mount option to indicate that these\noptions should override permissions set in rock ridge extensions.  Maybe\nthis should be default but the current behavior is there since mount\noptions were created so I think we should not change how they behave.\n\nCc: \u003cHans-Joachim.Baader@cjt.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef43618a47179b41e7203a624f2c7445e7da488c",
      "tree": "64d42f459e5086768e57d8e8e9bec8304b17c150",
      "parents": [
        "6f3f1cb21f08fbf757bbbbb0709ee515a7a7c6ad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "ext3: make sure inode is deleted from orphan list after truncate\n\nAs Ted pointed out, it can happen that ext3_truncate() returns without\nremoving inode from orphan list.  This way we could in some rare cases\n(like when we get ENOMEM from an allocation in ext3_truncate called\nbecause of failed ext3_write_begin) leave the inode on orphan list and\nthat triggers assertion failure on umount.\n\nSo make ext3_truncate() always remove inode from in-memory orphan list.\n\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f3f1cb21f08fbf757bbbbb0709ee515a7a7c6ad",
      "tree": "c6874d850ab2347dfeb58ea95a05422880fc0892",
      "parents": [
        "e8ef7aaea79a899be4d7f50e829900c0ce15e52f"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Wed Jun 17 16:26:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "jbd: clean up journal_try_to_free_buffers()\n\nI delete the following patch\n\"commit 3f31fddfa26b7594b44ff2b34f9a04ba409e0f91\nAuthor: Mingming Cao \u003ccmm@us.ibm.com\u003e\nDate:   Fri Jul 25 01:46:22 2008 -0700\n\n    jbd: fix race between free buffer and commit transaction\n\nThis patch is no longer needed because if race between freeing buffer and\ncommitting transaction functionality occurs and dio gets error, currently\ndio falls back to buffered IO by the following patch.\n\n\tcommit 6ccfa806a9cfbbf1cd43d5b6aa47ef2c0eb518fd\n\tAuthor: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\n\tDate:   Tue Sep 2 14:35:40 2008 -0700\n\n   \tVFS: fix dio write returning EIO when try_to_release_page fails\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8ef7aaea79a899be4d7f50e829900c0ce15e52f",
      "tree": "1cc2370f081264e506d85e954110d363961e37bd",
      "parents": [
        "ce05b2a9db1d86635a906f14427deff97eeb6183"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "ext3: fix chain verification in ext3_get_blocks()\n\nChain verification in ext3_get_blocks() has been hosed since it called\nverify_chain(chain, NULL) which always returns success.  As a result\nreaders could in theory race with truncate.  On the other hand the race\nprobably cannot happen with the current locking scheme, since by the\ntime ext3_truncate() is called all the pages are already removed and\nhence get_block() shouldn\u0027t be called on such pages...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39fe7557b4d6ab82bafaa7b92b98b806afe6ad0d",
      "tree": "7bdf2b80fd720cf31a1f855ed19255641f35e6d9",
      "parents": [
        "10dfb54cd59a18786e43137a935277ca743bb54b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:44 2009 -0700"
      },
      "message": "ext2: Do not update mtime of a moved directory\n\nOne of our users is complaining that his backup tool is upset on ext2\n(while it\u0027s happy on ext3, xfs, ...) because of the mtime change.\n\nThe problem is:\n\n    mkdir foo\n    mkdir bar\n    mkdir foo/a\n\nNow under ext2:\n    mv foo/a foo/b\n\nchanges mtime of \u0027foo/a\u0027 (foo/b after the move).  That does not really\nmake sense and it does not happen under any other filesystem I\u0027ve seen.\n\nMore complicated is:\n    mv foo/a bar/a\n\nThis changes mtime of foo/a (bar/a after the move) and it makes some\nsense since we had to update parent directory pointer of foo/a.  But\nagain, no other filesystem does this.  So after some thoughts I\u0027d vote\nfor consistency and change ext2 to behave the same as other filesystems.\n\nDo not update mtime of a moved directory.  Specs don\u0027t say anything\nabout it (neither that it should, nor that it should not be updated) and\nother common filesystems (ext3, ext4, xfs, reiserfs, fat, ...) don\u0027t do\nit.  So let\u0027s become more consistent.\n\nSpotted by ronny.pretzsch@dfs.de, initial fix by Jörn Engel.\n\nReported-by: \u003cronny.pretzsch@dfs.de\u003e\nCc: \u003chare@suse.de\u003e\nCc: Jörn Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f6d311080c36e30a5fa87adca550dc6b51dbfdc",
      "tree": "7ee0a11c33b538cb978848aeb7d46bb16df129b9",
      "parents": [
        "bcac2b1b7d67f4e7c001b755409fafb37cb0d888"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed Jun 17 16:26:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:41 2009 -0700"
      },
      "message": "proc: vmcore - use kzalloc in get_new_element()\n\nInstead of kmalloc+memset better use straight kzalloc\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcac2b1b7d67f4e7c001b755409fafb37cb0d888",
      "tree": "5b69b8e5f1321a602a522b49f676bca54c0cb565",
      "parents": [
        "3fe4a975d662f11037cb710f8b4b158a3e38f9c0"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Wed Jun 17 16:25:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:41 2009 -0700"
      },
      "message": "procfs: remove sparse errors in proc_devtree.c\n\nCHECK   fs/proc/proc_devtree.c\nfs/proc/proc_devtree.c:197:14: warning: Using plain integer as NULL pointer\nfs/proc/proc_devtree.c:203:34: warning: Using plain integer as NULL pointer\nfs/proc/proc_devtree.c:210:14: warning: Using plain integer as NULL pointer\nfs/proc/proc_devtree.c:223:26: warning: Using plain integer as NULL pointer\nfs/proc/proc_devtree.c:226:14: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: 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": "3fe4a975d662f11037cb710f8b4b158a3e38f9c0",
      "tree": "07986fcbf75f9a85c177aa3e7a2472e9833e4565",
      "parents": [
        "36025a812eebb34a478cfc1d3a538472591498b0"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Jun 17 16:25:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:41 2009 -0700"
      },
      "message": "epoll: fix nested calls support\n\nThis fixes a regression in 2.6.30.\n\nI unfortunately accepted a patch time ago, to drop the \"current\" usage\nfrom possible IRQ context, w/out proper thought over it.  The patch\nswitched to using the CPU id by bounding the nested call callback with a\nget_cpu()/put_cpu().\n\nUnfortunately the ep_call_nested() function can be called with a callback\nthat grabs sleepy locks (from own f_op-\u003epoll()), that results in epic\nfails.  The following patch uses the proper \"context\" depending on the\npath where it is called, and on the kind of callback.\n\nThis has been reported by Stefan Richter, that has also verified the patch\nis his previously failing environment.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3d64df21d3d0de675a0d3ffa7c10514f3644b30",
      "tree": "7ea3c79d8adb2c0282327f9ce63208978857eb07",
      "parents": [
        "9d9b8fb0e5ebf4b0398e579f6061d4451fea3242"
      ],
      "author": {
        "name": "Keika Kobayashi",
        "email": "kobayashi.kk@ncos.nec.co.jp",
        "time": "Wed Jun 17 16:25:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:41 2009 -0700"
      },
      "message": "proc: export statistics for softirq to /proc\n\nExport statistics for softirq in /proc/softirqs and /proc/stat.\n\n1. /proc/softirqs\nImplement /proc/softirqs which shows the number of softirq\nfor each CPU like /proc/interrupts.\n\n2. /proc/stat\nAdd the \"softirq\" line to /proc/stat.\nThis line shows the number of softirq for all cpu.\nThe first column is the total of all softirqs and\neach subsequent column is the total for particular softirq.\n\n[kosaki.motohiro@jp.fujitsu.com: remove redundant for_each_possible_cpu() loop]\nSigned-off-by: Keika Kobayashi \u003ckobayashi.kk@ncos.nec.co.jp\u003e\nReviewed-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "671e1fcf63fd115eabcb693b06cbc2e4a3d1a3a3",
      "tree": "601c7896733bf026db66ebbb183c3675e89e37d7",
      "parents": [
        "82e12fe9244ff653f703722a8937b595e10e71f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 16 11:03:20 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 09:42:41 2009 -0700"
      },
      "message": "nfsd: optimise the starting of zero threads when none are running.\n\nCurrently, if we ask to set then number of nfsd threads to zero when\nthere are none running, we set up all the sockets and register the\nservice, and then tear it all down again.\nThis is pointless.\n\nSo detect that case and exit promptly.\n(also remove an assignment to \u0027error\u0027 which was never used.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "82e12fe9244ff653f703722a8937b595e10e71f4",
      "tree": "aacafeb07d90c9453c31cc6771324e7960c52477",
      "parents": [
        "5d77ddfbcb062f2617ea79d7a371b4bc78f28417"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 16 11:03:07 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 09:40:31 2009 -0700"
      },
      "message": "nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n\nCurrently when we write a number to \u0027threads\u0027 in nfsdfs,\nwe take the nfsd_mutex, update the number of threads, then take the\nmutex again to read the number of threads.\n\nMostly this isn\u0027t a big deal.  However if we are write \u00270\u0027, and\nportmap happens to be dead, then we can get unpredictable behaviour.\nIf the nfsd threads all got killed quickly and the last thread is\nwaiting for portmap to respond, then the second time we take the mutex\nwe will block waiting for the last thread.\nHowever if the nfsd threads didn\u0027t die quite that fast, then there\nwill be no contention when we try to take the mutex again.\n\nUnpredictability isn\u0027t fun, and waiting for the last thread to exit is\npointless, so avoid taking the lock twice.\nTo achieve this, get nfsd_svc return a non-negative number of active\nthreads when not returning a negative error.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d3a9262e59f7fb83c6d44df3b2b1460ed57d3ea1",
      "tree": "563952174f1ffec3d6d27fc3c38d4dc009b6787d",
      "parents": [
        "e24a72c4d8f0b2c17783b3ba9c8931b537149423"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 18 12:54:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 18 14:46:10 2009 +0200"
      },
      "message": "fs: Provide empty .set_page_dirty() aop for anon inodes\n\n.set_page_dirty() is one of those a_ops that defaults to the\nbuffer implementation when not set. Therefore provide a dummy\nfunction to make it do nothing.\n\n(Uncovered by perfcounters fd\u0027s which can now be writable-mmap-ed.)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bf259e3ae5015e73282ba66716c4a917e1264ac",
      "tree": "4c79623911d24d86da799cee2797378a6a2a1181",
      "parents": [
        "a5a16bae707cd5d2bc97d7bd1a30079f18113a77"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jun 17 18:02:14 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:14 2009 -0700"
      },
      "message": "nfs: remove unnecessary NFS_INO_INVALID_ACL checks\n\nUnless I\u0027m mistaken, NFS_INO_INVALID_ACL is being checked twice during\ngetacl calls (i.e. first via nfs_revalidate_inode() and then by each all\nsite).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5a16bae707cd5d2bc97d7bd1a30079f18113a77",
      "tree": "dbd8012bbba334e92edae060806eebc73d4338ad",
      "parents": [
        "d23c45fd84f79a3b84899dac053dcafe9d43ebc9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:14 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:14 2009 -0700"
      },
      "message": "NFS: More \"sloppy\" parsing problems\n\nSpecifying \"port\u003d-5\" with the kernel\u0027s current mount option parser\ngenerates \"unrecognized mount option\".  If \"sloppy\" is set, this\ncauses the mount to succeed and use the default values; the desired\nbehavior is that, since this is a valid option with an invalid value,\nthe mount should fail, even with \"sloppy.\"\n\nTo properly handle \"sloppy\" parsing, we need to distinguish between\ncorrect options with invalid values, and incorrect options.  We will\nneed to parse integer values by hand, therefore, and not rely on\nmatch_token().\n\nFor instance, these must all fail with \"invalid value\":\n\n\tport\u003d12345678\n\tport\u003d-5\n\tport\u003dsamuel\n\nand not with \"unrecognized option,\" as they do currently.\n\nThus, for the sake of match_token() we need to treat the values for\nthese options as strings, and do the conversion to integers using\nstrict_strtol().\n\nThis is basically the same solution we used for the earlier \"retry\u003d\"\nfix (commit ecbb3845), except in this case the kernel actually has to\nparse the value, rather than ignore it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d23c45fd84f79a3b84899dac053dcafe9d43ebc9",
      "tree": "38586e19ef996fdf12a11baf01ac3e62a9f56475",
      "parents": [
        "065015e5efff60884ad600a3e9a5127dbb684429"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "message": "NFS: Invalid mount option values should always fail, even with \"sloppy\"\n\nIan Kent reports:\n\n\"I\u0027ve noticed a couple of other regressions with the options vers\nand proto option of mount.nfs(8).\n\nThe commands:\n\nmount -t nfs -o vers\u003d\u003cinvalid version\u003e \u003cserver\u003e:/\u003cpath\u003e /\u003cmountpoint\u003e\nmount -t nfs -o proto\u003d\u003cinvalid proto\u003e \u003cserver\u003e:/\u003cpath\u003e /\u003cmountpoint\u003e\n\nboth immediately fail.\n\nBut if the \"-s\" option is also used they both succeed with the\nmount falling back to defaults (by the look of it).\n\nIn the past these failed even when the sloppy option was given, as\nI think they should. I believe the sloppy option is meant to allow\nthe mount command to still function for mount options (for example\nin shared autofs maps) that exist on other Unix implementations but\naren\u0027t present in the Linux mount.nfs(8). So, an invalid value\nspecified for a known mount option is different to an unknown mount\noption and should fail appropriately.\"\n\nSee RH bugzilla 486266.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "065015e5efff60884ad600a3e9a5127dbb684429",
      "tree": "2bd8b8e90bf2dd42bffafd45de2013e73fa80a40",
      "parents": [
        "8e02f6b9aae9b265064f929c6df15222b9baf256"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "message": "NFS: Remove unused XDR decoder functions\n\nClean up: Remove xdr_decode_fhstatus() and xdr_decode_fhstatus3(), now\nthat they are unused.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e02f6b9aae9b265064f929c6df15222b9baf256",
      "tree": "b5f018180a6b130731c085ee6ae7c060decfe538",
      "parents": [
        "a14017db2852f9393a401a0f64053c331003babf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:13 2009 -0700"
      },
      "message": "NFS: Update MNT and MNT3 reply decoding functions\n\nSolder xdr_stream-based XDR decoding functions into the in-kernel mountd\nclient that are more careful about checking data types and watching for\nbuffer overflows.  The new MNT3 decoder includes support for auth-flavor\nlist decoding.\n\nThe \"_sz\" macro for MNT3 replies was missing the size of the file handle.\nI\u0027ve added this back, and included the size of the auth flavor array.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a14017db2852f9393a401a0f64053c331003babf",
      "tree": "2b9b0859a6435ad4412882a6b469ed4c426136c5",
      "parents": [
        "4fdcd9966d8469be26a6f12122ac21ffce19fc20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "message": "NFS: add XDR decoder for mountd version 3 auth-flavor lists\n\nIntroduce an xdr_stream-based XDR decoder that can unpack the auth-\nflavor list returned in a MNT3 reply.\n\nThe nfs_mount() function\u0027s caller allocates an array, and passes the\nsize and a pointer to it.  The decoder decodes all the flavors it can\ninto the array, and returns the number of decoded flavors.\n\nIf the caller is not interested in the auth flavors, it can pass a\nvalue of zero as the size of the pre-allocated array.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fdcd9966d8469be26a6f12122ac21ffce19fc20",
      "tree": "569bdb9900053661ba59931cb49315c5de89a88b",
      "parents": [
        "fb12529577541aa02f9c3d9e325329f9568dfb58"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "message": "NFS: add new file handle decoders to in-kernel mountd client\n\nIntroduce xdr_stream-based XDR file handle decoders to the in-kernel\nmountd client.  These are more careful than the existing decoder\nfunctions about buffer overflows and data type and range checking.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb12529577541aa02f9c3d9e325329f9568dfb58",
      "tree": "96d9c7e9f95b830679e211e92841a6ac0c42f1b8",
      "parents": [
        "99835db430904e90c0640ebc6b91cd2a90a118f7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:12 2009 -0700"
      },
      "message": "NFS: Add separate mountd status code decoders for each mountd version\n\nIntroduce data structures and xdr_stream-based decoding functions for\nunmarshalling mountd status codes properly.\n\nMountd version 3 uses specific standard error return codes that are\nnot errno values and not NFS3ERR_ values.  These have a well-defined\nstandard mapping to local errno values.  Introduce data structures\nand a decoder function that map these status codes to local errno\nvalues properly.  This is new functionality (but not used yet).\n\nVersion 1 mountd status values are defined by RFC 1094 as UNIX error\nvalues (errno values).  Errno values on heterogeneous systems do not\nnecessarily match each other.  To avoid exposing possibly incorrect\nerrno values to upper layers, the current XDR decoder converts all\nnon-zero MNT version 1 status codes to -EACCES.\n\nThe OpenGroup XNFS standard provides a mapping similar to but smaller\nthan the version 3 error codes.  Implement a decoder that uses the XNFS\nerror codes, replacing the current decoder.\n\nFor both mountd protocol versions, map unrecognized errors to -EACCES.\n\nFinally we introduce a replacement data structure for mnt_fhstatus\nat this time, which is used by the new XDR decoders.  In addition to\ndocumenting that the status value returned by the XDR decoders is\nalways an errno, this new structure will be expanded in subsequent\npatches.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99835db430904e90c0640ebc6b91cd2a90a118f7",
      "tree": "cdfd363df9bf7e95f29afbdc4a4ef16290194faf",
      "parents": [
        "29a1bd6bf8c7a9ff511aaaf7e40fd6ca5198babe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "message": "NFS: remove unused function in fs/nfs/mount_clnt.c\n\nClean up: remove xdr_encode_dirpath() now that it has been replaced.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "29a1bd6bf8c7a9ff511aaaf7e40fd6ca5198babe",
      "tree": "03af95bef95d927742cd7a8349ae22c3320ff57c",
      "parents": [
        "2ad780978b7c0c3e7877949f098cbd06e7c73839"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "message": "NFS: Use xdr_stream-based XDR encoder for MNT\u0027s dirpath argument\n\nCheck the length of the supplied dirpath, and see that it fits\nproperly in the RPC buffer.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2ad780978b7c0c3e7877949f098cbd06e7c73839",
      "tree": "ce7dadf676f031d1f3bf81ed9c93b4a333e2cdce",
      "parents": [
        "0e5c2632e1c9182f0dadc31bec68d6f42e7905ea"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "message": "NFS: Clean up MNT program definitions\n\nClean up:  Relocate MNT program procedure number definitions to the\nonly file that uses them.  Relocate the version number definitions,\nwhich are shared, to nfs.h.  Remove duplicate program number\ndefinitions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0e5c2632e1c9182f0dadc31bec68d6f42e7905ea",
      "tree": "4697987f92185489d9eb00c1a35c07f11ad5b9a7",
      "parents": [
        "6c9dc4255108bab4ef5c177d369b99c3c23492a7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:11 2009 -0700"
      },
      "message": "lockd: Don\u0027t bother with RPC ping for NSM upcalls\n\nCut NSM upcall RPC traffic in half -- don\u0027t do a NULL call first.\nThe cases where a ping would be helpful are rare.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6c9dc4255108bab4ef5c177d369b99c3c23492a7",
      "tree": "1369d9d804e276c32ab157e64646888b64ca0640",
      "parents": [
        "18fc31641925867c871bc75270ce642c039188d3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "message": "lockd: Update NSM state from SM_MON replies\n\nWhen rpc.statd starts up in user space at boot time, it attempts to\nwrite the latest NSM local state number into\n/proc/sys/fs/nfs/nsm_local_state.\n\nIf lockd.ko isn\u0027t loaded yet (as is the case in most configurations),\nthat file doesn\u0027t exist, thus the kernel\u0027s NSM state remains set to\nits initial value of zero during lockd operation.\n\nThis is a problem because rpc.statd and lockd use the NSM state number\nto prevent repeated lock recovery on rebooted hosts.  If lockd sends\na zero NSM state, but then a delayed SM_NOTIFY with a real NSM state\nnumber is received, there is no way for lockd or rpc.statd to\ndistinguish that stale SM_NOTIFY from an actual reboot.  Thus lock\nrecovery could be performed after the rebooted host has already\nstarted reclaiming locks, and those locks will be lost.\n\nWe could change /etc/init.d/nfslock so it always modprobes lockd.ko\nbefore starting rpc.statd.  However, if lockd.ko is ever unloaded\nand reloaded, we are back at square one, since the NSM state is not\npreserved across an unload/reload cycle.  This may happen frequently\non clients that use automounter.  A period of NFS inactivity causes\nlockd.ko to be unloaded, and the kernel loses its NSM state setting.\n\nInstead, let\u0027s use the fact that rpc.statd plants the local system\u0027s\nNSM state in every SM_MON (and SM_UNMON) reply.  lockd performs a\nsynchronous SM_MON upcall to the local rpc.statd _before_ sending its\nfirst NLM request to a new remote.  This would permit rpc.statd to\nprovide the current NSM state to lockd, even after lockd.ko had been\nunloaded and reloaded.\n\nNote that NLMPROC_LOCK arguments are constructed before the\nnsm_monitor() call, so we have to rearrange argument construction very\nslightly to make this all work out.\n\nAnd, the kernel appears to treat NSM state as a u32 (see struct\nnlm_args and nsm_res).  Make nsm_local_state a u32 as well, to ensure\nwe don\u0027t get bogus comparison results.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18fc31641925867c871bc75270ce642c039188d3",
      "tree": "2aad9b2c61fac3507526e41c719e1c989ad19a5e",
      "parents": [
        "a21bdd9b960ccce421b63aa0e3efda4fcdc26f10"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "message": "NFS: Fix false error return from nfs_callback_up() if ipv6.ko is not available\n\nClear \"ret\" if the error return from svc_create_xprt(AF_INET6) was\n-EAFNOSUPORT.  Otherwise, callback start-up will succeed, but\nnfs_callback_up() will return -EAFNOSUPPORT anyway, and the first\nNFSv4 mount attempt after a reboot will fail.\n\nBug introduced by commit f738f517 in 2.6.30-rc1.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a21bdd9b960ccce421b63aa0e3efda4fcdc26f10",
      "tree": "5ce808e08fb64140389aa96e2940f1c53468dd12",
      "parents": [
        "c381ad2cf2d5dcd3991bcc8a18fddd9d5c66ccaa"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:10 2009 -0700"
      },
      "message": "NFS: Return error code from nfs_callback_up() to user space\n\nIf the kernel cannot start the NFSv4 callback service during a mount\nrequest, it returns -ENOMEM to user space, resulting in this message:\n\n   mount.nfs4: Cannot allocate memory\n\nAdjust nfs_alloc_client() and nfs_get_client() to pass NFSv4 callback\nstart-up errors back to user space so a less mysterious error message\ncan be displayed by the mount command.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c381ad2cf2d5dcd3991bcc8a18fddd9d5c66ccaa",
      "tree": "cb9e9a13edba575a98438f6b765d535d27790342",
      "parents": [
        "bf40d3435caf49369058b1ed6bbc92f8e2bd92f1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jun 17 18:02:09 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:09 2009 -0700"
      },
      "message": "NFS: Do not display the setting of the \"intr\" mount option\n\nThe \"intr\" mount option has been deprecated for a while, but\n/proc/mounts continues to display \"nointr\" whether \"intr\" or \"nointr\"\nhas been specified for a mount point.\n\nSince these options do not have any effect, simply do not display\nthem.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf40d3435caf49369058b1ed6bbc92f8e2bd92f1",
      "tree": "386cfc460a65febcbfbf46aeab3f1a817a9bd3ba",
      "parents": [
        "5cd973c44a92f4abf8f7084c804089b3eaa7b4bf"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Jun 17 18:02:09 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:02:09 2009 -0700"
      },
      "message": "NFS: add support for splice writes\n\nAdds support for splice writes. It effectively calls\ngeneric_file_splice_write() to do the writes.\n\nWe need not worry about O_APPEND case as the combination of splice()\nwrites and O_APPEND is disallowed. This patch propagates NFS write\nerrors back to the caller. The number of bytes written via splice are\nbeing added to NFSIO_NORMALWRITTENBYTES as these are effectively\ncached writes.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "301933a0acfdec837fd8b4884093b3f0fff01d8a",
      "tree": "1f2412a30d710493179b1b3743cf30302872df15",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8",
        "68f3f90133d56e0c38f04f991e662c2b21592b31"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "message": "Merge commit \u0027linux-pnfs/nfs41-for-2.6.31\u0027 into nfsv41-for-2.6.31\n"
    },
    {
      "commit": "536fc240e7147858255bdb08e7a999a3351a9fb4",
      "tree": "16bf7a9e1bf506c1944d1e2e13a18a2b3c9bab8f",
      "parents": [
        "4159175058987cb68aefd0e9eec2598b795363b4"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Wed Jun 17 20:08:51 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jun 17 20:08:51 2009 -0400"
      },
      "message": "jbd2: clean up jbd2_journal_try_to_free_buffers()\n\nThis patch reverts 3f31fddf, which is no longer needed because if a\nrace between freeing buffer and committing transaction functionality\noccurs and dio gets error, currently dio falls back to buffered IO due\nto the commit 6ccfa806.\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "68f3f90133d56e0c38f04f991e662c2b21592b31",
      "tree": "e574566b962aa3b90050f5c095d2fb6a354ee386",
      "parents": [
        "963891ac43ecf9974d82f4c178752e11e007cf87"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:35 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:43 2009 -0700"
      },
      "message": "nfs41: Backchannel: CB_SEQUENCE validation\n\nValidates the callback\u0027s sessionID, the slot number, and the sequence ID.\nIncrements the slot\u0027s sequence.\n\nDetects replays, but simply prints a debug message (if debugging is enabled\nsince we don\u0027t yet implement a duplicate request cache for the backchannel.\nThis should not present a problem, since only idempotent callbacks are\ncurrently implemented.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: Be more obvious about the return value]\n[nfs41: Backchannel: dprink in host order]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "963891ac43ecf9974d82f4c178752e11e007cf87",
      "tree": "a083f74aa6c024773e91c0cd095ae1175bde6aa7",
      "parents": [
        "f8625a6a4bb76207302be58453603d8e324df490"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:34 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:43 2009 -0700"
      },
      "message": "nfs41: Backchannel: New find_client_with_session()\n\nFinds the \u0027struct nfs_client\u0027 that matches the server\u0027s address, major\nversion number, and session ID.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f8625a6a4bb76207302be58453603d8e324df490",
      "tree": "27be80250213e65592fd1812a4467c1c0af09138",
      "parents": [
        "050047ce71bcf60867d2af7a9dc965a9c6f15cb8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:33 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:42 2009 -0700"
      },
      "message": "nfs41: Backchannel: Add a backchannel slot table to the session\n\nDefines a new \u0027struct nfs4_slot_table\u0027 in the \u0027struct nfs4_session\u0027\nfor use by the backchannel.  Initializes, resets, and destroys the backchannel\nslot table in the same manner the forechannel slot table is initialized,\nreset, and destroyed.\n\nThe sequenceid for each slot in the backchannel slot table is initialized\nto 0, whereas the forechannel slotid\u0027s sequenceid is set to 1.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "050047ce71bcf60867d2af7a9dc965a9c6f15cb8",
      "tree": "75510a0f57ac4b30d42a7d4f892bb7ec565128f7",
      "parents": [
        "b73dafa7ac94ca8387f65c57cb63a7ffac91bf2c"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:32 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:42 2009 -0700"
      },
      "message": "nfs41: Backchannel: Refactor nfs4_init_slot_table()\n\nGeneralize nfs4_init_slot_table() so it can be used to initialize the\nbackchannel slot table in addition to the forechannel slot table.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b73dafa7ac94ca8387f65c57cb63a7ffac91bf2c",
      "tree": "4df5b49dd611a0b585ff2216e219296e240a7506",
      "parents": [
        "65fc64e547c794764a441e16e95bb76c0e256bd7"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:31 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:41 2009 -0700"
      },
      "message": "nfs41: Backchannel: Refactor nfs4_reset_slot_table()\n\nGeneralize nfs4_reset_slot_table() so it can be used to reset the\nbackchannel slot table in addition to the forechannel slot table.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "65fc64e547c794764a441e16e95bb76c0e256bd7",
      "tree": "fef3f27b7f8559026bd9dcb2d3c02dd4816fdb43",
      "parents": [
        "dd2b63d049480979016b959abc2d141cdddb1389"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:30 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:40 2009 -0700"
      },
      "message": "nfs41: Backchannel: update cb_sequence args and results\n\nChange the type of cs_addr and csr_status to \u0027struct sockaddr\u0027 and\n\u0027__be32\u0027 since the cb_sequence processing function will use existing\nfunctionality that expects these types.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "281fe15dc1d6ad46992f18b7a6644269ec5f7138",
      "tree": "168baccd85401f61433c99b3f14b5b3ff833ff1d",
      "parents": [
        "4aece6a19cf7f474f15eb861ba74db4479884ce3"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:27 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:39 2009 -0700"
      },
      "message": "nfs41: verify CB_SEQUENCE position in callback compound\n\nCB_SEQUENCE must appear first in the callback compound RPC.\nIf it is not the first operation NFS4ERR_SEQUENCE_POS must be returned.\nIf the first operation ni the CB_COMPOUND is not CB_SEQUENCE then\nNFS4ERR_OP_NOT_IN_SESSION must be returned.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: refactor op preprocessing out of process_op]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4aece6a19cf7f474f15eb861ba74db4479884ce3",
      "tree": "2ae1c88b163ec78b3cb012319f9881b8db69c810",
      "parents": [
        "d49433e1e3bb144a5752ce2a8ba1139dc519df1a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:26 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:38 2009 -0700"
      },
      "message": "nfs41: cb_sequence xdr implementation\n\n[nfs41: get rid of READMEM and COPYMEM for callback_xdr.c]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get rid of READ64 in callback_xdr.c]\nSee http://linux-nfs.org/pipermail/pnfs/2009-June/007846.html\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d49433e1e3bb144a5752ce2a8ba1139dc519df1a",
      "tree": "65ec427fcab5fffedff5f5dced68c9424d2e204e",
      "parents": [
        "2d9b9ec344b19b7b65c732b7000114df57684140"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:25 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:38 2009 -0700"
      },
      "message": "nfs41: cb_sequence proc implementation\n\nCurrently, just free up any referring calls information.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: fix csr_{,target}highestslotid]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "2d9b9ec344b19b7b65c732b7000114df57684140",
      "tree": "1d31a4ab02b1e783b85064e2942151bef1033d2d",
      "parents": [
        "34bc47c941a074f91c2455b4b08503d02c74b878"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:24 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:37 2009 -0700"
      },
      "message": "nfs41: cb_sequence protocol level data structures\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "34bc47c941a074f91c2455b4b08503d02c74b878",
      "tree": "0e565b6a999080686e7e5c3536cb9f4ac86f1e9a",
      "parents": [
        "45377b94edea18f53dd3ba4d46d94de4bb7c00b5"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:22 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:37 2009 -0700"
      },
      "message": "nfs41: consider minorversion in callback_xdr:process_op\n\nNote that this patch changes the nfsv4.0 behavior also when\nCONFIG_NFS_V4_1 is not defined where NFS4ERR_MINOR_VERS_MISMATCH\nwill be returned if the client received a CB_COMPOUND\nwith minorversion !\u003d 0.  Previously, it would have\nreturned NFS4ERR_OP_ILLEGAL for CB_SEQUENCE.\n(or if the server is broken and sent OP_CB_GETATTR or OP_CB_RECALL\nwith minorversion!\u003d0, they would have been processed normally.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: refactor op preprocessing out of process_op]\nSee http://linux-nfs.org/pipermail/pnfs/2009-June/007845.html\n[nfs41: define CB_NOTIFY_DEVICEID as not supported]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "45377b94edea18f53dd3ba4d46d94de4bb7c00b5",
      "tree": "b76829b222a3aaadddfc804ff3a5749d35e42f78",
      "parents": [
        "48a9e2d2289ed4b5053b3986d99709e9b07a0923"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:21 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:36 2009 -0700"
      },
      "message": "nfs41: callback numbers definitions\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "48a9e2d2289ed4b5053b3986d99709e9b07a0923",
      "tree": "db397b9d26c69eefadef9e53c27364624743cef4",
      "parents": [
        "b8f2ef84b079ceb22b42d6d353609db7eb8efa93"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:20 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:35 2009 -0700"
      },
      "message": "nfs41: decode minorversion 1 cb_compound header\n\ndecode cb_compound header conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nGet rid of cb_compound_hdr_arg.callback_ident\n\ncallback_ident is not used anywhere so we shouldn\u0027t waste any memory to\nstore it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: no need to break read_buf in decode_compound_hdr_arg]\nSee http://linux-nfs.org/pipermail/pnfs/2009-June/007844.html\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b8f2ef84b079ceb22b42d6d353609db7eb8efa93",
      "tree": "4291e1cb31228344163c66d33cc59246d3b65cff",
      "parents": [
        "5a0ffe544c54f62be99751e369f4d0f44bd5ee19"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:19 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:35 2009 -0700"
      },
      "message": "nfs41: store minorversion in cb_compound_hdr_arg\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5a0ffe544c54f62be99751e369f4d0f44bd5ee19",
      "tree": "893bfed85d389220b404f5fabcb4d15aa36c9624",
      "parents": [
        "343952fa5aac888934ffc203abed26a823400eb6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:18 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:34 2009 -0700"
      },
      "message": "nfs41: Release backchannel resources associated with session\n\nFrees the preallocated backchannel resources that are associated with\nthis session when the session is destroyed.\n\nA backchannel is currently created once per session. Destroy the backchannel\nonly when the session is destroyed.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0f91421e8ea986c990c01bf091ceff1d59c165ff",
      "tree": "2b78fce5cb8b2d939c3b06a07027c1792c0a938e",
      "parents": [
        "0b5b7ae0a853c91015bb3b1729166ca65f693322"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:16 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:33 2009 -0700"
      },
      "message": "nfs41: Client indicates presence of NFSv4.1 callback channel.\n\nSet the SESSION4_BACK_CHAN flag to indicate the client supports a backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0b5b7ae0a853c91015bb3b1729166ca65f693322",
      "tree": "0a2cce02b1446d63dc87f74bce84e6b5787f69bf",
      "parents": [
        "e82dc22dac6525a2f365a1d53c0483252d4aa38e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Setup the backchannel\n\nThe NFS v4.1 callback service has already been setup, and\nrpc_xprt-\u003eserv points to the svc_serv structure describing it.\nInvoke the xprt_setup_backchannel() initialization to pre-\nallocate the necessary backchannel structures.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: change nfs4_put_session(nfs4_session**) to nfs4_destroy_session(nfs_session*)]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved xprt_setup_backchannel from nfs4_init_session to nfs4_init_backchannel]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e82dc22dac6525a2f365a1d53c0483252d4aa38e",
      "tree": "1a347b34c955db77017a5df533fc1798f164e768",
      "parents": [
        "8f975242352e92898dc641ebff0d24808f39848a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:14 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist\n\nTracks the nfs_callback_info for both versions, enabling the callback\nservice for v4 and v4.1 to run concurrently and be stopped independently\nof each other.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8f975242352e92898dc641ebff0d24808f39848a",
      "tree": "5a14be85500e5da33b97f4951efa42abe56cd570",
      "parents": [
        "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a43cde94feded0f65fce36330614691c650ae8fe",
      "tree": "b3940556128434f292369b963ec4f3b819c7ff66",
      "parents": [
        "4d6bbb6233c9cf23822a2f66f8470c9f40854b77"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:08 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Implement NFSv4.1 callback service process.\n\nnfs41_callback_up() initializes the necessary queues and creates the new\nnfs41_callback_svc thread.  This thread executes the callback service which\nwaits for requests to arrive on the svc_serv-\u003esv_cb_list.\n\nNFS41_BC_MIN_CALLBACKS is set to 1 because we expect callbacks to not\ncause substantial latency.\n\nThe actual processing of the callback will be implemented as a separate patch.\n\nThere is only one NFSv4.1 callback service.  The first caller of\nnfs4_callback_up() creates the service, subsequent callers increment a\nreference count on the service.  The service is destroyed when the last\ncaller invokes nfs_callback_down().\n\nThe transport needs to hold a reference to the callback service in order\nto invoke it during callback processing.  Currently this reference is only\nobtained when the service is first created.  This is incorrect, since\nsubsequent registrations for other transports will leave the xprt-\u003eserv\npointer uninitialized, leading to an oops when a callback arrives on\nthe \"unreferenced\" transport.\n\nThis patch fixes the problem by ensuring that a reference to the service\nis saved in xprt-\u003eserv, either because the service is created by this\ninvocation to nfs4_callback_up() or by a prior invocation.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Add a reference to svc_serv during callback service bring up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Type check arguments of nfs_callback_up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: save svc_serv in nfs_callback_info]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Removal of ugly #ifdefs]\n[nfs41: Update to removal of ugly #ifdefs]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5cd973c44a92f4abf8f7084c804089b3eaa7b4bf",
      "tree": "7bea559ab6c0a2ab4885a6064147b0cae20b8293",
      "parents": [
        "3f09df70e3a33590ae5a97b8a15486d3711c7065"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:23:01 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:23:01 2009 -0700"
      },
      "message": "NFSv4/NLM: Push file locking BKL dependencies down into the NLM layer\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3f09df70e3a33590ae5a97b8a15486d3711c7065",
      "tree": "18f5c9115aa79dd2cab5f87d7024bea5460ca0af",
      "parents": [
        "965b5d679146c9f69bc0325388bb9ed357863c4f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:23:00 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:23:00 2009 -0700"
      },
      "message": "NFS: Ensure we always hold the BKL when dereferencing inode-\u003ei_flock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "965b5d679146c9f69bc0325388bb9ed357863c4f",
      "tree": "d70fe13004404f1d3a203c8b9b90aa5f61150115",
      "parents": [
        "d5122201a7f90b2aa73092f158b84d1d74f1134d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:59 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:59 2009 -0700"
      },
      "message": "NFSv4: Handle more errors when recovering open file and locking state\n\nIt is possible for servers to return NFS4ERR_BAD_STATEID when\nthe state management code is recovering locks or is reclaiming state when\nreturning a delegation. Ensure that we handle that case.\nWhile we\u0027re at it, add in handlers for NFS4ERR_STALE,\nNFS4ERR_ADMIN_REVOKED, NFS4ERR_OPENMODE, NFS4ERR_DENIED and\nNFS4ERR_STALE_STATEID, since the protocol appears to allow for them too.\n\nAlso handle ENOMEM...\n\nFinally, rather than add new NFSv4.0-specific errors and error handling into\nthe generic delegation code, move that open file and locking state error\nhandling into the NFSv4 layer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5122201a7f90b2aa73092f158b84d1d74f1134d",
      "tree": "7d2c55cd74dd31b5977861d0bc71b31424dc68ed",
      "parents": [
        "01c3f05228ce7fc19baa103e4e4bf6c1b5062a53"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:58 2009 -0700"
      },
      "message": "NFSv4: Move error handling out of the delegation generic code\n\nThe NFSv4 delegation recovery code is required by the protocol to handle\nmore errors. Rather than add NFSv4.0 specific errors into \u0027generic\u0027\ndelegation code, we should move the error handling into the NFSv4 layer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01c3f05228ce7fc19baa103e4e4bf6c1b5062a53",
      "tree": "d88d1fefeeea3468bbdafe6778fe13a0dfab0f86",
      "parents": [
        "88b5ed73bcd0f21e008b6e303a02c8b7cb1199f4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:58 2009 -0700"
      },
      "message": "NFSv4: Fix the \u0027nolock\u0027 option regression\n\nNFSv4 should just ignore the \u0027nolock\u0027 option. It is an NFSv2/v3 thing...\nThis fixes the Oops in http://bugzilla.kernel.org/show_bug.cgi?id\u003d13330\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7146851376861fe55c7a48ac8fc1354a5fff6cd0",
      "tree": "44c9a7427a3f1cea41c15a07d2aa63bbdeaf8936",
      "parents": [
        "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:56 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:01 2009 -0700"
      },
      "message": "nfs41: minorversion support for nfs4_{init,destroy}_callback\n\nmove nfs4_init_callback into nfs4_init_client_minor_version\nand nfs4_destroy_callback into nfs4_clear_client_minor_version\n\nas these need to happen also when auto-negotiating the minorversion\nonce the callback service for nfs41 becomes different than for nfs4.0\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix checkpatch warning]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Type check arguments of nfs_callback_up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: Remove FIXME comment]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad",
      "tree": "d12e23a15e86b929e3840116741696765000a6b4",
      "parents": [
        "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:55 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:47 2009 -0700"
      },
      "message": "nfs41: Refactor nfs4_{init,destroy}_callback for nfs4.0\n\nRefactor-out code to bring the callback service up and down.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7",
      "tree": "8816d7038c09eae46e2da51561f2e80cc91063e0",
      "parents": [
        "78722e9c9208a312695178f5331511badd190598"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:52 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:45 2009 -0700"
      },
      "message": "nfs41: increment_{open,lock}_seqid\n\nUnlike minorversion0, in nfsv4.1 the open and lock seqids need\nnot be incremented by the client and should always be set to zero.\n\nThis is implemented using a new nfs_rpc_ops methods -\nincrement_open_seqid and increment_lock_seqid\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78722e9c9208a312695178f5331511badd190598",
      "tree": "9aeaea994040d090b9ecfb5f8b7c8fe91375262a",
      "parents": [
        "008f55d0e019943323c20a03493a2ba5672a4cc8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 14:43:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:44 2009 -0700"
      },
      "message": "nfs41: only retry EXCHANGE_ID on recoverable errors\n\nStops an infinite loop of EXCHANGE_ID.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixed checkpatch warnings]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "008f55d0e019943323c20a03493a2ba5672a4cc8",
      "tree": "9d23ac89a198b307fa39018a228bd365e72a40d2",
      "parents": [
        "b4b82607ffcf09b57301846d154f2c09c0b807c0"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:50 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:13 2009 -0700"
      },
      "message": "nfs41: recover lease in _nfs4_lookup_root\n\nThis creates the nfsv4.1 session on mount.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4b82607ffcf09b57301846d154f2c09c0b807c0",
      "tree": "3ffce1ce6e27d22296ce62b5c8dbe2d32ac2cbef",
      "parents": [
        "90a16617ee6a052c3a1aac00eb67136324cf4dd0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:49 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:13 2009 -0700"
      },
      "message": "nfs41: get_clid_cred for EXCHANGE_ID\n\nUnlike SETCLIENTID, EXCHANGE_ID requires a machine credential. Do not search\nfor credentials other than the machine credential.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90a16617ee6a052c3a1aac00eb67136324cf4dd0",
      "tree": "9c164467a9270234b2cf6b167b6427733e50b8c6",
      "parents": [
        "591d71cbde186cc498c0d9718dc17f2fadf7c643"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:48 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:12 2009 -0700"
      },
      "message": "nfs41: add a get_clid_cred function to nfs4_state_recovery_ops\n\nEXCHANGE_ID has different credential requirements than SETCLIENTID.\nPrepare for a separate credential function.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "591d71cbde186cc498c0d9718dc17f2fadf7c643",
      "tree": "0cda78617611b2c3d3fb058af3cc0513ead80433",
      "parents": [
        "a7b721037f898b29a8083da59b1dccd3da385b07"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:47 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:11 2009 -0700"
      },
      "message": "nfs41: establish sessions-based clientid\n\nnfsv4.1 clientid is established via EXCHANGE_ID rather than\nSETCLIENTID{,_CONFIRM}\n\nThis is implemented using a new establish_clid method in\nnfs4_state_recovery_ops.\n\nnfs41: establish clientid via exchange id only if cred !\u003d NULL\n\n\u003eFrom 2.6.26 reclaimer() uses machine cred for setting up the client id\ntherefore it is never expected to be NULL.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\n[removed dprintk]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: lease renewal]\n[revamped patch for new nfs4_state_manager design]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a7b721037f898b29a8083da59b1dccd3da385b07",
      "tree": "57d0fba7528118a9d4dcd8395adbdb91956fcb17",
      "parents": [
        "8e69514f2981d85108c2bd220ff8e188c0c27cdb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:46 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:11 2009 -0700"
      },
      "message": "nfs41: introduce get_state_renewal_cred\n\nUse the machine cred for sending SEQUENCE to renew\nthe client\u0027s lease.\n\n[revamp patch for new state management design starting 2.6.29]\n[nfs41: support minorversion 1 for nfs4_check_lease]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get cred in exchange_id when cred arg is NULL]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use cl_machined_cred instead of cl_ex_cred]\n    Since EXCHANGE_ID insists on using the machine credential, cl_ex_cred is\n    not needed. nfs4_proc_exchange_id() is only called if the machine credential\n    is available. Remove the credential logic from nfs4_proc_exchange_id.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e69514f2981d85108c2bd220ff8e188c0c27cdb",
      "tree": "b106990c6ac0a286ae449afe8f0d781abcb754fe",
      "parents": [
        "29fba38b793225798104a1ac870e6807ebd078dd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:45 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:10 2009 -0700"
      },
      "message": "nfs41: support minorversion 1 for nfs4_check_lease\n\n[moved nfs4_get_renew_cred related changes to\n \"nfs41: introduce get_state_renewal_cred\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "29fba38b793225798104a1ac870e6807ebd078dd",
      "tree": "35b5fb1999a29b1b43ad1c4d1c816f42942bca99",
      "parents": [
        "b069d94af7785750228287c35f9ce5c463515726"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:44 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:09 2009 -0700"
      },
      "message": "nfs41: lease renewal\n\nSend a NFSv4.1 SEQUENCE op rather than RENEW that was deprecated in\nminorversion 1.\nUse the nfs_client minorversion to select reboot_recover/\nnetwork_partition_recovery/state_renewal ops.\n\nNote: we use reclaimer to create the nfs41 session before there are any\ncl_superblocks for the nfs_client.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[revamped patch for new nfs4_state_manager design]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: obliterate nfs4_state_recovery_ops.renew_lease method]\n    moved to nfs4_state_maintenance_ops\n[also undid per-minorversion nfs4_state_recovery_ops here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b069d94af7785750228287c35f9ce5c463515726",
      "tree": "6528dba606aa13369ff91ff8c23668d995ac5b91",
      "parents": [
        "4745e3154bf33048d970d1519703089493988f65"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:43 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:09 2009 -0700"
      },
      "message": "nfs41: schedule async session reset\n\nDefine a new session reset state which is set upon a sequence operation error\nin both the sync and async error handlers.\n\nPlace all new requests and all but the last outstanding rpc on the\nslot_tbl_waitq. Spawn the recovery thread when the last slot is free.\nCall nfs4_proc_destroy_session, reinitialize the session, call\nnfs4_proc_create_session, clear the session reset state, and wake up the next\ntask on the slot_tbl_waitq.\n\nReturn the nfs4_proc_destroy_session status to the session reclaimer and\ncheck for NFS4ERR_BADSESSION and NFS4ERR_DEADSESSION. Other destroy session\nerrors should be handled in nfs4_proc_destroy_session where the call can\nbe retried with adjusted arguments.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nnfs41: make nfs4_wait_bit_killable public]\n    nfs4_wait_bit_killable to be used by NFSv4.1 session recover logic.\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: have create_session work on nfs_client]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: trigger the state manager for session reset]\n    Replace the session reset state with the NFS4CLNT_SESSION_SETUP cl_state.\n    Place all rpc tasks to sleep on the slot table waitqueue until the slot\n    table is drained, then schedule state recovery and wait for it to complete.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: remove nfs41_session_recovery [ch]\nReplaced by using the nfs4_state_manager.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: nfs4_wait_bit_killable only used locally]\n[nfs41: keep nfs4_wait_bit_killable static]\n[nfs41: keep const nfs_server in nfs4_handle_exception]\n[nfs41: remove session parameter from nfs4_find_slot]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: resset the session from nfs41_setup_sequence]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4745e3154bf33048d970d1519703089493988f65",
      "tree": "474017eef52b407864fde5ed036db3270544d085",
      "parents": [
        "eedc020e718b8ce45381383ec66030f09eb02a1e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:42 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:08 2009 -0700"
      },
      "message": "nfs41: kick start nfs41 session recovery when handling errors\n\nRemove checking for any errors that the SEQUENCE operation does not return.\n-NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED, NFS4ERR_CB_PATH_DOWN, NFS4ERR_BACK_CHAN_BUSY, NFS4ERR_OP_NOT_IN_SESSION.\n\nSEQUENCE operation error recovery is very primative, we only reset the session.\n\nRemove checking for any errors that are returned by the SEQUENCE operation, but\nthat resetting the session won\u0027t address.\nNFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SEQUENCE_POS,NFS4ERR_TOO_MANY_OPS.\n\nAdd error checking for missing SEQUENCE errors that a session reset will\naddress.\nNFS4ERR_BAD_HIGH_SLOT, NFS4ERR_DEADSESSION, NFS4ERR_SEQ_FALSE_RETRY.\n\nA reset of the session is currently our only response to a SEQUENCE operation\nerror. Don\u0027t reset the session on errors where a new session won\u0027t help.\n\nDon\u0027t reset the session on errors where a new session won\u0027t help.\n\n[nfs41: nfs4_async_handle_error update error checking]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: trigger the state manager for session reset]\n    Replace session state bit with nfs_client state bit.  Set the\n    NFS4CLNT_SESSION_SETUP bit upon a session related error in the sync/async\n    error handlers.\n[nfs41: _nfs4_async_handle_error fix session reset error list]\nSequence operation errors that session reset could help.\nNFS4ERR_BADSESSION\nNFS4ERR_BADSLOT\nNFS4ERR_BAD_HIGH_SLOT\nNFS4ERR_DEADSESSION\nNFS4ERR_CONN_NOT_BOUND_TO_SESSION\nNFS4ERR_SEQ_FALSE_RETRY\nNFS4ERR_SEQ_MISORDERED\n\nSequence operation errors that a session reset would not help\n\nNFS4ERR_BADXDR\nNFS4ERR_DELAY\nNFS4ERR_REP_TOO_BIG\nNFS4ERR_REP_TOO_BIG_TO_CACHE\nNFS4ERR_REQ_TOO_BIG\nNFS4ERR_RETRY_UNCACHED_REP\nNFS4ERR_SEQUENCE_POS\nNFS4ERR_TOO_MANY_OPS\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41 nfs4_handle_exception fix session reset error list]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs41_sequece_call_done code to nfs41: sequence operation]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eedc020e718b8ce45381383ec66030f09eb02a1e",
      "tree": "f29fe9309b67be4d5387c2ced72c063fb4df53c0",
      "parents": [
        "aae2006e9b0c294114915c13022fa348e1a88023"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:41 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: use rpc prepare call state for session reset\n\n[nfs41: change nfs4_restart_rpc argument]\n[nfs41: check for session not minorversion]\n[nfs41: trigger the state manager for session reset]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[always define nfs4_restart_rpc]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3fad1b1aaf850bf692642642ace7cd0d64af0a3",
      "tree": "ff8822016d004d9f0cbd67a3373f5f1f4527f363",
      "parents": [
        "76db6d9500caeaa774a3e32a997eba30bbdc176b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:39 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:06 2009 -0700"
      },
      "message": "nfs41: add session reset to state manager\n\nMove the code to reset a session from the session_reclaimer to the\nnfs4_state_manager.  Destroy the session, and create a new one. Treat\nNFS4ERR_BADSESSION and NFS4ERR_DEADSESSION as a successful\nnfs4_proc_destroy_session. Signal nfs4_proc_create_session that this is a\nsession reset so that the session slot table is re-used.\n\nIf the clientid is stale, set both NFS4CLNT_LEASE_EXPIRED and\nNFS4CLNT_SESSION_SETUP bits and retry.\n\nUse a switch statement in nfs4_session_recovery_handle_error for future\npatche which will add handling for other errors.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: session reset in nfs4_recovery_handle_error]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: reset session on nfs4_do_reclaim session reset error]\n    If nfs4_do_reclaim gets a session reset error, nfs4_recovery_handle_error\n    will set the NFS4CLNT_SESSION_SETUP bit, and the state manager should\n    continue processing to reset the session.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move nfs4_proc_destroy_session declaration here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "76db6d9500caeaa774a3e32a997eba30bbdc176b",
      "tree": "f1c1c2647ecb67dd519d00938be07f360d7680b1",
      "parents": [
        "ac72b7b3b3263ce64d55094eac1d1bde5f34e64a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:38 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:06 2009 -0700"
      },
      "message": "nfs41: add session setup to the state manager\n\nAt mount, nfs_alloc_client sets the cl_state NFS4CLNT_LEASE_EXPIRED bit\nand nfs4_alloc_session sets the NFS4CLNT_SESSION_SETUP bit, so both bits are\nset when nfs4_lookup_root calls nfs4_recover_expired_lease which schedules\nthe nfs4_state_manager and waits for it to complete.\n\nPlace the session setup after the clientid establishment in nfs4_state_manager\nso that the session is setup right after the clientid has been established\nwithout rescheduling the state manager.\n\nUnlike nfsv4.0, the nfs_client struct is not ready to use until the session\nhas been established.  Postpone marking the nfs_client struct to NFS_CS_READY\nuntil after a successful CREATE_SESSION call so that other threads cannot use\nthe client until the session is established.\n\nIf the EXCHANGE_ID call fails and the session has not been setup (the\nNFS4CLNT_SESSION_SETUP bit is set), mark the client with the error and return.\n\nIf the session setup CREATE_SESSION call fails with NFS4ERR_STALE_CLIENTID\nwhich could occur due to server reboot or network partition inbetween the\nEXCHANGE_ID and CREATE_SESSION call, reset the NFS4CLNT_LEASE_EXPIRED and\nNFS4CLNT_SESSION_SETUP bits and try again.\n\nIf the CREATE_SESSION call fails with other errors, mark the client with\nthe error and return.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: NFS_CS_SESSION_SETUP cl_cons_state for back channel setup]\n  On session setup, the CREATE_SESSION reply races with the server back channel\n  probe which needs to succeed to setup the back channel. Set a new\n  cl_cons_state NFS_CS_SESSION_SETUP just prior to the CREATE_SESSION call\n  and add it as a valid state to nfs_find_client so that the client back channel\n  can find the nfs_client struct and won\u0027t drop the server backchannel probe.\n  Use a new cl_cons_state so that NFSv4.0 back channel behaviour which only\n  sets NFS_CS_READY is unchanged.\n  Adjust waiting on the nfs_client_active_wq accordingly.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: rename NFS_CS_SESSION_SETUP to NFS_CS_SESSION_INITING]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: set NFS_CL_SESSION_INITING in alloc_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: move session setup into a function]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs4_proc_create_session declaration here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac72b7b3b3263ce64d55094eac1d1bde5f34e64a",
      "tree": "2ecd6882caab65e33dad8cda06a71da2e6293279",
      "parents": [
        "fc01cea963a246742ff15e118ce5259e3091352c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:37 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:05 2009 -0700"
      },
      "message": "nfs41: reset the session slot table\n\nSeparated from nfs41: schedule async session reset\n\nDo not kfree the session slot table upon session reset, just re-initialize it.\nAdd a boolean to nfs4_proc_create_session to inidicate if this is a\nsession reset or a session initialization.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "fc01cea963a246742ff15e118ce5259e3091352c"
}
