)]}'
{
  "log": [
    {
      "commit": "b545787dbb00a041c541a4759d938ddb0108295a",
      "tree": "7d64ee98012ee45726b79a32ed815e06c83c4ef9",
      "parents": [
        "e072f8aa3587710cd35cce0f6b6efd7b4276c327"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Aug 26 11:12:38 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:50 2010 -0700"
      },
      "message": "ceph: fix get_ticket_handler() error handling\n\nget_ticket_handler() returns a valid pointer or it returns\nERR_PTR(-ENOMEM) if kzalloc() fails.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e072f8aa3587710cd35cce0f6b6efd7b4276c327",
      "tree": "a0455b3ed1d76880a6553d39f017081a1832f5ba",
      "parents": [
        "f44c3890d9fd6e4284518ff3bb16879fee194a3a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:37 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:26:37 2010 -0700"
      },
      "message": "ceph: don\u0027t BUG on ENOMEM during mds reconnect\n\nWe are in a position to return an error; do that instead.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f44c3890d9fd6e4284518ff3bb16879fee194a3a",
      "tree": "d4b0415abdc334a02454326c05d93c91c2555368",
      "parents": [
        "ad8453ab0a5b98884074302ba3cc37664791e261"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Aug 26 11:07:24 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 26 09:24:28 2010 -0700"
      },
      "message": "ceph: ceph_mdsc_build_path() returns an ERR_PTR\n\nceph_mdsc_build_path() returns an ERR_PTR but this code is set up to\nhandle NULL returns.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ad8453ab0a5b98884074302ba3cc37664791e261",
      "tree": "3e90b914db42bfa8b476b1d46aef7baee4adebb3",
      "parents": [
        "ac1f12ef569d49b013c3db86e11be7e15d66b1c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Aug 25 13:26:32 2010 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 25 12:02:14 2010 -0700"
      },
      "message": "ceph: Fix warnings\n\nJust scrubbing some warnings so I can see real problem ones in the build\nnoise. For 32bit we need to coax gcc politely into believing we really\nhonestly intend to the casts. Using (u64)(unsigned long) means we cast from\na pointer to a type of the right size and then extend it. This stops the\nwarning spew.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ac1f12ef569d49b013c3db86e11be7e15d66b1c3",
      "tree": "79ca92f4f4c08a14629ff6b2b3b74d2eb7fac5eb",
      "parents": [
        "36e21687e6e51c4225c42e6291938363f7bbfa7c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 25 09:11:35 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 25 12:01:54 2010 -0700"
      },
      "message": "ceph: ceph_get_inode() returns an ERR_PTR\n\nceph_get_inode() returns an ERR_PTR and it doesn\u0027t return a NULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "36e21687e6e51c4225c42e6291938363f7bbfa7c",
      "tree": "15f30bf1e622b564b6663217cf99c75aad03fae3",
      "parents": [
        "7d8cb26d7dcb911f110b7762bd5941e8f009d6c3"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:23:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:24:19 2010 -0700"
      },
      "message": "ceph: initialize fields on new dentry_infos\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7d8cb26d7dcb911f110b7762bd5941e8f009d6c3",
      "tree": "2adf2f6303cc96ff14c951dc6966f68a0fc3cf25",
      "parents": [
        "07a27e226d1ed210d2d4218bd0642b40f5405c6a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 08:44:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 24 16:24:18 2010 -0700"
      },
      "message": "ceph: maintain i_head_snapc when any caps are dirty, not just for data\n\nWe used to use i_head_snapc to keep track of which snapc the current epoch\nof dirty data was dirtied under.  It is used by queue_cap_snap to set up\nthe cap_snap.  However, since we queue cap snaps for any dirty caps, not\njust for dirty file data, we need to keep a valid i_head_snapc anytime\nwe have dirty|flushing caps.  This fixes a NULL pointer deref in\nqueue_cap_snap when writing back dirty caps without data (e.g.,\nsnaptest-authwb.sh).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "07a27e226d1ed210d2d4218bd0642b40f5405c6a",
      "tree": "7b24e5b3b88d8e682b70684b0df7ee0db333fe46",
      "parents": [
        "124514918b030d74f1f3e15483b7bf3b85268082"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "message": "ceph: fix osd request lru adjustment when sending request\n\nFix argument order.  We want to move the item to the end of the list, not\nchange the position of the head.\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "124514918b030d74f1f3e15483b7bf3b85268082",
      "tree": "78f539354383bf0820dc1cb20fd752b63f74760c",
      "parents": [
        "679ceace848e9fd570678396ffe1ef034e00e82d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:33:32 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:33:32 2010 -0700"
      },
      "message": "ceph: don\u0027t improperly set dir complete when holding EXCL cap\n\nIf we hold the EXCL cap, we cannot trust the dir stats from the MDS (num\nfiles, subdirs) and must not incorrectly conclude that the directory is\nempty.  If we do, we get can bad results from lookup (bad ENOENT) and\nbad readdir results.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "679ceace848e9fd570678396ffe1ef034e00e82d",
      "tree": "670768527852f134cfe3e20d425534a16edd968a",
      "parents": [
        "eb6bb1c5bdc6e455a9d16cb845cc65afc9b0a617"
      ],
      "author": {
        "name": "Michael Rubin",
        "email": "mrubin@google.com",
        "time": "Fri Aug 20 02:31:26 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:51 2010 -0700"
      },
      "message": "mm: exporting account_page_dirty\n\nThis allows code outside of the mm core to safely manipulate page state\nand not worry about the other accounting. Not using these routines means\nthat some code will lose track of the accounting and we get bugs. This\nhas happened once already.\n\nSigned-off-by: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "eb6bb1c5bdc6e455a9d16cb845cc65afc9b0a617",
      "tree": "8bbdd454c7a528b7a9f7d84bf084311b7433757f",
      "parents": [
        "ed326044489ed89c740c50a3df5dffc9c3b20b96"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 16 09:21:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:48 2010 -0700"
      },
      "message": "ceph: direct requests in snapped namespace based on nonsnap parent\n\nWhen making a request in the virtual snapdir or a snapped portion of the\nnamespace, we should choose the MDS based on the first nonsnap parent (and\nits caps).  If that is not the best place, we will get forward hints to\nfind the right MDS in the cluster.  This fixes ESTALE errors when using\nthe .snap directory and namespace with multiple MDSs.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed326044489ed89c740c50a3df5dffc9c3b20b96",
      "tree": "364fb2896488cd2c7964960e01fa123d2b6ecb51",
      "parents": [
        "4a625be47243e0e07dedd0a1a6b94c66c2ab93ba"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 16 13:37:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:47 2010 -0700"
      },
      "message": "ceph: queue cap snap writeback for realm children on snap update\n\nWhen a realm is updated, we need to queue writeback on inodes in that\nrealm _and_ its children.  Otherwise, if the inode gets cowed on the\nserver, we can get a hang later due to out-of-sync cap/snap state.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4a625be47243e0e07dedd0a1a6b94c66c2ab93ba",
      "tree": "4224efef4f83bcf629934d6da17d2c122b49ba5c",
      "parents": [
        "082afec92d1052305af1195f591602f4d0f44277"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:03:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:46 2010 -0700"
      },
      "message": "ceph: include dirty xattrs state in snapped caps\n\nWhen we snapshot dirty metadata that needs to be written back to the MDS,\ninclude dirty xattr metadata.  Make the capsnap reference the encoded\nxattr blob so that it will be written back in the FLUSHSNAP op.\n\nAlso fix the capsnap creation guard to include dirty auth or file bits,\nnot just tests specific to dirty file data or file writes in progress\n(this fixes auth metadata writeback).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "082afec92d1052305af1195f591602f4d0f44277",
      "tree": "7012fc71ac7be7bd88f2b0d92f27a3ba46c354de",
      "parents": [
        "f3c60c5918f26ea16761ddc8b12d8401a3db626b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:41 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:16:41 2010 -0700"
      },
      "message": "ceph: fix xattr cap writeback\n\nWe should include the xattr metadata blob in the cap update message any\ntime we are flushing dirty state, NOT just when we are also dropping the\ncap.  This fixes async xattr writeback.\n\nAlso, clean up the code slightly to avoid duplicating the bit test.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f3c60c5918f26ea16761ddc8b12d8401a3db626b",
      "tree": "00bde7250b6753910a38b454c7a9cee2eb7e84e7",
      "parents": [
        "e56fa10e92e077d456cbc33b7025032887772b33"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 11 14:51:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 15:04:43 2010 -0700"
      },
      "message": "ceph: fix multiple mds session shutdown\n\nThe use of a completion when waiting for session shutdown during umount is\ninappropriate, given the complexity of the condition.  For multiple MDS\u0027s,\nthis resulted in the umount thread spinning, often preventing the session\nclose message from being processed in some cases.\n\nSwitch to a waitqueue and defined a condition helper.  This cleans things\nup nicely.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e56fa10e92e077d456cbc33b7025032887772b33",
      "tree": "ada8fefc9fdbe457a6f387b05e984478065a698b",
      "parents": [
        "0eb6cd49f6e3ec523787d09cf08d3179be270db4"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon May 17 12:40:28 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 10 14:41:25 2010 -0700"
      },
      "message": "ceph: generalize mon requests, add pool op support\n\nGeneralize the current statfs synchronous requests, and support pool_ops.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0eb6cd49f6e3ec523787d09cf08d3179be270db4",
      "tree": "7974963003e0b8ef26fdfb3a8120c6b4b588a01b",
      "parents": [
        "e9d177443134bc4ac1c1393af69e2a8704bcac09"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 05 13:53:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 05 13:53:40 2010 -0700"
      },
      "message": "ceph: only queue async writeback on cap revocation if there is dirty data\n\nNormally, if the Fb cap bit is being revoked, we queue an async writeback.\nIf there is no dirty data but we still hold the cap, this leaves the\nclient sitting around doing nothing until the cap timeouts expire and the\ncap is released on its own (as it would have been without the revocation).\n\nInstead, only queue writeback if the bit is actually used (i.e., we have\ndirty data).  If not, we can reply to the revocation immediately.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e9d177443134bc4ac1c1393af69e2a8704bcac09",
      "tree": "77da337352fe11a62b1f712c30d28105175b4378",
      "parents": [
        "52dfb8ac0ef41168c1a10590b7259a5ab1cd2ab7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 16:23:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 12:56:57 2010 -0700"
      },
      "message": "ceph: do not ignore osd_idle_ttl mount option\n\nActually apply the mount option to the mount_args struct.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "52dfb8ac0ef41168c1a10590b7259a5ab1cd2ab7",
      "tree": "b559e3232c32a1d5e97785aea6f9ccafbba054ce",
      "parents": [
        "213c99ee0cf17ff0fbffb6fb540bd29615cd19d5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:30 2010 -0700"
      },
      "message": "ceph: constify dentry_operations\n\nThis makes checkpatch happy.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "213c99ee0cf17ff0fbffb6fb540bd29615cd19d5",
      "tree": "168f72ba71feff5bf24707be622135b1016cdff5",
      "parents": [
        "40819f6fb227c1832935b775ac22aef10aa6f6dd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:11 2010 -0700"
      },
      "message": "ceph: whitespace cleanup\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "40819f6fb227c1832935b775ac22aef10aa6f6dd",
      "tree": "14f3e73f9585cc157ab2daab487c7b3964394fe2",
      "parents": [
        "fbaad9797a761c2d5ff6e755bbb4c046207a1ca2"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 15:34:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 16:10:53 2010 -0700"
      },
      "message": "ceph: add flock/fcntl lock support\n\nImplement flock inode operation to support advisory file locking.  All\nlock/unlock operations are synchronous with the MDS.  Lock state is\nsent when reconnecting to a recovering MDS to restore the shared lock\nstate.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fbaad9797a761c2d5ff6e755bbb4c046207a1ca2",
      "tree": "abe5e3668294922e70282dab9c36072cac1939c9",
      "parents": [
        "c6f3fdc592d61847da0e2172e352dbcb53c83d39"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 15:30:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:54 2010 -0700"
      },
      "message": "ceph: define on-wire types, constants for file locking support\n\nDefine the MDS operations and data types for doing file advisory locking\nwith the MDS.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c6f3fdc592d61847da0e2172e352dbcb53c83d39",
      "tree": "b658c608a71b3c373b529ec5d0b9930b1263166d",
      "parents": [
        "20cb34ae9e4b008a8789a48d52f5aa279dc400b6"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 14:55:24 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:51 2010 -0700"
      },
      "message": "ceph: add CEPH_FEATURE_FLOCK to the supported feature bits\n\nThis informs the server that we will accept v2 client_caps format and v2\nclient_reconnect format messages.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "20cb34ae9e4b008a8789a48d52f5aa279dc400b6",
      "tree": "03b0c011ebaec2cb26c81f122b5432119976dc6b",
      "parents": [
        "ce1fbc8dd657a4bbcf26c683c9d07c88db83fd86"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 12 15:21:32 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:50 2010 -0700"
      },
      "message": "ceph: support v2 reconnect encoding\n\nEncode either old or v2 encoding of client_reconnect message, depending on\nwhether the peer has the FLOCK feature bit.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ce1fbc8dd657a4bbcf26c683c9d07c88db83fd86",
      "tree": "5ff998e85e35f6938cd316c2f9147c87a6a5faab",
      "parents": [
        "cbbfe499055f49c09210e04d9f88c2f483052384"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:09:39 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:49 2010 -0700"
      },
      "message": "ceph: support v2 client_caps encoding\n\nAdd support for v2 encoding of MClientCaps, which includes a flock blob.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cbbfe499055f49c09210e04d9f88c2f483052384",
      "tree": "055a42f950c68b6ecd47f61a80fa15e813fdb381",
      "parents": [
        "73a7e693f9da464b0df07643af3f8ffc04dcc0b5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:31 2010 -0700"
      },
      "message": "ceph: move AES iv definition to shared header\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "73a7e693f9da464b0df07643af3f8ffc04dcc0b5",
      "tree": "1e0e09dd0ee0390e4da8f2247187b283e48b228e",
      "parents": [
        "2d9c98ae97c18e8b1c363af6a2e51d5d9e8c5e04"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 11:00:55 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 11:10:07 2010 -0700"
      },
      "message": "ceph: fix decoding of pool snap info\n\nThe pool info contains a vector for snap_info_t, not snap ids.  This fixes\nthe broken decoding, which would declare teh update corrupt when a pool\nsnapshot was created.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2d9c98ae97c18e8b1c363af6a2e51d5d9e8c5e04",
      "tree": "694895b1c66c7a1f382f8e7b6bc8c1b53165eab1",
      "parents": [
        "b8cd07e78eaa49857e882f4199309f86aeb80bbd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 30 09:38:13 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: make -\u003esync_fs not wait if wait\u003d\u003d0\n\nThe -\u003esync_fs() super op only needs to wait if wait is true.  Otherwise,\njust get some dirty cap writeback started.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b8cd07e78eaa49857e882f4199309f86aeb80bbd",
      "tree": "91999adddd919b9f47d69d71800ac33ac40077fd",
      "parents": [
        "effcb9ed43d16db27ae5837d93879e067e902151"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 16 12:00:02 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: warn on missing snap realm\n\nWell, this Shouldn\u0027t Happen, so it would be helpful to know the caller when\nit does.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "effcb9ed43d16db27ae5837d93879e067e902151",
      "tree": "bbcc99baff812d42a3bbaaa6a33a95ee3709e893",
      "parents": [
        "a8b763a9b34561fea8e616c1439a71913ff2c1bd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 09 11:00:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: print useful error message when crush rule not found\n\nInclude the crush_ruleset in the error message.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a8b763a9b34561fea8e616c1439a71913ff2c1bd",
      "tree": "f8c90178e33cf7138296a9f36cf2cdc2d21d0408",
      "parents": [
        "f0b18d9f22ea4e50955945661b7e165a47705249"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 13:00:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: use %pU to print uuid (fsid)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f0b18d9f22ea4e50955945661b7e165a47705249",
      "tree": "736393b3c0ba0d7e983f06882e31acd61cb75c44",
      "parents": [
        "5cd068c200795537fd78c423254389c8a07e2d20"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 08:39:03 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: sync header defs with server code\n\nDefine ROLLBACK op, IFLOCK inode lock (for advisory file locking).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5cd068c200795537fd78c423254389c8a07e2d20",
      "tree": "303f92b1eb74bca53ab7c9abb2f8701487ac3883",
      "parents": [
        "9688f19a188e5ef6ac8a4b6a5b17273028d1090e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 08:38:17 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: clean up header guards\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9688f19a188e5ef6ac8a4b6a5b17273028d1090e",
      "tree": "8805232333bedef21e5ec46e1f5d8137aa4467d2",
      "parents": [
        "6a2593823ababdada2636398ac190931517b51cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 30 10:18:04 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: strip misleading/obsolete version, feature info\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6a2593823ababdada2636398ac190931517b51cf",
      "tree": "7557b08cc90aa0d2c70ea5b0e6b22ff64a4c235d",
      "parents": [
        "c309f0ab26ca37663f368918553d02e90356c89d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 09:06:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: specify supported features in super.h\n\nSpecify the supported/required feature bits in super.h client code instead\nof using the definitions from the shared kernel/userspace headers (which\nwill go away shortly).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c309f0ab26ca37663f368918553d02e90356c89d",
      "tree": "431be55e223cae146317fa46c94b7d9253d616a8",
      "parents": [
        "e0f9f9ee8f6cb60fe49e32e1df790a698ce0840c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 30 21:34:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: clean up fsid mount option\n\nSpecify the fsid mount option in hex, not via the major/minor u64 hackery we had\nbefore.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e0f9f9ee8f6cb60fe49e32e1df790a698ce0840c",
      "tree": "a943edfd909954c5e62415c184f1ba850bb1b681",
      "parents": [
        "e55b71f802fd448a79275ba7b263fe1a8639be5f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 30 12:45:29 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: remove unused \u0027monport\u0027 mount option\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e55b71f802fd448a79275ba7b263fe1a8639be5f",
      "tree": "fa17d2b0fbf1bc5e76a5e9ddac6c19a6bbe8d2bc",
      "parents": [
        "2bc50259fa0aa1868f8b2ba1d374406cb3c57f72"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Tue Jun 22 15:58:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: handle ESTALE properly; on receipt send to authority if it wasn\u0027t\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2bc50259fa0aa1868f8b2ba1d374406cb3c57f72",
      "tree": "0c8d510478866b4fdeafeb7953395226f0b8fb25",
      "parents": [
        "154f42c2c3c3b66a7a63dad5648e8a9860a32af9"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Wed Jun 30 12:44:34 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: add ceph_get_cap_for_mds function.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "154f42c2c3c3b66a7a63dad5648e8a9860a32af9",
      "tree": "408beec027a62dcb67f212b07590039aea22866b",
      "parents": [
        "cb170a22153730eb9c82b6c85ead2001dba6c41a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:45:04 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: connect to export targets on cap export\n\nWhen we get a cap EXPORT message, make sure we are connected to all export\ntargets to ensure we can handle the matching IMPORT.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cb170a22153730eb9c82b6c85ead2001dba6c41a",
      "tree": "d5a4d6135fae1fda0f033c206237f54567cad707",
      "parents": [
        "ed0552a1a21d2f2692b84c366ce04ad17377780c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:38:35 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: connect to export targets if mds is laggy\n\nIf an MDS we are talking to may have failed, we need to open sessions to\nits potential export targets to ensure that any in-progress migration that\nmay have involved some of our caps is properly handled.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed0552a1a21d2f2692b84c366ce04ad17377780c",
      "tree": "ac660be5e7e6dae6a50c96a3ef7ce633bf550f41",
      "parents": [
        "796d6955a51ce6768d0e033f27a2f8f5be6cb39a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:38:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: introduce helper to connect to mds export targets\n\nThere are a few cases where we need to open sessions with a given mds\u0027s\npotential export targets.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "796d6955a51ce6768d0e033f27a2f8f5be6cb39a",
      "tree": "03672d617a25c43ff90f7f627aa2ed0c3f3ed1db",
      "parents": [
        "37151668bad3fd058368752bee476f2ba3645596"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 15:50:10 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: only set num_pages in calc_layout\n\nSetting it elsewhere is unnecessary and more fragile.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "37151668bad3fd058368752bee476f2ba3645596",
      "tree": "6eeae77dfa1c758ff03659b5677f474a72fbe7c0",
      "parents": [
        "0deb01c9998f8112c5e478e3fe3a930131abbc0a"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Thu Jun 17 16:16:12 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: do caps accounting per mds_client\n\nCaps related accounting is now being done per mds client instead\nof just being global. This prepares ground work for a later revision\nof the caps preallocated reservation list.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0deb01c9998f8112c5e478e3fe3a930131abbc0a",
      "tree": "1b98a08ce630949268c4f26d5f232d07acb5c7ba",
      "parents": [
        "cd84db6e4051a9fb7941d49d31a0193a3371fd61"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 17 14:19:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: track laggy state of mds from mdsmap\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cd84db6e4051a9fb7941d49d31a0193a3371fd61",
      "tree": "beb657b2cc6b4184d97a85502b29a291616a83ab",
      "parents": [
        "ca81f3f6bd759f90a4b940cddda1f8bc61a7725a"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jun 11 16:58:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: code cleanup\n\nMainly fixing minor issues reported by sparse.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ca81f3f6bd759f90a4b940cddda1f8bc61a7725a",
      "tree": "77b0f3a45d48303246f26e85b3945916f388805a",
      "parents": [
        "3b454c4945c756686e91d77eeefac80cb5d21baf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 14:21:36 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: skip if no auth cap in flush_snaps\n\nIf we have a capsnap but no auth cap (e.g. because it is migrating to\nanother mds), bail out and do nothing for now.  Do NOT remove the capsnap\nfrom the flush list.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3b454c4945c756686e91d77eeefac80cb5d21baf",
      "tree": "bd55ec2db3c234cf2fb1eebcf1ace3e4b9e2bc35",
      "parents": [
        "38e8883ee31667d901feb9106f4863af35948c91"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:20:33 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: simplify caps revocation, fix for multimds\n\nThe caps revocation should either initiate writeback, invalidateion, or\ncall check_caps to ack or do the dirty work.  The primary question is\nwhether we can get away with only checking the auth cap or whether all\ncaps need to be checked.\n\nThe old code was doing...something else.  At the very least, revocations\nfrom non-auth MDSs could break by triggering the \"check auth cap only\"\ncase.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "38e8883ee31667d901feb9106f4863af35948c91",
      "tree": "2b36df7cde625b72a43adf9d6ad998a46b8c5b04",
      "parents": [
        "ee6b272b9c3447a78fa831e37b925aefd5587ec9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 12:57:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: simplify add_cap_releases\n\nNo functional change, aside from more useful debug output.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ee6b272b9c3447a78fa831e37b925aefd5587ec9",
      "tree": "fcb7c31794908d89760fef635ee2a52b1c338fa1",
      "parents": [
        "2962507ca204f886967e1a089d9bec206d427c22"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 12:55:52 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: drop unused argument\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2962507ca204f886967e1a089d9bec206d427c22",
      "tree": "e9cec16b13ad1d8e41c288658e62fb3bf1c66859",
      "parents": [
        "33caad324b88f75f42d836735d86feaafb3b40cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 27 10:40:43 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: perform lazy reads when file mode and caps permit\n\nIf the file mode is marked as \"lazy,\" perform cached/buffered reads when\nthe caps permit it.  Adjust the rdcache_gen and invalidation logic\naccordingly so that we manage our cache based on the FILE_CACHE -or-\nFILE_LAZYIO cap bits.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "33caad324b88f75f42d836735d86feaafb3b40cf",
      "tree": "57e50ce5bdc181ea296191784c4d57999c51207e",
      "parents": [
        "8c6e9229fc1989cf263a6fcd4ff406d7f473f966"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 26 14:31:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: perform lazy writes when file mode and caps permit\n\nIf we have marked a file as \"lazy\" (using the ceph ioctl), perform buffered\nwrites when the MDS caps allow it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8c6e9229fc1989cf263a6fcd4ff406d7f473f966",
      "tree": "6402204aae50b0590df39289ed1e533472ee6ca1",
      "parents": [
        "84d9509234c46481aded977193fcf23f892d715f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 16 09:53:43 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: add LAZYIO ioctl to mark a file description for lazy consistency\n\nAllow an application to mark a file descriptor for lazy file consistency\nsemantics, allowing buffered reads and writes when multiple clients are\naccessing the same file.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "84d9509234c46481aded977193fcf23f892d715f",
      "tree": "a79cdd09126323064b49ac00c2aa1a39733675d1",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 16:46:24 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:38 2010 -0700"
      },
      "message": "ceph: request FILE_LAZYIO cap when LAZY file mode is set\n\nAlso clean up the file flags -\u003e file mode -\u003e wanted caps functions while\nwe\u0027re at it.  This resyncs this file with userspace.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9fe6206f400646a2322096b56c59891d530e8d51",
      "tree": "d5705a3afd855a498328bd2dfd7a5a9140a51e6f",
      "parents": [
        "77a63f3d1e0a3e7ede8d10f569e8481b13ff47c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 01 15:11:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 01 15:11:14 2010 -0700"
      },
      "message": "Linux 2.6.35\n"
    },
    {
      "commit": "77a63f3d1e0a3e7ede8d10f569e8481b13ff47c5",
      "tree": "f08c0c2dab44348919ec296254c3cc39d34e9f85",
      "parents": [
        "a63ecd835f075b21d7d5cef9580447f5fbb36263"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 01 13:40:40 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 01 15:10:01 2010 -0700"
      },
      "message": "NFS: Fix a typo in include/linux/nfs_fs.h\n\nnfs_commit_inode() needs to be defined irrespectively of whether or not\nwe are supporting NFSv3 and NFSv4.\n\nAllow the compiler to optimise away code in the NFSv2-only case by\nconverting it into an inlined stub function.\n\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a63ecd835f075b21d7d5cef9580447f5fbb36263",
      "tree": "952d222271e5aed0c500d3d31b39336f13db2943",
      "parents": [
        "fc71ff8a6c187ecc1ba79ee5688668af97a970fc",
        "e76df4d33973bd9b963d0cce05749b090cc14936"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:51 2010 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  cyber2000fb: fix console in truecolor modes\n  cyber2000fb: fix machine hang on module load\n  SA1111: Eliminate use after free\n  ARM: Fix Versatile/Realview/VExpress MMC card detection sense\n  ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt\n  ARM: Add barriers to io{read,write}{8,16,32} accessors as well\n  ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE\n  ARM: 6272/1: Convert L2x0 to use the IO relaxed operations\n  ARM: 6271/1: Introduce *_relaxed() I/O accessors\n  ARM: 6275/1: ux500: don\u0027t use writeb() in uncompress.h\n  ARM: 6270/1: clean files in arch/arm/boot/compressed/\n  ARM: Fix csum_partial_copy_from_user()\n"
    },
    {
      "commit": "fc71ff8a6c187ecc1ba79ee5688668af97a970fc",
      "tree": "50fff02480afe0e7d233e62bb9f42965308d7ffc",
      "parents": [
        "1cf66e16160653b4ac92e3ada57fc0bc48798145",
        "cfb506e1d330387dfaf334dd493b3773d388863d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:02:21 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: Ensure that writepage respects the nonblock flag\n  NFS: kswapd must not block in nfs_release_page\n  nfs: include space for the NUL in root path\n"
    },
    {
      "commit": "1cf66e16160653b4ac92e3ada57fc0bc48798145",
      "tree": "ad6b4bac80f4caf9edc1cddb12f273af99615b1e",
      "parents": [
        "de51257aa301652876ab6e8f13ea4eadbe4a3846",
        "a4967de6cbb260ad0f6612a1d2035e119ef1578f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:01:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 19:01:11 2010 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/edid: Fix the HDTV hack sync adjustment\n  drm/radeon/kms: fix radeon mid power profile reporting\n"
    },
    {
      "commit": "de51257aa301652876ab6e8f13ea4eadbe4a3846",
      "tree": "388ee39bed1d7e362438d047b57399a28e2617f8",
      "parents": [
        "51c20fcced5badee0e2021c6c89f44aa3cbd72aa"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Jul 30 10:58:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 18:56:09 2010 -0700"
      },
      "message": "mm: fix ia64 crash when gcore reads gate area\n\nDebian\u0027s ia64 autobuilders have been seeing kernel freeze or reboot\nwhen running the gdb testsuite (Debian bug 588574): dannf bisected to\n2.6.32 62eede62dafb4a6633eae7ffbeb34c60dba5e7b1 \"mm: ZERO_PAGE without\nPTE_SPECIAL\"; and reproduced it with gdb\u0027s gcore on a simple target.\n\nI\u0027d missed updating the gate_vma handling in __get_user_pages(): that\nhappens to use vm_normal_page() (nowadays failing on the zero page),\nyet reported success even when it failed to get a page - boom when\naccess_process_vm() tried to copy that to its intermediate buffer.\n\nFix this, resisting cleanups: in particular, leave it for now reporting\nsuccess when not asked to get any pages - very probably safe to change,\nbut let\u0027s not risk it without testing exposure.\n\nWhy did ia64 crash with 16kB pages, but succeed with 64kB pages?\nBecause setup_gate() pads each 64kB of its gate area with zero pages.\n\nReported-by: Andreas Barth \u003caba@not.so.argh.org\u003e\nBisected-by: dann frazier \u003cdannf@debian.org\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nTested-by: dann frazier \u003cdannf@dannf.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51c20fcced5badee0e2021c6c89f44aa3cbd72aa",
      "tree": "f885ebf3c2a71cb4475d45466636cd20750bb450",
      "parents": [
        "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jul 30 15:25:19 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 30 18:56:09 2010 -0700"
      },
      "message": "CIFS: Remove __exit mark from cifs_exit_dns_resolver()\n\nRemove the __exit mark from cifs_exit_dns_resolver() as it\u0027s called by the\nmodule init routine in case of error, and so may have been discarded during\nlinkage.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e76df4d33973bd9b963d0cce05749b090cc14936",
      "tree": "f36fb45132f66f44a52446d9113fcbcdcfd57c05",
      "parents": [
        "00b4703f03ce04bd7f2f912fd05a243096ab826f"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Thu Jul 29 22:40:54 2010 +0200"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jul 30 23:29:33 2010 +0100"
      },
      "message": "cyber2000fb: fix console in truecolor modes\n\nReturn value was not set to 0 in setcolreg() with truecolor modes. This causes\nfb_set_cmap() to abort after first color, resulting in blank palette - and\nblank console in 24bpp and 32bpp modes.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "00b4703f03ce04bd7f2f912fd05a243096ab826f",
      "tree": "de937808326366a5552ee92a3417f08380aa7776",
      "parents": [
        "f2d2420bbf4bb125ea5f2e1573d4da6b668fc78a"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Thu Jul 29 22:32:20 2010 +0200"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jul 30 23:29:33 2010 +0100"
      },
      "message": "cyber2000fb: fix machine hang on module load\n\nI was testing two CyberPro 2000 based PCI cards on x86 and the machine always\nhanged completely when the cyber2000fb module was loaded. It seems that the\ncard hangs when some registers are accessed too quickly after writing RAMDAC\ncontrol register. With this patch, both card work.\n\nAdd delay after RAMDAC control register write to prevent hangs on module load.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "f2d2420bbf4bb125ea5f2e1573d4da6b668fc78a",
      "tree": "b6a074ce9a14e7fc1f99641bb3e47b83417f34eb",
      "parents": [
        "74bc80931c8bc34d24545f992a35349ad548897c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Jul 30 17:17:28 2010 +0200"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jul 30 23:19:30 2010 +0100"
      },
      "message": "SA1111: Eliminate use after free\n\n__sa1111_remove always frees its argument, so the subsequent reference to\nsachip-\u003esaved_state represents a use after free.  __sa1111_remove does not\nappear to use the saved_state field, so the patch simply frees it first.\n\nA simplified version of the semantic patch that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression E,E2;\n@@\n\n__sa1111_remove(E)\n...\n(\n  E \u003d E2\n|\n* E\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "74bc80931c8bc34d24545f992a35349ad548897c",
      "tree": "402cb830059e78812ba32d3aa9245cc82c3a8ca3",
      "parents": [
        "831e8047eb2af310184a9d4d9e749f3de119ae39"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 15:58:59 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jul 30 23:16:32 2010 +0100"
      },
      "message": "ARM: Fix Versatile/Realview/VExpress MMC card detection sense\n\nThe MMC card detection sense has become really confused with negations\nat various levels, leading to some platforms not detecting inserted\ncards.  Fix this by converting everything to positive logic throughout,\nthereby getting rid of these negations.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "831e8047eb2af310184a9d4d9e749f3de119ae39",
      "tree": "f9fd2e3982796a50e2d2b9374c80ba0c1c4204bb",
      "parents": [
        "b92b3612134faff171981fad4f0adb33f485e02e"
      ],
      "author": {
        "name": "Gary King",
        "email": "gking@nvidia.com",
        "time": "Thu Jul 29 17:37:20 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jul 30 23:16:07 2010 +0100"
      },
      "message": "ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt\n\nsmp_processor_id() must not be called from a preemptible context (this\nis checked by CONFIG_DEBUG_PREEMPT).  kmap_high_l1_vipt() was doing so.\nThis lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth\ncould be incremented, causing a BUG_ON(*depth \u003c\u003d 0); in\nkunmap_high_l1_vipt().\n\nThe solution is to move the call to smp_processor_id() after the call\nto preempt_disable().\n\nOriginally by: Andrew Howe \u003cahowe@nvidia.com\u003e\n\nSigned-off-by: Gary King \u003cgking@nvidia.com\u003e\nAcked-by: Nicolas Pitre \u003cnico.as.pitre@linaro.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "cfb506e1d330387dfaf334dd493b3773d388863d",
      "tree": "4c376c8ff15082553f8f0f64a65dfe573072f7c7",
      "parents": [
        "b608b283a962caaa280756bc8563016a71712acf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:31:57 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:38:56 2010 -0400"
      },
      "message": "NFS: Ensure that writepage respects the nonblock flag\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b608b283a962caaa280756bc8563016a71712acf",
      "tree": "217a745ab305219fab676d4a215c1a709004bd57",
      "parents": [
        "674b2222920012244ca59978b356b25412a8dcc7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:31:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:38:42 2010 -0400"
      },
      "message": "NFS: kswapd must not block in nfs_release_page\n\nSee https://bugzilla.kernel.org/show_bug.cgi?id\u003d16056\n\nIf other processes are blocked waiting for kswapd to free up some memory so\nthat they can make progress, then we cannot allow kswapd to block on those\nprocesses.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "674b2222920012244ca59978b356b25412a8dcc7",
      "tree": "01b3673031df1fb3b9a3f5c8f3394f1c0036dde6",
      "parents": [
        "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Jul 13 13:34:59 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 30 15:33:39 2010 -0400"
      },
      "message": "nfs: include space for the NUL in root path\n\nIn root_nfs_name() it does the following:\n\n        if (strlen(buf) + strlen(cp) \u003e NFS_MAXPATHLEN) {\n                printk(KERN_ERR \"Root-NFS: Pathname for remote directory too long.\\n\");\n                return -1;\n        }\n        sprintf(nfs_export_path, buf, cp);\n\nIn the original code if (strlen(buf) + strlen(cp) \u003d\u003d NFS_MAXPATHLEN)\nthen the sprintf() would lead to an overflow.  Generally the rest of the\ncode assumes that the path can have NFS_MAXPATHLEN (1024) characters and\na NUL terminator so the fix is to add space to the nfs_export_path[]\nbuffer.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c",
      "tree": "14b0997d648a158e05fa2243b1beddaa6d4cfd36",
      "parents": [
        "7d5fcdc38ff0425ff52bffe26d481ea07547574c",
        "33fea794b9deeb8ffb77e284eb37375b8f45a2c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:23:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:23:28 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] etr: fix clock synchronization race\n  [S390] Fix IRQ tracing in case of PER\n"
    },
    {
      "commit": "7d5fcdc38ff0425ff52bffe26d481ea07547574c",
      "tree": "d4dc2e778ea8672775aa969984f962917e5a03fc",
      "parents": [
        "e271e872a8685be8e13fe006f0d81630f65d7e5c",
        "230a5cef48158221e3f5ae030fef1cf4512401e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:21:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:21:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  watchdog: update MAINTAINERS entry\n"
    },
    {
      "commit": "e271e872a8685be8e13fe006f0d81630f65d7e5c",
      "tree": "d1a671f411a8e8cbbada2db46efafb0b5e3fe10e",
      "parents": [
        "8f92054e7ca1d3a3ae50fb42d2253ac8730d9b2a",
        "dc1eae256cfac03bf17bf3eb016e3a6423d3f9d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:21:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:21:07 2010 -0700"
      },
      "message": "Merge branch \u0027fix/hda\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027fix/hda\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Add a PC-beep workaround for ASUS P5-V\n  ALSA: hda - Assume PC-beep as default for Realtek\n  ALSA: hda - Don\u0027t register beep input device when no beep is available\n  ALSA: hda - Fix pin-detection of Nvidia HDMI\n"
    },
    {
      "commit": "8f92054e7ca1d3a3ae50fb42d2253ac8730d9b2a",
      "tree": "29d1bcf78bf04fe41c7e811f806f58d655c41f9f",
      "parents": [
        "de09a9771a5346029f4d11e4ac886be7f9bfdd75"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 29 12:45:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:16:18 2010 -0700"
      },
      "message": "CRED: Fix __task_cred()\u0027s lockdep check and banner comment\n\nFix __task_cred()\u0027s lockdep check by removing the following validation\ncondition:\n\n\tlockdep_tasklist_lock_is_held()\n\nas commit_creds() does not take the tasklist_lock, and nor do most of the\nfunctions that call it, so this check is pointless and it can prevent\ndetection of the RCU lock not being held if the tasklist_lock is held.\n\nInstead, add the following validation condition:\n\n\ttask-\u003eexit_state \u003e\u003d 0\n\nto permit the access if the target task is dead and therefore unable to change\nits own credentials.\n\nFix __task_cred()\u0027s comment to:\n\n (1) discard the bit that says that the caller must prevent the target task\n     from being deleted.  That shouldn\u0027t need saying.\n\n (2) Add a comment indicating the result of __task_cred() should not be passed\n     directly to get_cred(), but rather than get_task_cred() should be used\n     instead.\n\nAlso put a note into the documentation to enforce this point there too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de09a9771a5346029f4d11e4ac886be7f9bfdd75",
      "tree": "ccce9e75753c98a9f38075d54ab98aa4b89e66c7",
      "parents": [
        "540ad6b62b3a188a53b51cac81d8a60d40e29fbd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 29 12:45:49 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 29 15:16:17 2010 -0700"
      },
      "message": "CRED: Fix get_task_cred() and task_state() to not resurrect dead credentials\n\nIt\u0027s possible for get_task_cred() as it currently stands to \u0027corrupt\u0027 a set of\ncredentials by incrementing their usage count after their replacement by the\ntask being accessed.\n\nWhat happens is that get_task_cred() can race with commit_creds():\n\n\tTASK_1\t\t\tTASK_2\t\t\tRCU_CLEANER\n\t--\u003eget_task_cred(TASK_2)\n\trcu_read_lock()\n\t__cred \u003d __task_cred(TASK_2)\n\t\t\t\t--\u003ecommit_creds()\n\t\t\t\told_cred \u003d TASK_2-\u003ereal_cred\n\t\t\t\tTASK_2-\u003ereal_cred \u003d ...\n\t\t\t\tput_cred(old_cred)\n\t\t\t\t  call_rcu(old_cred)\n\t\t[__cred-\u003eusage \u003d\u003d 0]\n\tget_cred(__cred)\n\t\t[__cred-\u003eusage \u003d\u003d 1]\n\trcu_read_unlock()\n\t\t\t\t\t\t\t--\u003eput_cred_rcu()\n\t\t\t\t\t\t\t[__cred-\u003eusage \u003d\u003d 1]\n\t\t\t\t\t\t\tpanic()\n\nHowever, since a tasks credentials are generally not changed very often, we can\nreasonably make use of a loop involving reading the creds pointer and using\natomic_inc_not_zero() to attempt to increment it if it hasn\u0027t already hit zero.\n\nIf successful, we can safely return the credentials in the knowledge that, even\nif the task we\u0027re accessing has released them, they haven\u0027t gone to the RCU\ncleanup code.\n\nWe then change task_state() in procfs to use get_task_cred() rather than\ncalling get_cred() on the result of __task_cred(), as that suffers from the\nsame problem.\n\nWithout this change, a BUG_ON in __put_cred() or in put_cred_rcu() can be\ntripped when it is noticed that the usage count is not zero as it ought to be,\nfor example:\n\nkernel BUG at kernel/cred.c:168!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/kernel/mm/ksm/run\nCPU 0\nPid: 2436, comm: master Not tainted 2.6.33.3-85.fc13.x86_64 #1 0HR330/OptiPlex\n745\nRIP: 0010:[\u003cffffffff81069881\u003e]  [\u003cffffffff81069881\u003e] __put_cred+0xc/0x45\nRSP: 0018:ffff88019e7e9eb8  EFLAGS: 00010202\nRAX: 0000000000000001 RBX: ffff880161514480 RCX: 00000000ffffffff\nRDX: 00000000ffffffff RSI: ffff880140c690c0 RDI: ffff880140c690c0\nRBP: ffff88019e7e9eb8 R08: 00000000000000d0 R09: 0000000000000000\nR10: 0000000000000001 R11: 0000000000000040 R12: ffff880140c690c0\nR13: ffff88019e77aea0 R14: 00007fff336b0a5c R15: 0000000000000001\nFS:  00007f12f50d97c0(0000) GS:ffff880007400000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f8f461bc000 CR3: 00000001b26ce000 CR4: 00000000000006f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess master (pid: 2436, threadinfo ffff88019e7e8000, task ffff88019e77aea0)\nStack:\n ffff88019e7e9ec8 ffffffff810698cd ffff88019e7e9ef8 ffffffff81069b45\n\u003c0\u003e ffff880161514180 ffff880161514480 ffff880161514180 0000000000000000\n\u003c0\u003e ffff88019e7e9f28 ffffffff8106aace 0000000000000001 0000000000000246\nCall Trace:\n [\u003cffffffff810698cd\u003e] put_cred+0x13/0x15\n [\u003cffffffff81069b45\u003e] commit_creds+0x16b/0x175\n [\u003cffffffff8106aace\u003e] set_current_groups+0x47/0x4e\n [\u003cffffffff8106ac89\u003e] sys_setgroups+0xf6/0x105\n [\u003cffffffff81009b02\u003e] system_call_fastpath+0x16/0x1b\nCode: 48 8d 71 ff e8 7e 4e 15 00 85 c0 78 0b 8b 75 ec 48 89 df e8 ef 4a 15 00\n48 83 c4 18 5b c9 c3 55 8b 07 8b 07 48 89 e5 85 c0 74 04 \u003c0f\u003e 0b eb fe 65 48 8b\n04 25 00 cc 00 00 48 3b b8 58 04 00 00 75\nRIP  [\u003cffffffff81069881\u003e] __put_cred+0xc/0x45\n RSP \u003cffff88019e7e9eb8\u003e\n---[ end trace df391256a100ebdd ]---\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "230a5cef48158221e3f5ae030fef1cf4512401e1",
      "tree": "cf3fd6d73c7bc7ac8a57338147595885b9184d19",
      "parents": [
        "540ad6b62b3a188a53b51cac81d8a60d40e29fbd"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 29 18:02:51 2010 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 29 18:02:51 2010 +0000"
      },
      "message": "watchdog: update MAINTAINERS entry\n\nAdd Mailing-list and website to watchdog MAINTAINERS entry.\n\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "dc1eae256cfac03bf17bf3eb016e3a6423d3f9d5",
      "tree": "790b8571fae2787ce1ccd02e518b0f192ef6de58",
      "parents": [
        "b6cbe517b9a4f21e1ca5e58356929383974500f3"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jul 29 15:30:02 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jul 29 15:30:02 2010 +0200"
      },
      "message": "ALSA: hda - Add a PC-beep workaround for ASUS P5-V\n\nASUS P5-V provides a SSID that unexpectedly matches with the value\ncompilant with Realtek\u0027s specification.  Thus the driver interprets\nit badly, resulting in non-working PC beep.\n\nThis patch adds a white-list for such a case; a white-list of known\ndevices with working PC beep.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "b92b3612134faff171981fad4f0adb33f485e02e",
      "tree": "90e686709e31ab7523e4ce730b2c85a930384cf7",
      "parents": [
        "79f64dbf68c8a9779a7e9a25e0a9f0217a25b57a"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 11:38:05 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 14:04:37 2010 +0100"
      },
      "message": "ARM: Add barriers to io{read,write}{8,16,32} accessors as well\n\nThe ioread/iowrite accessors also need barriers as they\u0027re used in\nplace of readl/writel et.al. in portable drivers.  Create __iormb()\nand __iowmb() which are conditionally defined to be barriers dependent\non ARM_DMA_MEM_BUFFERABLE, and always use these macros in the accessors.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "79f64dbf68c8a9779a7e9a25e0a9f0217a25b57a",
      "tree": "bd75d76d566c5dd211d310bf136cf3e4b07184ae",
      "parents": [
        "6775a558fece413376e1dacd435adb5fbe225f40"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 28 22:01:55 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 14:04:37 2010 +0100"
      },
      "message": "ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE\n\nWhen the coherent DMA buffers are mapped as Normal Non-cacheable\n(ARM_DMA_MEM_BUFFERABLE enabled), buffer accesses are no longer ordered\nwith Device memory accesses causing failures in device drivers that do\nnot use the mandatory memory barriers before starting a DMA transfer.\nLKML discussions led to the conclusion that such barriers have to be\nadded to the I/O accessors:\n\nhttp://thread.gmane.org/gmane.linux.kernel/683509/focus\u003d686153\nhttp://thread.gmane.org/gmane.linux.ide/46414\nhttp://thread.gmane.org/gmane.linux.kernel.cross-arch/5250\n\nThis patch introduces a wmb() barrier to the write*() I/O accessors to\nhandle the situations where Normal Non-cacheable writes are still in the\nprocessor (or L2 cache controller) write buffer before a DMA transfer\ncommand is issued. For the read*() accessors, a rmb() is introduced\nafter the I/O to avoid speculative loads where the driver polls for a\nDMA transfer ready bit.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6775a558fece413376e1dacd435adb5fbe225f40",
      "tree": "e4428d3915151d3718a9687f843ecec115aeb546",
      "parents": [
        "e936771a76a7b61ca55a5142a3de835c2e196871"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 28 22:01:25 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 14:04:36 2010 +0100"
      },
      "message": "ARM: 6272/1: Convert L2x0 to use the IO relaxed operations\n\nThis patch is in preparation for a subsequent patch which adds barriers\nto the I/O accessors. Since the mandatory barriers may do an L2 cache\nsync, this patch avoids a recursive call into l2x0_cache_sync() via the\nwrite*() accessors and wmb() and a call into l2x0_cache_sync() with the\nl2x0_lock held.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e936771a76a7b61ca55a5142a3de835c2e196871",
      "tree": "3ec67935283bbd150bbaa2c9847dec525a0eb031",
      "parents": [
        "661f10f6b6ce55c737e88c4803453eba4ba3a61c"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 28 22:00:54 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 14:04:36 2010 +0100"
      },
      "message": "ARM: 6271/1: Introduce *_relaxed() I/O accessors\n\nThis patch introduces readl*_relaxed()/write*_relaxed() as the main I/O\naccessors (when __mem_pci is defined). The standard read*()/write*()\nmacros are now based on the relaxed accessors.\n\nThis patch is in preparation for a subsequent patch which adds barriers\nto the I/O accessors.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "661f10f6b6ce55c737e88c4803453eba4ba3a61c",
      "tree": "08b68ecb2b26d16cbd6c26a7f356b9305da5900b",
      "parents": [
        "f1b957d3a06826f4a30fd4440e54a6b87c2e6173"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Thu Jul 29 12:13:18 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 14:04:35 2010 +0100"
      },
      "message": "ARM: 6275/1: ux500: don\u0027t use writeb() in uncompress.h\n\nDon\u0027t use writeb() in uncompress.h, to avoid the following build errors\nwhen the \"Add barriers to the I/O accessors\" series is applied.  Use\n__raw_writeb() instead.\n\narch/arm/boot/compressed/misc.o: In function `putc\u0027:\narch/arm/mach-ux500/include/mach/uncompress.h:41:\nundefined reference to `outer_cache\u0027\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "f1b957d3a06826f4a30fd4440e54a6b87c2e6173",
      "tree": "c16aeebaaaf42d647235e7fc9396b015fd3f2d7d",
      "parents": [
        "4609a179c97ae60fef173547a9bbb214359808ce"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Wed Jul 28 05:46:21 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jul 29 11:31:21 2010 +0100"
      },
      "message": "ARM: 6270/1: clean files in arch/arm/boot/compressed/\n\nUpdate the compressed boot Makefile for ARM to\nremove files during clean.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a4967de6cbb260ad0f6612a1d2035e119ef1578f",
      "tree": "64ea75d7f0f4b85cc78089a14c35b8e7c3dcd91e",
      "parents": [
        "12e27be852db6d3e701e5563f394d6c7aa7aa778"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Wed Jul 28 07:40:32 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jul 29 16:14:43 2010 +1000"
      },
      "message": "drm/edid: Fix the HDTV hack sync adjustment\n\nWe\u0027re adjusting horizontal timings only here, moving vsync was just a\nslavish translation of a typo in the X server.\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "12e27be852db6d3e701e5563f394d6c7aa7aa778",
      "tree": "eeb4ab3056acb4f0d3dee1ee95efb60732a60064",
      "parents": [
        "fc0f5ac8fe693d1b05f5a928cc48135d1c8b7f2e"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Wed Jul 28 12:25:58 2010 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jul 29 15:22:35 2010 +1000"
      },
      "message": "drm/radeon/kms: fix radeon mid power profile reporting\n\nFix incorrectly reporting \u0027default\u0027 power profile, when it is set to \u0027mid\u0027.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "540ad6b62b3a188a53b51cac81d8a60d40e29fbd",
      "tree": "554d3905c18c711ee2b9853dca2b45d274542eb7",
      "parents": [
        "2fa82e1f10949dbde97fe13c269df2321c0d0715",
        "ba773f7c510c0b252145933926c636c439889207"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 20:01:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 20:01:26 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  x86,kgdb: Fix hw breakpoint regression\n"
    },
    {
      "commit": "2fa82e1f10949dbde97fe13c269df2321c0d0715",
      "tree": "ed209193ef4c6c9d0517c875665f414a8504523f",
      "parents": [
        "8785eb1e7ca0292c04007fc7768e1599e0c6cef3",
        "8f83d7688026729c9d356d865f65a8996f090048"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 20:00:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 20:00:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] ibmvscsi: Fix oops when an interrupt is pending during probe\n  [SCSI] zfcp: Update status read mempool\n  [SCSI] zfcp: Do not wait for SBALs on stopped queue\n  [SCSI] zfcp: Fix check whether unchained ct_els is possible\n  [SCSI] ipr: fix resource path display and formatting\n"
    },
    {
      "commit": "8785eb1e7ca0292c04007fc7768e1599e0c6cef3",
      "tree": "8016acc3d90f4af72940ce3b85beaeb25fe8326d",
      "parents": [
        "a6f80fb7b5986fda663d94079d3bba0937a6b6ff",
        "8b24599e72c9aee1ea1187e29cb9c5de9f449cce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 19:59:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 19:59:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:\n  davinci: da850/omap-l138 evm: account for DEFDCDC{2,3} being tied high\n  regulator: tps6507x: allow driver to use DEFDCDC{2,3}_HIGH register\n  wm8350-regulator: fix wm8350_register_regulator error handling\n  ab3100: fix off-by-one value range checking for voltage selector\n"
    },
    {
      "commit": "a6f80fb7b5986fda663d94079d3bba0937a6b6ff",
      "tree": "b8a44b0ed1560ae3f00f1ff4e342f43b7422bcc3",
      "parents": [
        "6c50e1a49b4377b760ee46f824ed04b17be913e3"
      ],
      "author": {
        "name": "Andre Osterhues",
        "email": "aosterhues@escrypt.com",
        "time": "Tue Jul 13 15:59:17 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 19:59:24 2010 -0700"
      },
      "message": "ecryptfs: Bugfix for error related to ecryptfs_hash_buckets\n\nThe function ecryptfs_uid_hash wrongly assumes that the\nsecond parameter to hash_long() is the number of hash\nbuckets instead of the number of hash bits.\nThis patch fixes that and renames the variable\necryptfs_hash_buckets to ecryptfs_hash_bits to make it\nclearer.\n\nFixes: CVE-2010-2492\n\nSigned-off-by: Andre Osterhues \u003caosterhues@escrypt.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba773f7c510c0b252145933926c636c439889207",
      "tree": "97983dc7a149487a7926f1efc2619fafcc8cc93c",
      "parents": [
        "fc0f5ac8fe693d1b05f5a928cc48135d1c8b7f2e"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 28 19:10:30 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 28 19:10:30 2010 -0500"
      },
      "message": "x86,kgdb: Fix hw breakpoint regression\n\nHW breakpoints events stopped working correctly with kgdb\nas a result of commit: 018cbffe6819f6f8db20a0a3acd9bab9bfd667e4\n(Merge commit \u0027v2.6.33\u0027 into perf/core).\n\nThe regression occurred because the behavior changed for setting\nNOTIFY_STOP as the return value to the die notifier if the breakpoint\nwas known to the HW breakpoint API.  Because kgdb is using the HW\nbreakpoint API to register HW breakpoints slots, it must also now\nimplement the overflow_handler call back else kgdb does not get to see\nthe events from the die notifier.\n\nThe kgdb_ll_trap function will be changed to be general purpose code\nwhich can allow an easy way to implement the hw_breakpoint API\noverflow call back.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6c50e1a49b4377b760ee46f824ed04b17be913e3",
      "tree": "5e558bcd8fa3ca0d1a999e4c472d206aa688ec68",
      "parents": [
        "d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56",
        "03066f23452ff088ad8e2c8acdf4443043f35b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:53 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 complete_all and wake_up_all\n  ceph: Correct obvious typo of Kconfig variable \"CRYPTO_AES\"\n  ceph: fix dentry lease release\n  ceph: fix leak of dentry in ceph_init_dentry() error path\n  ceph: fix pg_mapping leak on pg_temp updates\n  ceph: fix d_release dop for snapdir, snapped dentries\n  ceph: avoid dcache readdir for snapdir\n"
    },
    {
      "commit": "d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56",
      "tree": "f9ac90f438bb3221a6e383e7f1c9c817e95ad44b",
      "parents": [
        "fc0f5ac8fe693d1b05f5a928cc48135d1c8b7f2e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 28 17:56:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 28 11:10:03 2010 -0700"
      },
      "message": "GFS2: Use kmalloc when possible for -\u003ereaddir()\n\nIf we don\u0027t need a huge amount of memory in -\u003ereaddir() then\nwe can use kmalloc rather than vmalloc to allocate it. This\nshould cut down on the greater overheads associated with\nvmalloc for smaller directories.\n\nWe may be able to eliminate vmalloc entirely at some stage,\nbut this is easy to do right away.\n\nAlso using GFP_NOFS to avoid any issues wrt to deleting inodes\nwhile under a glock, and suggestion from Linus to factor out\nthe alloc/dealloc.\n\nI\u0027ve given this a test with a variety of different sized\ndirectories and it seems to work ok.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6cbe517b9a4f21e1ca5e58356929383974500f3",
      "tree": "393af3ebf1e077622854aee077c3596f81d16e10",
      "parents": [
        "8af2591d6342a9e4bb79b4f1236246a79d20ebee"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 17:43:36 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 17:43:36 2010 +0200"
      },
      "message": "ALSA: hda - Assume PC-beep as default for Realtek\n\nEnable PC-beep as default for hardwares that aren\u0027t compliant with the\nSSID value Realtek requires.  In such a case, better to enable the beep\nto avoid a regression.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "8af2591d6342a9e4bb79b4f1236246a79d20ebee",
      "tree": "7b7beb1ee2aa2e933c73b417a4347d3457dce381",
      "parents": [
        "38faddb1afdd37218c196ac3db1cb5fbe7fc9c75"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 17:37:16 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 17:37:16 2010 +0200"
      },
      "message": "ALSA: hda - Don\u0027t register beep input device when no beep is available\n\nWe check now the availability of PC beep and skip the build of beep\nmixers, but the driver still registers the input device.  This should\nbe checked as well.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "8b24599e72c9aee1ea1187e29cb9c5de9f449cce",
      "tree": "9e256d1ee8c3930c3cb97dc75ccb32bb6043ddfd",
      "parents": [
        "7d14831e21060fbfbfe8453460ac19205f4ce1c2"
      ],
      "author": {
        "name": "Sekhar Nori",
        "email": "nsekhar@ti.com",
        "time": "Mon Jul 12 17:56:21 2010 +0530"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Wed Jul 28 15:09:31 2010 +0100"
      },
      "message": "davinci: da850/omap-l138 evm: account for DEFDCDC{2,3} being tied high\n\nPer the da850/omap-l138 Beta EVM SOM schematic, the DEFDCDC2 and\nDEFDCDC3 lines are tied high. This leads to a 3.3V IO and 1.2V CVDD\nvoltage.\n\nPass the right platform data to the TPS6507x driver so it can operate\non the DEFDCDC{2,3}_HIGH register to read and change voltage levels.\n\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "7d14831e21060fbfbfe8453460ac19205f4ce1c2",
      "tree": "f62423f7c13f9cfe1b555638dda8ab17fbca4777",
      "parents": [
        "e9a1c5129de1caf4526b8df5f200ff628b2ffab4"
      ],
      "author": {
        "name": "Anuj Aggarwal",
        "email": "anuj.aggarwal@ti.com",
        "time": "Mon Jul 12 17:54:06 2010 +0530"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Wed Jul 28 15:09:26 2010 +0100"
      },
      "message": "regulator: tps6507x: allow driver to use DEFDCDC{2,3}_HIGH register\n\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n\nIn TPS6507x, depending on the status of DEFDCDC{2,3} pin either\nDEFDCDC{2,3}_LOW or DEFDCDC{2,3}_HIGH register needs to be read or\nprogrammed to change the output voltage.\n\nThe current driver assumes DEFDCDC{2,3} pins are always tied low\nand thus operates only on DEFDCDC{2,3}_LOW register. This need\nnot always be the case (as is found on OMAP-L138 EVM).\n\nUnfortunately, software cannot read the status of DEFDCDC{2,3} pins.\nSo, this information is passed through platform data depending on\nhow the board is wired.\n\nSigned-off-by: Anuj Aggarwal \u003canuj.aggarwal@ti.com\u003e\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "38faddb1afdd37218c196ac3db1cb5fbe7fc9c75",
      "tree": "4591e3444acb5cd408dbc55d77209e136e47fb67",
      "parents": [
        "ac0547dc62e67a3e0b0c1628b6e49efba8f517db"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 14:21:55 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Jul 28 14:26:14 2010 +0200"
      },
      "message": "ALSA: hda - Fix pin-detection of Nvidia HDMI\n\nThe behavior of Nvidia HDMI codec regarding the pin-detection unsol events\nis based on the old HD-audio spec, i.e. PD bit indicates only the update\nand doesn\u0027t show the current state.  Since the current code assumes the\nnew behavior, the pin-detection doesn\u0027t work relialby with these h/w.\n\nThis patch adds a flag for indicating the old spec, and fixes the issue\nby checking the pin-detection explicitly for such hardware.\n\nTested-by: Wei Ni \u003cwni@nvidia.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "fc0f5ac8fe693d1b05f5a928cc48135d1c8b7f2e",
      "tree": "ceca515ce66fb883247119953c62c9dc7e52b7df",
      "parents": [
        "6a99ad4a2e1b1693ffe8e40cc0dddfc633ce2a50",
        "da7ddd3296505b4cb46685e1bbf7d0075b3cd4f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: Pass the correct end of buffer to p9stat_read\n"
    },
    {
      "commit": "6a99ad4a2e1b1693ffe8e40cc0dddfc633ce2a50",
      "tree": "7125466673bfe462b3ffbaf85b31cb66906d22cd",
      "parents": [
        "952e1c6632ab5060a2323624d2908f31d62fc0a3"
      ],
      "author": {
        "name": "Jon Povey",
        "email": "jon.povey@racelogic.co.uk",
        "time": "Tue Jul 27 13:18:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:07 2010 -0700"
      },
      "message": "gpio: fix spurious printk when freeing a gpio\n\nWhen freeing a gpio that has not been exported, gpio_unexport() prints a\ndebug message when it should just fall through silently.\n\nExample spurious message:\n\n\tgpio_unexport: gpio0 status -22\n\nSigned-off-by: Jon Povey \u003cjon.povey@racelogic.co.uk\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Uwe Kleine-K?nig \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Gregory Bean \u003cgbean@codeaurora.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "952e1c6632ab5060a2323624d2908f31d62fc0a3",
      "tree": "ca9bcd76a98269f9b264ad58fec12a329d5b96fd",
      "parents": [
        "2884fce165047db7df422e52a672970fa09c87b5"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@mvista.com",
        "time": "Tue Jul 27 13:18:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:06 2010 -0700"
      },
      "message": "edac: mpc85xx: fix coldplug/hotplug module autoloading\n\nThe MPC85xx EDAC driver is missing module device aliases, so the driver\nwon\u0027t load automatically on boot.  This patch fixes the issue by adding\nproper MODULE_DEVICE_TABLE() macros.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nCc: Peter Tyser \u003cptyser@xes-inc.com\u003e\nCc: Dave Jiang \u003cdjiang@mvista.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2884fce165047db7df422e52a672970fa09c87b5",
      "tree": "9382e655a17b7be04178b0fa0d6978f88fd8ecb6",
      "parents": [
        "b82bab4bbe9efa7bc7177fc20620fff19bd95484"
      ],
      "author": {
        "name": "Rudolf Marek",
        "email": "rudolf.marek@sysgo.com",
        "time": "Tue Jul 27 13:18:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:06 2010 -0700"
      },
      "message": "drivers/rtc/rtc-rx8581.c: fix setdatetime\n\nFix the logic while writing new date/time to the chip.  The driver\nincorrectly wrote back register values to different registers and even\nwith wrong mask.  The patch adds clearing of the VLF register, which\nshould be cleared if all date/time values are set.\n\nSigned-off-by: Rudolf Marek \u003crudolf.marek@sysgo.com\u003e\nAcked-by: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nCc: Martyn Welch \u003cmartyn.welch@gefanuc.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "b82bab4bbe9efa7bc7177fc20620fff19bd95484"
}
