)]}'
{
  "log": [
    {
      "commit": "e4e83ea47babd9d4bf95a13aed87f8ef51e46472",
      "tree": "3949e01791c172f21f0d408d3352a857fcda9258",
      "parents": [
        "47cee541a46a73b20dc279bf4c4690f776f6c81b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 16:21:39 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 19:03:50 2010 -0400"
      },
      "message": "Revert \"nfsd4: distinguish expired from stale stateids\"\n\nThis reverts commit 78155ed75f470710f2aecb3e75e3d97107ba8374.\n\nWe\u0027re depending here on the boot time that we use to generate the\nstateid being monotonic, but get_seconds() is not necessarily.\n\nWe still depend at least on boot_time being different every time, but\nthat is a safer bet.\n\nWe have a few reports of errors that might be explained by this problem,\nthough we haven\u0027t been able to confirm any of them.\n\nBut the minor gain of distinguishing expired from stale errors seems not\nworth the risk.\n\nConflicts:\n\n\tfs/nfsd/nfs4state.c\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "47cee541a46a73b20dc279bf4c4690f776f6c81b",
      "tree": "d54461a8fd6a4c70d5b092334ccf38359bcd4994",
      "parents": [
        "b7299f44394336f51b526247a870d47d28f4f97c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon May 17 20:00:37 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 12:05:20 2010 -0400"
      },
      "message": "nfsd: safer initialization order in find_file()\n\nThe alloc_init_file() first adds a file to the hash and then\ninitializes its fi_inode, fi_id and fi_had_conflict.\n\nThe uninitialized fi_inode could thus be erroneously checked by\nthe find_file(), so move the hash insertion lower.\n\nThe client_mutex should prevent this race in practice; however, we\neventually hope to make less use of the client_mutex, so the ordering\nhere is an accident waiting to happen.\n\nI didn\u0027t find whether the same can be true for two other fields,\nbut the common sense tells me it\u0027s better to initialize an object\nbefore putting it into a global hash table :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7299f44394336f51b526247a870d47d28f4f97c",
      "tree": "bb8e365349e9e048f0f927843acca26ddd6a8e2b",
      "parents": [
        "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 17:57:35 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 11:51:38 2010 -0400"
      },
      "message": "nfs4: minor callback code simplification, comment\n\nNote the position in the version array doesn\u0027t have to match the actual\nrpc version number--to me it seems clearer to maintain the distinction.\n\nAlso document choice of rpc callback version number, as discussed in\ne.g. http://www.ietf.org/mail-archive/web/nfsv4/current/msg07985.html\nand followups.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2",
      "tree": "7553c06ca7ba059d30289bb8f2e09753671220de",
      "parents": [
        "4dc6ec00f6347b72312fa41dfc587d5302b05544"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri May 14 15:33:36 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 18:46:14 2010 -0400"
      },
      "message": "NFSD: don\u0027t report compiled-out versions as present\n\nThe /proc/fs/nfsd/versions file calls nfsd_vers() to check whether\nthe particular nfsd version is present/available. The problem is\nthat once I turn off e.g. NFSD-V4 this call returns -1 which is\ntrue from the callers POV which is wrong.\n\nThe proposal is to report false in that case.\n\nThe bug has existed since 6658d3a7bbfd1768 \"[PATCH] knfsd: remove\nnfsd_versbits as intermediate storage for desired versions\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: stable@kernel.org\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4dc6ec00f6347b72312fa41dfc587d5302b05544",
      "tree": "fbb00e0c8341561f155a6dcd6fc5f83282c638b0",
      "parents": [
        "ab707e156593ff7fffd615757332dbff6616836a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:11:28 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 12:03:11 2010 -0400"
      },
      "message": "nfsd4: implement reclaim_complete\n\nThis is a mandatory operation.  Also, here (not in open) is where we\nshould be committing the reboot recovery information.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab707e156593ff7fffd615757332dbff6616836a",
      "tree": "a9d1c7d851ca178e616f05aab30377ab778762b4",
      "parents": [
        "d76829889ac4250a18cfcc1a606bb256bb9c570c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:14:06 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:59:11 2010 -0400"
      },
      "message": "nfsd4: nfsd4_destroy_session must set callback client under the state lock\n\nnfsd4_set_callback_client must be called under the state lock to atomically\nset or unset the callback client and shutting down the previous one.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d76829889ac4250a18cfcc1a606bb256bb9c570c",
      "tree": "27a675ed794809b4aa2430aa3a03e4ffb0f11816",
      "parents": [
        "07cd4909a6c0c275ef42fd27748226975919e336"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:54 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:58:54 2010 -0400"
      },
      "message": "nfsd4: keep a reference count on client while in use\n\nGet a refcount on the client on SEQUENCE,\nRelease the refcount and renew the client when all respective compounds completed.\nDo not expire the client by the laundromat while in use.\nIf the client was expired via another path, free it when the compounds\ncomplete and the refcount reaches 0.\n\nNote that unhash_client_locked must call list_del_init on cl_lru as\nit may be called twice for the same client (once from nfs4_laundromat\nand then from expire_client)\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "07cd4909a6c0c275ef42fd27748226975919e336",
      "tree": "90ffb93321817320cdf3cf8dbd643272b5752f7a",
      "parents": [
        "46583e2597af649f134462d2f2c1be5e6689198d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:41 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:47:22 2010 -0400"
      },
      "message": "nfsd4: mark_client_expired\n\nMark the client as expired under the client_lock so it won\u0027t be renewed\nwhen an nfsv4.1 session is done, after it was explicitly expired\nduring processing of the compound.\n\nDo not renew a client mark as expired (in particular, it is not\non the lru list anymore)\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46583e2597af649f134462d2f2c1be5e6689198d",
      "tree": "4d760a1f60db3f057f8f3ea1549a8422c9eff031",
      "parents": [
        "84d38ac9abf0a5bc0044c9363acaad55a9a4be0d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:29 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:47:03 2010 -0400"
      },
      "message": "nfsd4: introduce nfs4_client.cl_refcount\n\nCurrently just initialize the cl_refcount to 1\nand decrement in expire_client(), conditionally freeing the\nclient when the refcount reaches 0.\n\nTo be used later by nfsv4.1 compounds to keep the client from\ntiming out while in use.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "84d38ac9abf0a5bc0044c9363acaad55a9a4be0d",
      "tree": "88d54cef8c221be2384d4dbc3a75555cc436a0a6",
      "parents": [
        "36acb66bda512dd8159c3e1b40358c5219524868"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:16 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:02 2010 -0400"
      },
      "message": "nfsd4: refactor expire_client\n\nSeparate out unhashing of the client and session.\nTo be used later by the laundromat.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "36acb66bda512dd8159c3e1b40358c5219524868",
      "tree": "f65fddbb0ad59a93f762010c85b7b533ede4dff8",
      "parents": [
        "328efbab0f8ae1617448917906a12e5f568553b6"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:13:04 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:02 2010 -0400"
      },
      "message": "nfsd4: extend the client_lock to cover cl_lru\n\nTo be used later on to hold a reference count on the client while in use by a\nnfsv4.1 compound.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "328efbab0f8ae1617448917906a12e5f568553b6",
      "tree": "1bf619463f9a3e7e5a832860ea50b020938d654e",
      "parents": [
        "be1fdf6c4386f56271d2f690b93ef686b769587c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:51 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: use list_move in move_to_confirmed\n\nrather than list_del_init, list_add\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "be1fdf6c4386f56271d2f690b93ef686b769587c",
      "tree": "2c49c5af57912ed20967b6ad35cde915c6b4cc81",
      "parents": [
        "9089f1b4782ff52835059779fd37b7ad765a25c7"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:39 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: fold release_session into expire_client\n\nand grab the client lock once for all the client\u0027s sessions.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9089f1b4782ff52835059779fd37b7ad765a25c7",
      "tree": "c65b34d9054a8591f1877713073cac3ca80b431c",
      "parents": [
        "5d4cec2f2fdbb3d830fa014226d0d965df548bad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:12:26 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 11 21:02:01 2010 -0400"
      },
      "message": "nfsd4: rename sessionid_lock to client_lock\n\nIn preparation to share the lock\u0027s scope to both client\nand session hash tables.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d4cec2f2fdbb3d830fa014226d0d965df548bad",
      "tree": "f5cb399d4fc29aec57e700d2b77731fe68e4a537",
      "parents": [
        "5306293c9cd2caf41849cc909281bda628bb989e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat May 01 12:56:06 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 07 19:08:47 2010 -0400"
      },
      "message": "nfsd4: fix bare destroy_session null dereference\n\nIt\u0027s legal to send a DESTROY_SESSION outside any session (as the only\noperation in a compound), in which case cstate-\u003esession will be NULL;\ncheck for that case.\n\nWhile we\u0027re at it, move these checks into a separate helper function.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5306293c9cd2caf41849cc909281bda628bb989e",
      "tree": "3be4e8231e2772c8a43ddbef5c6a72c20b3054bb",
      "parents": [
        "dbd65a7e44fff4741a0b2c84bd6bace85d22c242",
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 04 11:27:05 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 04 11:29:05 2010 -0400"
      },
      "message": "Merge commit \u0027v2.6.34-rc6\u0027\n\nConflicts:\n\tfs/nfsd/nfs4callback.c\n"
    },
    {
      "commit": "dbd65a7e44fff4741a0b2c84bd6bace85d22c242",
      "tree": "cc049fb7838574ce7c43fc53ba7b7891236b9bc7",
      "parents": [
        "fb4b698fc78347419aa9ae7114e1375f92107500"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon May 03 19:31:33 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 04 10:10:36 2010 -0400"
      },
      "message": "nfsd4: use local variable in nfs4svc_encode_compoundres\n\n\u0027cs\u0027 is already computed, re-use it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26c0c75e69265961e891ed80b38fb62a548ab371",
      "tree": "1ecbc767a1b2ad3e8f25d88e918076806d8c2eb1",
      "parents": [
        "e0c8233622cbd49d171bc57b60e725f2fb748750"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Apr 24 15:35:43 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon May 03 08:32:31 2010 -0400"
      },
      "message": "nfsd4: fix unlikely race in session replay case\n\nIn the replay case, the\n\n\trenew_client(session-\u003ese_client);\n\nhappens after we\u0027ve droppped the sessionid_lock, and without holding a\nreference on the session; so there\u0027s nothing preventing the session\nbeing freed before we get here.\n\nThanks to Benny Halevy for catching a bug in an earlier version of this\npatch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e97e7120eb24800cf8eb62c7da07b161cc2a8c73",
      "tree": "b48bf7a1f1e8192c5e3cb4e1289adc7a378c2d8d",
      "parents": [
        "fed0a9c644c7872f5bcaeb87a71103aef8e96761",
        "9bf729c0af67897ea8498ce17c29b0683f7f2028"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 19:49:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 19:49:34 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: add a shrinker to background inode reclaim\n"
    },
    {
      "commit": "fed0a9c644c7872f5bcaeb87a71103aef8e96761",
      "tree": "9615901a5b387aa57c39fcd1d5fee22149a9dbcc",
      "parents": [
        "6bec11921a7d7b11d0b1909596636632aece5a26",
        "3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 17:18:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 17:18:07 2010 -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  exofs: Fix \"add bdi backing to mount session\" fall out\n  fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK\n"
    },
    {
      "commit": "9bf729c0af67897ea8498ce17c29b0683f7f2028",
      "tree": "9e6350fd9da5aef0b53ddeddd82f618ae16bf931",
      "parents": [
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 29 09:55:50 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 29 16:22:13 2010 -0500"
      },
      "message": "xfs: add a shrinker to background inode reclaim\n\nOn low memory boxes or those with highmem, kernel can OOM before the\nbackground reclaims inodes via xfssyncd. Add a shrinker to run inode\nreclaim so that it inode reclaim is expedited when memory is low.\n\nThis is more complex than it needs to be because the VM folk don\u0027t\nwant a context added to the shrinker infrastructure. Hence we need\nto add a global list of XFS mount structures so the shrinker can\ntraverse them.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2",
      "tree": "df6e57bac0477e18c80786d5b014533ffe0eee34",
      "parents": [
        "5477d0face8a3ba4e9a1e7283692fff9c92f8e5e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Apr 29 20:35:29 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:35:29 2010 +0200"
      },
      "message": "exofs: Fix \"add bdi backing to mount session\" fall out\n\nThe patch: add bdi backing to mount session\n\t(b3d0ab7e60d1865bb6f6a79a77aaba22f2543236)\n\nHas a bug in the placement of the bdi member at\nstruct exofs_sb_info. The layout member must be kept\nlast.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5477d0face8a3ba4e9a1e7283692fff9c92f8e5e",
      "tree": "59bdad300f2be01911f9120e349b22664f199387",
      "parents": [
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:33:35 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 20:33:35 2010 +0200"
      },
      "message": "fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK\n\nWhen CONFIG_BLOCK is set, it ends up getting backing-dev.h included.\nBut for !CONFIG_BLOCK, it isn\u0027t so lucky. The proper thing to do is\ninclude \u003clinux/backing-dev.h\u003e directly from the file it\u0027s used from,\nso do that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "27fb8d7b1fe7c2fa2d7c1f243b899793e1b080e0",
      "tree": "25a8ca59a3743459bbd48674731becea89a16318",
      "parents": [
        "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
        "9699eda6bc1f708a28acb716e1477aa351362fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n  nfs: fix some issues in nfs41_proc_reclaim_complete()\n  NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n  NFS: Fix an unstable write data integrity race\n  nfs: testing for null instead of ERR_PTR()\n  NFS: rsize and wsize settings ignored on v4 mounts\n  NFSv4: Don\u0027t attempt an atomic open if the file is a mountpoint\n  SUNRPC: Fix a bug in rpcauth_prune_expired\n"
    },
    {
      "commit": "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
      "tree": "bdbffa0e212888c31e11e89dc1194935f6825085",
      "parents": [
        "a36fed12a4d980eebb2e67b87ea30ad090238cff"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Apr 28 14:36:41 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 08:44:37 2010 -0700"
      },
      "message": "pktcdvd: improve BKL and compat_ioctl.c usage\n\nThe pktcdvd driver uses proper locking and does not need the BKL in the\nioctl and llseek functions of the character device, so kill both.\n\nMoving the compat_ioctl handling from common code into the driver itself\nfixes build problems when CONFIG_BLOCK is disabled.\n\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a36fed12a4d980eebb2e67b87ea30ad090238cff",
      "tree": "ff56582ba7ccca5d303b909c146032013bf047d0",
      "parents": [
        "dfad53d48e32cd0e10eab98e986c76cdd957600f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Apr 29 13:38:00 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 07:59:16 2010 -0700"
      },
      "message": "exofs: Fix \"add bdi backing to mount session\" fall out\n\nCommit b3d0ab7e60d1865bb6f6a79a77aaba22f2543236 (\"exofs: add bdi backing\nto mount session\") has a bug in the placement of the bdi member at\nstruct exofs_sb_info.  The layout member must be kept last.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9e80b7de91db05c1c4d2e5ebbfd70b3b3ba0e0f",
      "tree": "0ca15a8b9250337c810e18756422c17b5f651b08",
      "parents": [
        "1d16b0f2f3edf05f12a9e3960588e0d4854157bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Apr 29 03:10:43 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 20:40:03 2010 -0700"
      },
      "message": "nfs d_revalidate() is too trigger-happy with d_drop()\n\nIf dentry found stale happens to be a root of disconnected tree, we\ncan\u0027t d_drop() it; its d_hash is actually part of s_anon and d_drop()\nwould simply hide it from shrink_dcache_for_umount(), leading to\nall sorts of fun, including busy inodes on umount and oopsen after\nthat.\n\nBug had been there since at least 2006 (commit c636eb already has it),\nso it\u0027s definitely -stable fodder.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9699eda6bc1f708a28acb716e1477aa351362fe2",
      "tree": "61d6841d38f047c9cb80e2efd08acea67f80b223",
      "parents": [
        "acf82b85a70f39786e3cbb1ffed8655bcc972424"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Apr 22 18:56:17 2010 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 28 13:46:28 2010 -0400"
      },
      "message": "nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n\nWith CONFIG_NFS_V4 and data version 4, nfs_get_sb will allocate memory for\nexport_path in nfs4_validate_text_mount_data, so we need to free it then.\nThis is addressed in following kmemleak report:\n\nunreferenced object 0xffff88016bf48a50 (size 16):\n  comm \"mount.nfs\", pid 22567, jiffies 4651574704 (age 175471.200s)\n  hex dump (first 16 bytes):\n    2f 6f 70 74 2f 77 6f 72 6b 00 6b 6b 6b 6b 6b a5  /opt/work.kkkkk.\n  backtrace:\n    [\u003cffffffff814b34f9\u003e] kmemleak_alloc+0x60/0xa7\n    [\u003cffffffff81102c76\u003e] kmemleak_alloc_recursive.clone.5+0x1b/0x1d\n    [\u003cffffffff811046b3\u003e] __kmalloc_track_caller+0x18f/0x1b7\n    [\u003cffffffff810e1b08\u003e] kstrndup+0x37/0x54\n    [\u003cffffffffa0336971\u003e] nfs_parse_devname+0x152/0x204 [nfs]\n    [\u003cffffffffa0336af3\u003e] nfs4_validate_text_mount_data+0xd0/0xdc [nfs]\n    [\u003cffffffffa0338deb\u003e] nfs_get_sb+0x325/0x736 [nfs]\n    [\u003cffffffff81113671\u003e] vfs_kern_mount+0xbd/0x17c\n    [\u003cffffffff81113798\u003e] do_kern_mount+0x4d/0xed\n    [\u003cffffffff81129a87\u003e] do_mount+0x787/0x7fe\n    [\u003cffffffff81129b86\u003e] sys_mount+0x88/0xc2\n    [\u003cffffffff81009b42\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "acf82b85a70f39786e3cbb1ffed8655bcc972424",
      "tree": "99e1a7b0815aa1ca1d9196a323c9c28df185d2aa",
      "parents": [
        "ba8b06e67ed7a560b0e7c80091bcadda4f4727a5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 11:28:39 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 28 13:45:12 2010 -0400"
      },
      "message": "nfs: fix some issues in nfs41_proc_reclaim_complete()\n\nThe original code passed an ERR_PTR() to rpc_put_task() and instead of\nreturning zero on success it returned -ENOMEM.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
      "tree": "1b0f6f4182e73d19071addf8a209e5fb58483d08",
      "parents": [
        "696e65c3606aa3f587eeb181766baf49ea750cfc",
        "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -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  coda: move backing-dev.h kernel include inside __KERNEL__\n  mtd: ensure that bdi entries are properly initialized and registered\n  Move mtd_bdi_*mappable to mtdcore.c\n  btrfs: convert to using bdi_setup_and_register()\n  Catch filesystems lacking s_bdi\n  drbd: Terminate a connection early if sending the protocol fails\n  drbd: fix memory leak\n  Fix JFFS2 sync silent failure\n  smbfs: add bdi backing to mount session\n  ncpfs: add bdi backing to mount session\n  exofs: add bdi backing to mount session\n  ecryptfs: add bdi backing to mount session\n  coda: add bdi backing to mount session\n  cifs: add bdi backing to mount session\n  afs: add bdi backing to mount session.\n  9p: add bdi backing to mount session\n  bdi: add helper function for doing init and register of a bdi for a file system\n  block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer\n"
    },
    {
      "commit": "11e39d993dc693e0bfc5521d367b2494cb3bcd38",
      "tree": "b6e418811a47c0a92ed6f386360f07c73b8f3b87",
      "parents": [
        "03449cd9eaa4fa3a7faa4a59474bafe2e90bd143",
        "2bc3c1179c781b359d4f2f3439cb3df72afc17fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:21 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: bug in read_buf\n"
    },
    {
      "commit": "3835541dd481091c4dbf5ef83c08aed12e50fd61",
      "tree": "bb40567215e394392ed0167867a0bf2a5916a583",
      "parents": [
        "9e584fbbd9fd4f0f10b8aafc9982df8d0b553e35"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Tue Apr 27 13:13:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 16:26:03 2010 -0700"
      },
      "message": "procfs: fix tid fdinfo\n\nCorrect the file_operations struct in fdinfo entry of tid_base_stuff[].\n\nPresently /proc/*/task/*/fdinfo contains symlinks to opened files like\n/proc/*/fd/.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "ba8b06e67ed7a560b0e7c80091bcadda4f4727a5",
      "tree": "cd737661ffb38a614697b1e055d68e7b41a7e982",
      "parents": [
        "71d0a6112a363e703e383ae5b12c492485c39701"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 27 18:33:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 27 18:33:54 2010 -0400"
      },
      "message": "NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n\nNeil Brown reports that he is seeing the BUG_ON(ret \u003d\u003d 0) trigger in\nnfs_page_async_flush. According to the trace in\n     https://bugzilla.novell.com/show_bug.cgi?id\u003d599628\nthe problem appears to be due to nfs_wb_page() not waiting for the\nPG_writeback flag to clear.\n\nThere is a ditto problem in nfs_wb_page_cancel()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16a5b3c4143fc7f6cbe0ef9fd4e9a58376f91506",
      "tree": "3ddc0a8a20a99c6abdf3698917ff636bd41cdea9",
      "parents": [
        "bc113f151a73cb2195c2fb40d7d70acf8e2f9208"
      ],
      "author": {
        "name": "Christoph Egger",
        "email": "siccegge@cs.fau.de",
        "time": "Mon Apr 26 15:56:36 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 09:01:26 2010 -0700"
      },
      "message": "Remove redundant check for CONFIG_MMU\n\nThe checks for CONFIG_MMU at this location are duplicated as all the code is\nlocated inside a #ifndef CONFIG_MMU block. So the first conditional block will\nalways be included while the second never will.\n\nSigned-off-by: Christoph Egger \u003csiccegge@stud.informatik.uni-erlangen.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc113f151a73cb2195c2fb40d7d70acf8e2f9208",
      "tree": "026c1fe1d01a16724c8fff538b1fe29bbf1ef06b",
      "parents": [
        "93a9248af27aa83c08910d3e38b584678b1dc534",
        "e0d1f70010dce062ccce1bbd940a661e60b82631"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 08:59:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 27 08:59:38 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  squashfs: fix potential buffer over-run on 4K block file systems\n  squashfs: add missing buffer free\n  squashfs: fix warn_on when root inode is corrupted\n  squashfs: fix locking bug in zlib wrapper\n"
    },
    {
      "commit": "2bc3c1179c781b359d4f2f3439cb3df72afc17fc",
      "tree": "1ec45ae9721da85fb3807003067dd6be2b73a96d",
      "parents": [
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Apr 20 12:16:52 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 26 15:39:08 2010 -0400"
      },
      "message": "nfsd4: bug in read_buf\n\nWhen read_buf is called to move over to the next page in the pagelist\nof an NFSv4 request, it sets argp-\u003eend to essentially a random\nnumber, certainly not an address within the page which argp-\u003ep now\npoints to.  So subsequent calls to READ_BUF will think there is much\nmore than a page of spare space (the cast to u32 ensures an unsigned\ncomparison) so we can expect to fall off the end of the second\npage.\n\nWe never encountered thsi in testing because typically the only\noperations which use more than two pages are write-like operations,\nwhich have their own decoding logic.  Something like a getattr after a\nwrite may cross a page boundary, but it would be very unusual for it to\ncross another boundary after that.\n\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd77ef924c835c9813c3f4dc7e9c72e9cd88d238",
      "tree": "bf914944fceab37ca446ded983a00e422c318f5b",
      "parents": [
        "b91ce4d14a21fc04d165be30319541e0f9204f15"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 20 17:00:37 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Apr 26 12:38:51 2010 -0500"
      },
      "message": "xfs: more swap extent fixes for dynamic fork offsets\n\nA new xfsqa test (226) with a prototype xfs_fsr change to try to\nhandle dynamic fork offsets better triggers an assertion failure\nwhere the inode data fork is in btree format, yet there is room in\nthe inode for it to be in extent format. The two inodes look like:\n\nbefore: ino 0x101 (target), num_extents 11, Max in-fork extents 6, broot size 40, fork offset 96\nbefore: ino 0x115 (temp),  num_extents 5, Max in-fork extents 3, broot size 40, fork offset 56\nafter: ino 0x101 (target), num_extents 5, Max in-fork extents 6, broot size 40, fork offset 96\nafter: ino 0x115 (temp), num_extents 11, Max in-fork extents 3, broot size 40, fork offset 56\n\nBasically the target inode ends up with 5 extents in btree format,\nbut it had space for 6 extents in extent format, so ends up\nincorrect. Notably here the broot size is the same, and that is\nwhere the kernel code is going wrong - the btree root will fit, so\nit lets the swap go ahead.\n\nThe check should not allow the swap to take place if the number of\nextents while in btree format is less than the number of extents\nthat can fit in the inode in extent format. Adding that check will\nprevent this swap and corruption from occurring.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "e6d086d83cf7f102d48c006f58172a69ec0c15a4",
      "tree": "be8cf9ab5c593982dded8585d1e9961a1e83b1e5",
      "parents": [
        "5129a469a91a91427334c40e29e64c6d0ab68caf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 26 10:27:54 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 26 10:27:54 2010 +0200"
      },
      "message": "btrfs: convert to using bdi_setup_and_register()\n\nIt\u0027s now a provided helper, so get rid of the internal setup\nand btrfs atomic_t bdi enumerator.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "202f2bb0708e968099a23fead4598a4c3f8f8637",
      "tree": "d014d6222ea90af157cfb0fcbf5677447353b95e",
      "parents": [
        "ddc9b34c3b3bc063a7d9eb891ae09b8f49cfb27e",
        "b90f687018e6d6c77d981b09203780f7001407e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 25 10:01:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 25 10:01:51 2010 -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  ext4: Issue the discard operation *before* releasing the blocks to be reused\n  ext4: Fix buffer head leaks after calls to ext4_get_inode_loc()\n  ext4: Fix possible lost inode write in no journal mode\n"
    },
    {
      "commit": "5129a469a91a91427334c40e29e64c6d0ab68caf",
      "tree": "141a17cbea94c7c9c038187cc7081e1c688eac55",
      "parents": [
        "7e2455c1a123ceadbb35150a610d61e8443fd340"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Sun Apr 25 08:54:42 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Apr 25 08:54:42 2010 +0200"
      },
      "message": "Catch filesystems lacking s_bdi\n\nnoop_backing_dev_info is used only as a flag to mark filesystems that\ndon\u0027t have any backing store, like tmpfs, procfs, spufs, etc.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n\nChanged the BUG_ON() to a WARN_ON(). Note that adding dirty inodes\nto the noop_backing_dev_info is not legal and will not result in\nthem being flushed, but we already catch this condition in\n__mark_inode_dirty() when checking for a registered bdi.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e0d1f70010dce062ccce1bbd940a661e60b82631",
      "tree": "1a0844867f6aa1600a07a8a5321325ddf016a6e6",
      "parents": [
        "370ec3d1ed9d76ba992e5b9b7d7d10700014d436"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Fri Apr 23 02:32:02 2010 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun Apr 25 02:09:05 2010 +0100"
      },
      "message": "squashfs: fix potential buffer over-run on 4K block file systems\n\nSizing the buffer based on block size is incorrect, leading\nto a potential buffer over-run on 4K block size file systems\n(because the metadata block size is always 8K).  This bug\ndoesn\u0027t seem have triggered because 4K block size file systems\nare not default, and also because metadata blocks after\ncompression tend to be less than 4K.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "370ec3d1ed9d76ba992e5b9b7d7d10700014d436",
      "tree": "87065ba9c5f19b29c172267bcd971d655a7d6af6",
      "parents": [
        "1cb08e97389bb603e1b999312d9686c8faf0187a"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Fri Apr 23 00:24:22 2010 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun Apr 25 02:09:05 2010 +0100"
      },
      "message": "squashfs: add missing buffer free\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "1cb08e97389bb603e1b999312d9686c8faf0187a",
      "tree": "eb09f54f0eae17a29c5f09418558d7ed141d4454",
      "parents": [
        "792590c72376649b4e315df386fd208b83db05b9"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Fri Apr 16 01:01:36 2010 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun Apr 25 01:49:17 2010 +0100"
      },
      "message": "squashfs: fix warn_on when root inode is corrupted\n\nFix warn_on triggered by mounting a fsfuzzer corrupted file system, where\nthe root inode has been corrupted.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nReported-by: Steve Grubb \u003csgrubb@redhat.com\u003e\n"
    },
    {
      "commit": "b8af67e2681c693a21f3933e3bdfce4cf66596d3",
      "tree": "757fe652a36aa002b6bee9365b484e57bc5318fd",
      "parents": [
        "98d5ce0d0044666fc85a01915a1d22407eb546fd"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Apr 23 13:18:06 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:31:26 2010 -0700"
      },
      "message": "fs/block_dev.c: fix performance regression in O_DIRECT|O_SYNC writes to block devices\n\nWe are seeing a large regression in database performance on recent\nkernels.  The database opens a block device with O_DIRECT|O_SYNC and a\nnumber of threads write to different regions of the file at the same time.\n\nA simple test case is below.  I haven\u0027t defined DEVICE since getting it\nwrong will destroy your data :) On an 3 disk LVM with a 64k chunk size we\nsee about 17MB/sec and only a few threads in IO wait:\n\nprocs  -----io---- -system-- -----cpu------\n r  b     bi    bo   in   cs us sy id wa st\n 0  3      0 16170  656 2259  0  0 86 14  0\n 0  2      0 16704  695 2408  0  0 92  8  0\n 0  2      0 17308  744 2653  0  0 86 14  0\n 0  2      0 17933  759 2777  0  0 89 10  0\n\nMost threads are blocking in vfs_fsync_range, which has:\n\n        mutex_lock(\u0026mapping-\u003ehost-\u003ei_mutex);\n        err \u003d fop-\u003efsync(file, dentry, datasync);\n        if (!ret)\n                ret \u003d err;\n        mutex_unlock(\u0026mapping-\u003ehost-\u003ei_mutex);\n\ncommit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new\nhelpers for syncing after writing to O_SYNC file or IS_SYNC inode) offers\nsome explanation of what is going on:\n\n    Use these new helpers for syncing from generic VFS functions. This makes\n    O_SYNC writes to block devices acquire i_mutex for syncing. If we really\n    care about this, we can make block_fsync() drop the i_mutex and reacquire\n    it before it returns.\n\nThanks Jan for such a good commit message!  As well as dropping i_mutex,\nChristoph suggests we should remove the call to sync_blockdev():\n\n\u003e sync_blockdev is an overcomplicated alias for filemap_write_and_wait on\n\u003e the block device inode, which is exactly what we did just before calling\n\u003e into -\u003efsync\n\nThe patch below incorporates both suggestions. With it the testcase improves\nfrom 17MB/s to 68M/sec:\n\nprocs  -----io---- -system-- -----cpu------\n r  b     bi    bo   in   cs us sy id wa st\n 0  7      0 65536 1000 3878  0  0 70 30  0\n 0 34      0 69632 1016 3921  0  1 46 53  0\n 0 57      0 69632 1000 3921  0  0 55 45  0\n 0 53      0 69640  754 4111  0  0 81 19  0\n\nTestcase:\n\n#define _GNU_SOURCE\n#include \u003cstdio.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n\n#define NR_THREADS 64\n#define BUFSIZE (64 * 1024)\n\n#define DEVICE \"/dev/mapper/XXXXXX\"\n\n#define ALIGN(VAL, SIZE) (((VAL)+(SIZE)-1) \u0026 ~((SIZE)-1))\n\nstatic int fd;\n\nstatic void *doit(void *arg)\n{\n\tunsigned long offset \u003d (long)arg;\n\tchar *b, *buf;\n\n\tb \u003d malloc(BUFSIZE + 1024);\n\tbuf \u003d (char *)ALIGN((unsigned long)b, 1024);\n\tmemset(buf, 0, BUFSIZE);\n\n\twhile (1)\n\t\tpwrite(fd, buf, BUFSIZE, offset);\n}\n\nint main(int argc, char *argv[])\n{\n\tint flags \u003d O_RDWR|O_DIRECT;\n\tint i;\n\tunsigned long offset \u003d 0;\n\n\tif (argc \u003e 1 \u0026\u0026 !strcmp(argv[1], \"O_SYNC\"))\n\t\tflags |\u003d O_SYNC;\n\n\tfd \u003d open(DEVICE, flags);\n\tif (fd \u003d\u003d -1) {\n\t\tperror(\"open\");\n\t\texit(1);\n\t}\n\n\tfor (i \u003d 0; i \u003c NR_THREADS-1; i++) {\n\t\tpthread_t tid;\n\t\tpthread_create(\u0026tid, NULL, doit, (void *)offset);\n\t\toffset +\u003d BUFSIZE;\n\t}\n\tdoit((void *)offset);\n\n\treturn 0;\n}\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb2162df74bb19552db3d988fd11c787cf5fad56",
      "tree": "9e35e26d36fbf552568fef213903956e5bc66c8c",
      "parents": [
        "93d5c9be1ddd57d4063ce463c9ac2be1e5ee14f1"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Apr 23 13:17:41 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:31:24 2010 -0700"
      },
      "message": "reiserfs: fix corruption during shrinking of xattrs\n\nCommit 48b32a3553a54740d236b79a90f20147a25875e3 (\"reiserfs: use generic\nxattr handlers\") introduced a problem that causes corruption when extended\nattributes are replaced with a smaller value.\n\nThe issue is that the reiserfs_setattr to shrink the xattr file was moved\nfrom before the write to after the write.\n\nThe root issue has always been in the reiserfs xattr code, but was papered\nover by the fact that in the shrink case, the file would just be expanded\nagain while the xattr was written.\n\nThe end result is that the last 8 bytes of xattr data are lost.\n\nThis patch fixes it to use new_size.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d14826\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nReported-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Edward Shishkin \u003cedward.shishkin@gmail.com\u003e\nCc: Jethro Beekman \u003ckernel@jbeekman.nl\u003e\nCc: Greg Surbey \u003cgregsurbey@hotmail.com\u003e\nCc: Marco Gatti \u003cmarco.gatti@gmail.com\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": "cac36f707119b792b2396aed371d6b5cdc194890",
      "tree": "ccb19a68ce1c1aa066d6d13dde51657cba906de6",
      "parents": [
        "33eaf788345c0311ab48ae62673c05f59fb09bb3"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Apr 23 13:17:37 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:31:24 2010 -0700"
      },
      "message": "reiserfs: fix permissions on .reiserfs_priv\n\nCommit 677c9b2e393a0cd203bd54e9c18b012b2c73305a (\"reiserfs: remove\nprivroot hiding in lookup\") removed the magic from the lookup code to hide\nthe .reiserfs_priv directory since it was getting loaded at mount-time\ninstead.  The intent was that the entry would be hidden from the user via\na poisoned d_compare, but this was faulty.\n\nThis introduced a security issue where unprivileged users could access and\nmodify extended attributes or ACLs belonging to other users, including\nroot.\n\nThis patch resolves the issue by properly hiding .reiserfs_priv.  This was\nthe intent of the xattr poisoning code, but it appears to have never\nworked as expected.  This is fixed by using d_revalidate instead of\nd_compare.\n\nThis patch makes -oexpose_privroot a no-op.  I\u0027m fine leaving it this way.\nThe effort involved in working out the corner cases wrt permissions and\ncaching outweigh the benefit of the feature.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nAcked-by: Edward Shishkin \u003cedward.shishkin@gmail.com\u003e\nReported-by: Matt McCutchen \u003cmatt@mattmccutchen.net\u003e\nTested-by: Matt McCutchen \u003cmatt@mattmccutchen.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\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": "3a3076f4d6e2fa31338a0b007df42a3b32f079e0",
      "tree": "58bb9ec51a2e99baf7b28cebd0c9d3df2fc1c7a7",
      "parents": [
        "1918ad77f7f908ed67cf37c505c6ad4ac52f1ecf"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 23 12:17:17 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 23 10:39:48 2010 -0700"
      },
      "message": "Cleanup generic block based fiemap\n\nThis cleans up a few of the complaints of __generic_block_fiemap.  I\u0027ve\nfixed all the typing stuff, used inline functions instead of macros,\ngotten rid of a couple of variables, and made sure the size and block\nrequests are all block aligned.  It also fixes a problem where sometimes\nFIEMAP_EXTENT_LAST wasn\u0027t being set properly.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "792590c72376649b4e315df386fd208b83db05b9",
      "tree": "fefe4c18d12b4ef9d1977998286da63e93d815b4",
      "parents": [
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun Apr 04 22:20:58 2010 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Fri Apr 23 02:54:54 2010 +0100"
      },
      "message": "squashfs: fix locking bug in zlib wrapper\n\nFix locking bug in zlib wrapper introduced by recent decompressor changes.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "71d0a6112a363e703e383ae5b12c492485c39701",
      "tree": "fc22ab92565fb61a37a77f829a82fa9b8ea6497f",
      "parents": [
        "cdd29ecfcb9554132cd94b82ae8b69ba37adb3b5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:57 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:57 2010 -0400"
      },
      "message": "NFS: Fix an unstable write data integrity race\n\nCommit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c (NFS: Ensure that the WRITE\nand COMMIT RPC calls are always uninterruptible) exposed a race on file\nclose. In order to ensure correct close-to-open behaviour, we want to wait\nfor all outstanding background commit operations to complete.\n\nThis patch adds an inode flag that indicates if a commit operation is under\nway, and provides a mechanism to allow -\u003ewrite_inode() to wait for its\ncompletion if this is a data integrity flush.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdd29ecfcb9554132cd94b82ae8b69ba37adb3b5",
      "tree": "c99d810b3346989b8dbd88c469aa5bd0c9871f5c",
      "parents": [
        "356e76b855bdbfd8d1c5e75bcf0c6bf0dfe83496"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 15:35:56 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:56 2010 -0400"
      },
      "message": "nfs: testing for null instead of ERR_PTR()\n\nnfs_path() returns an ERR_PTR(), it doesn\u0027t return null.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "356e76b855bdbfd8d1c5e75bcf0c6bf0dfe83496",
      "tree": "426179d91ee28629e781496ae90ececad1405422",
      "parents": [
        "1f063d2cdf332a8a5722006b1345d15d16007c6e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 22 15:35:56 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:56 2010 -0400"
      },
      "message": "NFS: rsize and wsize settings ignored on v4 mounts\n\nNFSv4 mounts ignore the rsize and wsize mount options, and always use\nthe default transfer size for both.  This seems to be because all\nNFSv4 mounts are now cloned, and the cloning logic doesn\u0027t copy the\nrsize and wsize settings from the parent nfs_server.\n\nI tested Fedora\u0027s 2.6.32.11-99 and it seems to have this problem as\nwell, so I\u0027m guessing that .33, .32, and perhaps older kernels have\nthis issue as well.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f063d2cdf332a8a5722006b1345d15d16007c6e",
      "tree": "4295c3fd46390f12e1ed2354998a91007f85fb13",
      "parents": [
        "3d7b08945e54a3a5358d5890240619a013cb7388"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:55 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:55 2010 -0400"
      },
      "message": "NFSv4: Don\u0027t attempt an atomic open if the file is a mountpoint\n\nFix https://bugzilla.kernel.org/show_bug.cgi?id\u003d15789\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d03859a4aca3969efd91dc77be7efa2ae45b05d8",
      "tree": "d0cef571e89763223e133315233333bb1a8f128d",
      "parents": [
        "5771635592267758e7dc5647f2a0088aa6244159"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 11:30:59 2010 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 12:03:02 2010 -0400"
      },
      "message": "nfsd: potential ERR_PTR dereference on exp_export() error paths.\n\nWe \"goto finish\" from several places where \"exp\" is an ERR_PTR.  Also I\nchanged the check for \"fsid_key\" so that it was consistent with the check\nI added.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5771635592267758e7dc5647f2a0088aa6244159",
      "tree": "71ffa3a85fe311d5eef591ba69e0bbe7d0b17edc",
      "parents": [
        "4b21d0defcc9680da8a694e92d5fe8eb668c2c0b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 21 12:27:19 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:35:14 2010 -0400"
      },
      "message": "nfsd4: complete enforcement of 4.1 op ordering\n\nEnforce the rules about compound op ordering.\n\nMotivated by implementing RECLAIM_COMPLETE, for which the client is\nimplicit in the current session, so it is important to ensure a\nsuccesful SEQUENCE proceeds the RECLAIM_COMPLETE.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4b21d0defcc9680da8a694e92d5fe8eb668c2c0b",
      "tree": "35684f814bbbc428236e0e542b292521e59f06e3",
      "parents": [
        "2bf23875f55af6038a5d1c164a52cec4c24609ba"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Mar 07 23:39:01 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: allow 4.0 clients to change callback path\n\nThe rfc allows a client to change the callback parameters, but we didn\u0027t\npreviously implement it.\n\nTeach the callbacks to rerun themselves (by placing themselves on a\nworkqueue) when they recognize that their rpc task has been killed and\nthat the callback connection has changed.\n\nThen we can change the callback connection by setting up a new rpc\nclient, modifying the nfs4 client to point at it, waiting for any work\nin progress to complete, and then shutting down the old client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2bf23875f55af6038a5d1c164a52cec4c24609ba",
      "tree": "b001fc6594833c6554c11836d23958c7c7049e35",
      "parents": [
        "b12a05cbdfdf7e4d8cbe8fa78e995f971420086b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 08 12:37:27 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: rearrange cb data structures\n\nMainly I just want to separate the arguments used for setting up the tcp\nclient from the rest.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b12a05cbdfdf7e4d8cbe8fa78e995f971420086b",
      "tree": "05f82bd2abf8ab0b688383c467b76db713cdcc09",
      "parents": [
        "b5a1a81e5c25fb6bb3fdc1812ba69ff6ab638fcf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 04 11:32:59 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: cl_count is unused\n\nNow that the shutdown sequence guarantees callbacks are shut down before\nthe client is destroyed, we no longer have a use for cl_count.\n\nWe\u0027ll probably reinstate a reference count on the client some day, but\nit will be held by users other than callbacks.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b5a1a81e5c25fb6bb3fdc1812ba69ff6ab638fcf",
      "tree": "c524a75d111f4060eb985161478362ac18c17169",
      "parents": [
        "3c4ab2aaa90826060b1e8d4036f9bb8325f8759e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 03 14:52:55 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:01 2010 -0400"
      },
      "message": "nfsd4: don\u0027t sleep in lease-break callback\n\nThe NFSv4 server\u0027s fl_break callback can sleep (dropping the BKL), in\norder to allocate a new rpc task to send a recall to the client.\n\nAs far as I can tell this doesn\u0027t cause any races in the current code,\nbut the analysis is difficult.  Also, the sleep here may complicate the\nmove away from the BKL.\n\nSo, just schedule some work to do the job for us instead.  The work will\nlater also prove useful for restarting a call after the callback\ninformation is changed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "424264b7b220e8eee165dc3080ae48692af73dec",
      "tree": "f946baadbb45ae77e76807df3d394aff88dcd801",
      "parents": [
        "f1970c73cbb6b884152207e4dfe90639f5029905"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:37:07 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:37:07 2010 +0200"
      },
      "message": "smbfs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f1970c73cbb6b884152207e4dfe90639f5029905",
      "tree": "86f8e8c1dc149b46b01e6235eb3f01c7c6c3d5b5",
      "parents": [
        "b3d0ab7e60d1865bb6f6a79a77aaba22f2543236"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:31:11 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:31:11 2010 +0200"
      },
      "message": "ncpfs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b3d0ab7e60d1865bb6f6a79a77aaba22f2543236",
      "tree": "bd770d63b01998b8ad1ee0f9fc463465b3586e8a",
      "parents": [
        "9df9c8b930156a2f9ce2b2ae66acb14bee2663f5"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:26:04 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:26:04 2010 +0200"
      },
      "message": "exofs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9df9c8b930156a2f9ce2b2ae66acb14bee2663f5",
      "tree": "35992d372a4587600f93c399eaa12b7c7bd77cbf",
      "parents": [
        "5163d90076729413cb882d3dd5c3d3cfb5b9f035"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:22:04 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:22:04 2010 +0200"
      },
      "message": "ecryptfs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5163d90076729413cb882d3dd5c3d3cfb5b9f035",
      "tree": "b2e3419e481f4373bb511642953f6faca5157a51",
      "parents": [
        "8044f7f468469c80031611206d554f86fcdfe704"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:12:40 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:12:40 2010 +0200"
      },
      "message": "coda: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8044f7f468469c80031611206d554f86fcdfe704",
      "tree": "addf1e66fbd891c46388b25d1f072a67fed69c16",
      "parents": [
        "e1da0222753a2322d76c97fc02396fb83143c7ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:09:48 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:09:48 2010 +0200"
      },
      "message": "cifs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e1da0222753a2322d76c97fc02396fb83143c7ac",
      "tree": "cba5f8058b48cc0f6c6647e3f217bf0cfb7b60ef",
      "parents": [
        "0ed07ddb56d1348e5ce33f3b8de20d730351983a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:58:18 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:58:18 2010 +0200"
      },
      "message": "afs: add bdi backing to mount session.\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0ed07ddb56d1348e5ce33f3b8de20d730351983a",
      "tree": "2a1487252e9ecd6fe5b7ff87d9b035f040ab8ff1",
      "parents": [
        "c3c532061e46156e8aab1268f38d66cfb63aeb2d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:42:00 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:42:00 2010 +0200"
      },
      "message": "9p: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1ef6ce7a340f9ed139a73147ff9cf7ad56889414",
      "tree": "a77e01134ae46b79262dbf97614df7be920965f2",
      "parents": [
        "458f8c895beba63851281dcdac3773685f0fae09",
        "2545cf6e94b4eb5a2c48dd55751aa9a70ff1ff9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:33:12 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: allow 4 coldfire serial ports\n  m68knommu: fix coldfire tcdrain\n  m68knommu: remove a duplicate vector setting line for 68360\n  Fix m68k-uclinux\u0027s rt_sigreturn trampoline\n  m68knommu: correct the CC flags for Coldfire M5272 targets\n  uclinux: error message when FLAT reloc symbol is invalid, v2\n"
    },
    {
      "commit": "255f41c59558a346d65a2012420a7573e36dc584",
      "tree": "a802e21e60c7e342ad72319853b64e214091b6a9",
      "parents": [
        "9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0",
        "b6349ac89eacb813f6963f7263da05bc3f483351"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Split large truncated into smaller chunks\n  [LogFS] Set s_bdi\n  [LogFS] Prevent mempool_destroy NULL pointer dereference\n  [LogFS] Move assertion\n  [LogFS] Plug 8 byte information leak\n  [LogFS] Prevent memory corruption on large deletes\n  [LogFS] Remove unused method\n\nFix trivial conflict with added header includes in fs/logfs/super.c\n"
    },
    {
      "commit": "9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0",
      "tree": "1270f24f89f10d832e879dd1352ef0209dd3aebe",
      "parents": [
        "a486b0af797e19ff79c6943cc8986111f2569fe8",
        "c7f2e1f0ac142a657a1de00d404e1c8345b20598"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:30:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:30:07 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: add jfs specific -\u003esetattr call\n  jfs: fix diAllocExt error in resizing filesystem\n  jfs_dmap.[ch]: trivial typo fix: s/heigth/height/g\n"
    },
    {
      "commit": "083fd8b21a13742b37ab347089c73f895a896672",
      "tree": "175030e7b74d83d768529b9d910b852f097a71c7",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 21 12:01:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:27:43 2010 -0700"
      },
      "message": "AFS: Don\u0027t pass error value to page_cache_release() in error handling\n\nIn the error handling in afs_mntpt_do_automount(), we pass an error\npointer to page_cache_release() if read_mapping_page() failed.  Instead,\nwe should extend the gotos around the error handling we don\u0027t need.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7dfee3f5db5575b1d838744559c3c9bb351f74f",
      "tree": "8b134f197ee41daeac6a8563f51ce3c6156c0257",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Jun Sun",
        "email": "jsun@junsun.net",
        "time": "Thu Dec 31 17:28:52 2009 -0800"
      },
      "committer": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Wed Apr 21 13:28:49 2010 +1000"
      },
      "message": "uclinux: error message when FLAT reloc symbol is invalid, v2\n\nThis patch fixes a cosmetic error in printk. Text segment and data/bss\nsegment are allocated from two different areas. It is not meaningful to\ngive the diff between them in the error reporting messages.\n\nSigned-off-by: Jun Sun \u003cjsun@junsun.net\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\n"
    },
    {
      "commit": "b90f687018e6d6c77d981b09203780f7001407e5",
      "tree": "d2e2b36b4d88d2098000fcb56cc56e5d2e74fdf1",
      "parents": [
        "fd2dd9fbaf9e498ec63eef298921e36556f7214c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 20 16:51:59 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 20 16:51:59 2010 -0400"
      },
      "message": "ext4: Issue the discard operation *before* releasing the blocks to be reused\n\nOtherwise, we can end up having data corruption because the blocks\ncould get reused and then discarded!\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15579\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b6349ac89eacb813f6963f7263da05bc3f483351",
      "tree": "6027a84ee332ea1598d1ac66d9345770da38d5fe",
      "parents": [
        "b8639077abf034824046ed09e779b74c4393031f"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 20 21:44:10 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 20 21:44:10 2010 +0200"
      },
      "message": "[LogFS] Split large truncated into smaller chunks\n\nTruncate would do an almost limitless amount of work without invoking\nthe garbage collector in between.  Split it up into more manageable,\nthough still large, chunks.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa",
      "tree": "e1c4331ac8db1c28d3ea4c055353c783cf7f01ac",
      "parents": [
        "27ee8963708185b96bc84a149eb5336a249a7497",
        "62af9b520513d78484f22f874916dfacbc889ce0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 20 09:39:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 20 09:39:40 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert __DQUOT_PARANOIA symbol to standard config option\n"
    },
    {
      "commit": "62af9b520513d78484f22f874916dfacbc889ce0",
      "tree": "e5c13d868166380105c3d491b8d380fe220e6484",
      "parents": [
        "08261673cb6dc638c39f44d69b76fffb57b92a8b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 19 16:47:20 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 20 18:25:25 2010 +0200"
      },
      "message": "quota: Convert __DQUOT_PARANOIA symbol to standard config option\n\nMake __DQUOT_PARANOIA define from the old days a standard config option\nand turn it off by default.\n\nThis gets rid of a quota warning about writes before quota is turned on\nfor systems with ext4 root filesystem. Currently there\u0027s no way to legally\nsolve this because /etc/mtab has to be written before quota is turned on\non most systems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9b030e2006546366c832911ca5eb9e785408795b",
      "tree": "fe2b5913249c047fc8d7f851f7a6a0049825e2d3",
      "parents": [
        "76e506a754c9519ba0a948b475a62f31fac8b599",
        "9f37622f897a90ad3c3da5c14d94d8f3ffc62b70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 14:20:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 14:20:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Turn lower lookup error messages into debug messages\n  eCryptfs: Copy lower directory inode times and size on link\n  ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode\n  ecryptfs: fix error code for missing xattrs in lower fs\n  eCryptfs: Decrypt symlink target for stat size\n  eCryptfs: Strip metadata in xattr flag in encrypted view\n  eCryptfs: Clear buffer before reading in metadata xattr\n  eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front\n  eCryptfs: Fix metadata in xattr feature regression\n"
    },
    {
      "commit": "9f37622f897a90ad3c3da5c14d94d8f3ffc62b70",
      "tree": "dbed84aa76784f22b20c0fee847b43c15dd29f72",
      "parents": [
        "3a8380c0754a7972668a46f645930910e304095c"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Mar 25 11:16:56 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:18 2010 -0500"
      },
      "message": "eCryptfs: Turn lower lookup error messages into debug messages\n\nVaugue warnings about ENAMETOOLONG errors when looking up an encrypted\nfile name have caused many users to become concerned about their data.\nSince this is a rather harmless condition, I\u0027m moving this warning to\nonly be printed when the ecryptfs_verbosity module param is 1.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a8380c0754a7972668a46f645930910e304095c",
      "tree": "85bc2f8551aa121f0a40f4b5bb24b7c58da35b16",
      "parents": [
        "133b8f9d632cc23715c6d72d1c5ac449e054a12a"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Mar 23 18:09:02 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:15 2010 -0500"
      },
      "message": "eCryptfs: Copy lower directory inode times and size on link\n\nThe timestamps and size of a lower inode involved in a link() call was\nbeing copied to the upper parent inode.  Instead, we should be\ncopying lower parent inode\u0027s timestamps and size to the upper parent\ninode.  I discovered this bug using the POSIX test suite at Tuxera.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "133b8f9d632cc23715c6d72d1c5ac449e054a12a",
      "tree": "4559634958e6da3f7a3e2b5ae1229b9e3924d5fa",
      "parents": [
        "cfce08c6bdfb20ade979284e55001ca1f100ed51"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@jeffreymahoney.com",
        "time": "Fri Mar 19 15:35:46 2010 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:13 2010 -0500"
      },
      "message": "ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode\n\nSince tmpfs has no persistent storage, it pins all its dentries in memory\nso they have d_count\u003d1 when other file systems would have d_count\u003d0.\n-\u003elookup is only used to create new dentries. If the caller doesn\u0027t\ninstantiate it, it\u0027s freed immediately at dput(). -\u003ereaddir reads\ndirectly from the dcache and depends on the dentries being hashed.\n\nWhen an ecryptfs mount is mounted, it associates the lower file and dentry\nwith the ecryptfs files as they\u0027re accessed. When it\u0027s umounted and\ndestroys all the in-memory ecryptfs inodes, it fput\u0027s the lower_files and\nd_drop\u0027s the lower_dentries. Commit 4981e081 added this and a d_delete in\n2008 and several months later commit caeeeecf removed the d_delete. I\nbelieve the d_drop() needs to be removed as well.\n\nThe d_drop effectively hides any file that has been accessed via ecryptfs\nfrom the underlying tmpfs since it depends on it being hashed for it to\nbe accessible. I\u0027ve removed the d_drop on my development node and see no\nill effects with basic testing on both tmpfs and persistent storage.\n\nAs a side effect, after ecryptfs d_drops the dentries on tmpfs, tmpfs\nBUGs on umount. This is due to the dentries being unhashed.\ntmpfs-\u003ekill_sb is kill_litter_super which calls d_genocide to drop\nthe reference pinning the dentry. It skips unhashed and negative dentries,\nbut shrink_dcache_for_umount_subtree doesn\u0027t. Since those dentries\nstill have an elevated d_count, we get a BUG().\n\nThis patch removes the d_drop call and fixes both issues.\n\nThis issue was reported at:\nhttps://bugzilla.novell.com/show_bug.cgi?id\u003d567887\n\nReported-by:  Árpád Bíró \u003cbiroa@demasz.hu\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cfce08c6bdfb20ade979284e55001ca1f100ed51",
      "tree": "598510daaec037baf1088533cd366b5f37c05a1c",
      "parents": [
        "3a60a1686f0d51c99bd0df8ac93050fb6dfce647"
      ],
      "author": {
        "name": "Christian Pulvermacher",
        "email": "pulvermacher@gmx.de",
        "time": "Tue Mar 23 11:51:38 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:42:09 2010 -0500"
      },
      "message": "ecryptfs: fix error code for missing xattrs in lower fs\n\nIf the lower file system driver has extended attributes disabled,\necryptfs\u0027 own access functions return -ENOSYS instead of -EOPNOTSUPP.\nThis breaks execution of programs in the ecryptfs mount, since the\nkernel expects the latter error when checking for security\ncapabilities in xattrs.\n\nSigned-off-by: Christian Pulvermacher \u003cpulvermacher@gmx.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a60a1686f0d51c99bd0df8ac93050fb6dfce647",
      "tree": "8b1a32c122e86022f6397a9f5e82900783717aab",
      "parents": [
        "f4e60e6b303bc46cdc477d3174dbf9cb5dd013aa"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Mar 22 00:41:35 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 19 14:41:51 2010 -0500"
      },
      "message": "eCryptfs: Decrypt symlink target for stat size\n\nCreate a getattr handler for eCryptfs symlinks that is capable of\nreading the lower target and decrypting its path.  Prior to this patch,\na stat\u0027s st_size field would represent the strlen of the encrypted path,\nwhile readlink() would return the strlen of the decrypted path.  This\ncould lead to confusion in some userspace applications, since the two\nvalues should be equal.\n\nhttps://bugs.launchpad.net/bugs/524919\n\nReported-by: Loïc Minier \u003cloic.minier@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3c4ab2aaa90826060b1e8d4036f9bb8325f8759e",
      "tree": "6575a63b8f33e23f0a85e28a7f08f96193549f1e",
      "parents": [
        "408b79bcc32d7221a4975771ab6bff3d3173d530"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:12:51 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:12:51 2010 -0400"
      },
      "message": "nfsd4: indentation cleanup\n\nLooks like a put-and-paste mistake.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b8639077abf034824046ed09e779b74c4393031f",
      "tree": "4b880158818468024f6e8e09cba5b3a76ca994b9",
      "parents": [
        "1f1b0008e8dd1930d6e89522c70f4a438374302a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat Apr 17 19:54:27 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sat Apr 17 19:54:27 2010 +0200"
      },
      "message": "[LogFS] Set s_bdi\n\nSince 32a88aa1 sync() was turned into a NOP for logfs.  Worse, sync()\nwould not return an error, giving the illusion that writeout had\nactually happened.\n\nAfaics jffs2 was broken as well.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "408b79bcc32d7221a4975771ab6bff3d3173d530",
      "tree": "b39fb803b110f524601693c7faf8f95c94371ef4",
      "parents": [
        "9045b4b9f7f340f43de0cf687b5b52f6feaaa984"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 15 15:11:09 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 16 21:47:37 2010 -0400"
      },
      "message": "nfsd4: consistent session flag setting\n\nWe should clear these flags on any new create_session, not just on the\nfirst one.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f1d486a3617a2f620b31224e4ace1496c4627e39",
      "tree": "82eae8ca41e529690c2b71d712e886161e786e6b",
      "parents": [
        "b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 13 15:06:45 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 16 13:51:44 2010 -0500"
      },
      "message": "xfs: don\u0027t warn on EAGAIN in inode reclaim\n\nAny inode reclaim flush that returns EAGAIN will result in the inode\nreclaim being attempted again later. There is no need to issue a\nwarning into the logs about this situation.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b",
      "tree": "75e492661ba039ce6a2d36277cccc41a27205384",
      "parents": [
        "dc57da3875f527b1cc195ea4ce5bd32e1e68433d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 13 15:06:44 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 16 13:51:23 2010 -0500"
      },
      "message": "xfs: ensure that sync updates the log tail correctly\n\nUpdates to the VFS layer removed an extra -\u003esync_fs call into the\nfilesystem during the sync process (from the quota code).\nUnfortunately the sync code was unknowingly relying on this call to\nmake sure metadata buffers were flushed via a xfs_buftarg_flush()\ncall to move the tail of the log forward in memory before the final\ntransactions of the sync process were issued.\n\nAs a result, the old code would write a very recent log tail value\nto the log by the end of the sync process, and so a subsequent crash\nwould leave nothing for log recovery to do. Hence in qa test 182,\nlog recovery only replayed a small handle for inode fsync\ntransactions in this case.\n\nHowever, with the removal of the extra -\u003esync_fs call, the log tail\nwas now not moved forward with the inode fsync transactions near the\nend of the sync procese the first (and only) buftarg flush occurred\nafter these transactions went to disk. The result is that log\nrecovery now sees a large number of transactions for metadata that\nis already on disk.\n\nThis usually isn\u0027t a problem, but when the transactions include\ninode chunk allocation, the inode create transactions and all\nsubsequent changes are replayed as we cannt rely on what is on disk\nis valid. As a result, if the inode was written and contains\nunlogged changes, the unlogged changes are lost, thereby violating\nsync semantics.\n\nThe fix is to always issue a transaction after the buftarg flush\noccurs is the log iѕ not idle or covered. This results in a dummy\ntransaction being written that contains the up-to-date log tail\nvalue, which will be very recent. Indeed, it will be at least as\nrecent as the old code would have left on disk, so log recovery\nwill behave exactly as it used to in this situation.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c7f2e1f0ac142a657a1de00d404e1c8345b20598",
      "tree": "3afb52c22b24f2f31ec7c5638d87ab8bb1f04598",
      "parents": [
        "2b0b39517d1af5294128dbc2fd7ed39c8effa540"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Apr 16 08:05:50 2010 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Fri Apr 16 08:05:50 2010 -0500"
      },
      "message": "jfs: add jfs specific -\u003esetattr call\n\ngeneric setattr not longer responsible for quota transfer.\nuse jfs_setattr for all jfs\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2b0b39517d1af5294128dbc2fd7ed39c8effa540",
      "tree": "f210f174aec2531294b6fbdb3890dffc709e32b9",
      "parents": [
        "d7eecb483cc29e929bbc5515b8def830d7fc6ad2"
      ],
      "author": {
        "name": "Bill Pemberton",
        "email": "wfp5p@virginia.edu",
        "time": "Fri Apr 16 08:01:20 2010 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Fri Apr 16 08:01:20 2010 -0500"
      },
      "message": "jfs: fix diAllocExt error in resizing filesystem\n\nResizing the filesystem would result in an diAllocExt error in some\ninstances because changes in bmp-\u003edb_agsize would not get noticed if\ngoto extendBmap was called.\n\nSigned-off-by: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: jfs-discussion@lists.sourceforge.net\nCc: linux-kernel@vger.kernel.org\n"
    },
    {
      "commit": "1f1b0008e8dd1930d6e89522c70f4a438374302a",
      "tree": "fb35404bdb4db79925891779e3be118eca8e85dd",
      "parents": [
        "ead88af5f577fd2b399a0fcdfe52605116fac489"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 15 08:03:57 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Apr 15 08:03:57 2010 +0200"
      },
      "message": "[LogFS] Prevent mempool_destroy NULL pointer dereference\n\nIt would probably be better to just accept NULL pointers in\nmempool_destroy().  But for the current -rc series let\u0027s keep things\nsimple.\n\nThis patch was lost in the cracks for a while.\nKevin Cernekee \u003ccernekee@gmail.com\u003e had to rediscover the problem and\nsend a similar patch because of it. :(\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "96e35b40c0d6206f56370f937f6f4722739eb273",
      "tree": "2c387b6e3f628484a1f4bdc964e529f89d5f5821",
      "parents": [
        "f5c07a2d8acfc98e00d3be6298f979e5b3175953",
        "a6a5349d17f2a5c37079826f1a1474c3d08c6b53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 14 18:45:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 14 18:45:31 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: use separate class for ceph sockets\u0027 sk_lock\n  ceph: reserve one more caps space when doing readdir\n  ceph: queue_cap_snap should always queue dirty context\n  ceph: fix dentry reference leak in dcache readdir\n  ceph: decode v5 of osdmap (pool names) [protocol change]\n  ceph: fix ack counter reset on connection reset\n  ceph: fix leaked inode ref due to snap metadata writeback race\n  ceph: fix snap context reference leaks\n  ceph: allow writeback of snapped pages older than \u0027oldest\u0027 snapc\n  ceph: fix dentry rehashing on virtual .snap dir\n"
    },
    {
      "commit": "0fdfe5ad2802e747460bf48eb2eb0ca3d3f3af42",
      "tree": "1358c7920438e090605695f6fb8e7989eb3f8998",
      "parents": [
        "44d2d371d250b44cbe40f8d47e329c97668d7594",
        "0df5dd4aae211edeeeb84f7f84f6d093406d7c22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 13 15:10:16 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: fix delegated locking\n  NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible\n  NFS: Fix a race with the new commit code\n  NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\n  NFS: Fix the mode calculation in nfs_find_open_context\n  NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\n"
    },
    {
      "commit": "a6a5349d17f2a5c37079826f1a1474c3d08c6b53",
      "tree": "3b37dadbf297abdd65b3f63ac8e94a6137098198",
      "parents": [
        "e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 14:07:07 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 14:07:07 2010 -0700"
      },
      "message": "ceph: use separate class for ceph sockets\u0027 sk_lock\n\nUse a separate class for ceph sockets to prevent lockdep confusion.\nBecause ceph sockets only get passed kernel pointers, there is no\ndependency from sk_lock -\u003e mmap_sem.  If we share the same class as other\nsockets, lockdep detects a circular dependency from\n\n\tmmap_sem (page fault) -\u003e fs mutex -\u003e sk_lock -\u003e mmap_sem\n\nbecause dependencies are noted from both ceph and user contexts.  Using\na separate class prevents the sk_lock(ceph) -\u003e mmap_sem dependency and\nmakes lockdep happy.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf",
      "tree": "028dcbe599b2ecd0a08519e741298a7a5fcb701d",
      "parents": [
        "fc837c8f0446b73a1661339db406c0238dd1d184"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 13 11:45:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 12:28:54 2010 -0700"
      },
      "message": "ceph: reserve one more caps space when doing readdir\n\nWe were missing space for the directory cap.  The result was a BUG at\nfs/ceph/caps.c:2178.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fc837c8f0446b73a1661339db406c0238dd1d184",
      "tree": "5cc1e6b97a8f39f7979eb302ac8a090c812f2609",
      "parents": [
        "f5b066287c74b624583b993395a65d03a6487b3a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 11:41:22 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 13 12:28:31 2010 -0700"
      },
      "message": "ceph: queue_cap_snap should always queue dirty context\n\nThis simplifies the calling convention, and fixes a bug where we queue a\ncapsnap with a context other than i_head_snapc (the one that matches the\ndirty pages).  The result was a BUG at fs/ceph/caps.c:2178 on writeback\ncompletion when a capsnap matching the writeback snapc could not be found.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ead88af5f577fd2b399a0fcdfe52605116fac489",
      "tree": "498379d96c24f3180f99592700e9e017b962e688",
      "parents": [
        "d3a03f8031000f8297823b80e36db536fd020884"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:57:21 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:57:21 2010 +0200"
      },
      "message": "[LogFS] Move assertion\n\nThe assertion is valid independently of the condition.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d3a03f8031000f8297823b80e36db536fd020884",
      "tree": "d717a209e3cf2695d1a08c104296d0bd4544ee41",
      "parents": [
        "032d8f7268444a0f5d4ee02d9513d682d5b8edfc"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:54:27 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:54:27 2010 +0200"
      },
      "message": "[LogFS] Plug 8 byte information leak\n\nWithin each journal segment, 8 bytes at offset 24 would remain\nuninitialized.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "032d8f7268444a0f5d4ee02d9513d682d5b8edfc",
      "tree": "57cd841514abb9ffe7df7d2569513663f551f960",
      "parents": [
        "e05c378f4973674a16d5b9636f2310cf88aca5f2"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:46:37 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Apr 13 17:46:37 2010 +0200"
      },
      "message": "[LogFS] Prevent memory corruption on large deletes\n\nRemoving sufficiently large files would create aliases for a large\nnumber of segments.  This in turn results in a large number of journal\nentries and an overflow of s_je_array.\n\nCheap fix is to add a BUG_ON, turning memory corruption into something\nannoying, but less dangerous.  Real fix is to count the number of\naffected segments and prevent the problem completely.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d6cf853d4d73c268fc8920ac4e812ee26a12847c",
      "tree": "c909145638eb5c4897ea7e424759eb9b564ebe18",
      "parents": [
        "6a945f38be5f2c198853069a336c887a51d1a238",
        "9f680ce04ea19dabbbafe01b57b61930a9b70741"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:37:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:37:04 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: make sure the chunk allocator doesn\u0027t create zero length chunks\n  Btrfs: fix data enospc check overflow\n"
    },
    {
      "commit": "6a945f38be5f2c198853069a336c887a51d1a238",
      "tree": "439a2082a75d8496dbc9cfe6f661df4b86ea43ba",
      "parents": [
        "50fc88cb03786a79e9982d9d8dfb3fd225de9099",
        "08261673cb6dc638c39f44d69b76fffb57b92a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:49 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix possible dq_flags corruption\n  quota: Hide warnings about writes to the filesystem before quota was turned on\n  ext3: symlink must be handled via filesystem specific operation\n  ext2: symlink must be handled via filesystem specific operation\n"
    },
    {
      "commit": "50fc88cb03786a79e9982d9d8dfb3fd225de9099",
      "tree": "1d1812c58ab4dd5d5ddc9b75383618e24a00364e",
      "parents": [
        "4505a4938917f4872efcc90bc1e5f4f0ce903b47",
        "c15d0fc0fc399d2639240b35ad7ed93ed5a59412"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 12 18:36:34 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: add speciffic -\u003esetattr callback\n  udf: potential integer overflow\n"
    }
  ],
  "next": "44fa2b4bee5b07d506a7b002b4e2eb73654db7e0"
}
