)]}'
{
  "log": [
    {
      "commit": "c1631d4a484fbb498e35d661f1aebd64c86b66bf",
      "tree": "06e951cfebbd616dbaa0017d1c030a3f6e0d8d88",
      "parents": [
        "ee149a7c6cbaee0e3a1a7d9e9f92711228ef5236"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 11 17:54:45 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue May 18 12:31:05 2010 -0700"
      },
      "message": "Ocfs2: Optimize punching-hole code.\n\nThis patch simplifies the logic of handling existing holes and\nskipping extent blocks and removes some confusing comments.\n\nThe patch survived the fill_verify_holes testcase in ocfs2-test.\nIt also passed my manual sanity check and stress tests with enormous\nextent records.\n\nCurrently punching a hole on a file with 3+ extent tree depth was\nreally a performance disaster.  It can even take several hours,\nthough we may not hit this in real life with such a huge extent\nnumber.\n\nOne simple way to improve the performance is quite straightforward.\nFrom the logic of truncate, we can punch the hole from hole_end to\nhole_start, which reduces the overhead of btree operations in a\nsignificant way, such as tree rotation and moving.\n\nFollowing is the testing result when punching hole from 0 to file end\nin bytes, on a 1G file, 1G file consists of 256k extent records, each record\ncover 4k data(just one cluster, clustersize is 4k):\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n * Original punching-hole mechanism:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n   I waited 1 hour for its completion, unfortunately it\u0027s still ongoing.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n * Patched punching-hode mechanism:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n   real 0m2.518s\n   user 0m0.000s\n   sys  0m2.445s\n\nThat means we\u0027ve gained up to 1000 times improvement on performance in this\ncase, whee! It\u0027s fairly cool. and it looks like that performance gain will\nbe raising when extent records grow.\n\nThe patch was based on my former 2 patches, which were about truncating\ncodes optimization and fixup to handle CoW on punching hole.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ee149a7c6cbaee0e3a1a7d9e9f92711228ef5236",
      "tree": "eb91fa9c12d9d44a3a314f75c5acd4ce1b7328a5",
      "parents": [
        "e8aec068ecb1957630816cfa2c150c6b3ddd1790"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 11 17:54:44 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue May 18 12:28:13 2010 -0700"
      },
      "message": "Ocfs2: Make ocfs2_find_cpos_for_left_leaf() public.\n\nThe original idea to pull ocfs2_find_cpos_for_left_leaf() out of\nalloc.c is to benefit punching-holes optimization patch, it however,\ncan also be referred by other funcs in the future who want to do the\nsame job.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e8aec068ecb1957630816cfa2c150c6b3ddd1790",
      "tree": "b6140b82846cd2f5ab264d01be2a4473e56faf97",
      "parents": [
        "78f94673d7faf01677f374f4ebbf324ff1a0aa6e"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 11 17:54:43 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue May 18 12:27:46 2010 -0700"
      },
      "message": "Ocfs2: Fix hole punching to correctly do CoW during cluster zeroing.\n\nBased on the previous patch of optimizing truncate, the bugfix for\nrefcount trees when punching holes can be fairly easy\nand straightforward since most of work we should take into account for\nrefcounting have been completed already in ocfs2_remove_btree_range().\n\nThis patch performs CoW for refcounted extents when a hole being punched\nwhose start or end offset were in the middle of a cluster, which means\npartial zeroing of the cluster will be performed soon.\n\nThe patch has been tested fixing the following bug:\n\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1216\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "78f94673d7faf01677f374f4ebbf324ff1a0aa6e",
      "tree": "1bd394469f12b5e148835365295d1df413c04a0c",
      "parents": [
        "547ba7c8efe43c2cabb38782e23572a6179dd1c1"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 11 17:54:42 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue May 18 12:25:10 2010 -0700"
      },
      "message": "Ocfs2: Optimize ocfs2 truncate to use ocfs2_remove_btree_range() instead.\n\nTruncate is just a special case of punching holes(from new i_size to\nend), we therefore could take advantage of the existing\nocfs2_remove_btree_range() to reduce the comlexity and redundancy in\nalloc.c.  The goal here is to make truncate more generic and\nstraightforward.\n\nSeveral functions only used by ocfs2_commit_truncate() will smiply be\nremoved.\n\nocfs2_remove_btree_range() was originally used by the hole punching\ncode, which didn\u0027t take refcount trees into account (definitely a bug).\nWe therefore need to change that func a bit to handle refcount trees.\nIt must take the refcount lock, calculate and reserve blocks for\nrefcount tree changes, and decrease refcounts at the end.  We replace \nocfs2_lock_allocators() here by adding a new func\nocfs2_reserve_blocks_for_rec_trunc() which accepts some extra blocks to\nreserve.  This will not hurt any other code using\nocfs2_remove_btree_range() (such as dir truncate and hole punching).\n\nI merged the following steps into one patch since they may be\nlogically doing one thing, though I know it looks a little bit fat\nto review.\n\n1). Remove redundant code used by ocfs2_commit_truncate(), since we\u0027re\n    moving to ocfs2_remove_btree_range anyway.\n\n2). Add a new func ocfs2_reserve_blocks_for_rec_trunc() for purpose of\n    accepting some extra blocks to reserve.\n\n3). Change ocfs2_prepare_refcount_change_for_del() a bit to fit our\n    needs.  It\u0027s safe to do this since it\u0027s only being called by\n    truncate.\n\n4). Change ocfs2_remove_btree_range() a bit to take refcount case into\n    account.\n\n5). Finally, we change ocfs2_commit_truncate() to call\n    ocfs2_remove_btree_range() in a proper way.\n\nThe patch has been tested normally for sanity check, stress tests\nwith heavier workload will be expected.\n\nBased on this patch, fixing the punching holes bug will be fairly easy.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "547ba7c8efe43c2cabb38782e23572a6179dd1c1",
      "tree": "66343f838e25938a0c41662716d6eca6eaf6d5cb",
      "parents": [
        "e4b963f10e9026c83419b5c25b93a0350413cf16"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon May 10 11:56:52 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon May 10 11:56:52 2010 -0700"
      },
      "message": "ocfs2: Block signals for mkdir/link/symlink/O_CREAT.\n\nOnce file or link creation gets going, it can\u0027t be interrupted by a\nsignal.  They\u0027re not idempotent.\n\nThis blocks signals in ocfs2_mknod(), ocfs2_link(), and ocfs2_symlink()\nonce we start actually changing things.  ocfs2_mknod() covers mknod(),\ncreat(), mkdir(), and open(O_CREAT).\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e4b963f10e9026c83419b5c25b93a0350413cf16",
      "tree": "d162595c9f79626d040cb28c84e53fd8b7fe50ff",
      "parents": [
        "0467ae954d1843de65e7cf8f706f88fe65cd8418"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Sep 02 17:17:36 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon May 10 11:50:10 2010 -0700"
      },
      "message": "ocfs2: Wrap signal blocking in void functions.\n\nocfs2 sometimes needs to block signals around dlm operations, but it\ncurrently does it with sigprocmask().  Even worse, it\u0027s checking the\nerror code of sigprocmask().  The in-kernel sigprocmask() can only error\nif you get the SIG_* argument wrong.  We don\u0027t.\n\nWrap the sigprocmask() calls with ocfs2_[un]block_signals().  These\nfunctions are void, but they will BUG() if somehow sigprocmask() returns\nan error.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "0467ae954d1843de65e7cf8f706f88fe65cd8418",
      "tree": "e0be29c72eb8baaeffe1b933a69d0e835cc24db8",
      "parents": [
        "c901fb00731e307c2c6e8c7d5eee005df5835f9d"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 05 16:25:08 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:20:01 2010 -0700"
      },
      "message": "ocfs2/dlm: Increase o2dlm lockres hash size\n\nLockres hash size of 16KB is far too small for large filesystems (where we\nhave hundreds of thousands of lock resources stored in the table).\nThis patch increases it to 128KB.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "c901fb00731e307c2c6e8c7d5eee005df5835f9d",
      "tree": "4c68bf68590d04d1045ae5d66a9ae158c56019fa",
      "parents": [
        "3e4218df3176657be72ad2fa199779be6c11fe4f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Apr 26 14:34:57 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:09 2010 -0700"
      },
      "message": "ocfs2: Make ocfs2_extend_trans() really extend.\n\nIn ocfs2, we use ocfs2_extend_trans() to extend a journal handle\u0027s\nblocks. But if jbd2_journal_extend() fails, it will only restart\nwith the the new number of blocks.  This tends to be awkward since\nin most cases we want additional reserved blocks. It makes our code\nharder to mantain since the caller can\u0027t be sure all the original\nblocks will not be accessed and dirtied again.  There are 15 callers\nof ocfs2_extend_trans() in fs/ocfs2, and 12 of them have to add\nh_buffer_credits before they call ocfs2_extend_trans().  This makes\nocfs2_extend_trans() really extend atop the original block count.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "3e4218df3176657be72ad2fa199779be6c11fe4f",
      "tree": "99512a1b274e7e99af1b7fe9d388efce79399c20",
      "parents": [
        "b065556a7d1a9205403db77a318a5c5aa530e701"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Apr 06 16:46:46 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:09 2010 -0700"
      },
      "message": "ocfs2/trivial: Code cleanup for allocation reservation.\n\nTwo tiny cleanup for allocation reservation.\n1. Remove some extra codes in ocfs2_local_alloc_find_clear_bits.\n2. Remove an unuseful variables in ocfs2_find_resv_lhs.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b065556a7d1a9205403db77a318a5c5aa530e701",
      "tree": "fd8ef1e5e67c624c9fb04689e4a4765e2e59acf8",
      "parents": [
        "4b37fcb7d41ce3b9264b9562d6ffd62db9294bd1"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Apr 08 16:33:02 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:09 2010 -0700"
      },
      "message": "ocfs2: make ocfs2_adjust_resv_from_alloc simple.\n\nWhen we allocate some bits from the reservation, we always\nallocate from the r_start(see ocfs2_resmap_resv_bits).\nSo there should be no reason to check between r_start\nand start. And I don\u0027t think we will change this behaviour\nlater by allocating from some bits after r_start.  Why not make\nocfs2_adjust_resv_from_alloc simple for now?\n\nThe only chance we have to adjust the reservation is when we haven\u0027t\nreached the end. With this patch, the function is more readable.\n\nNote:\nbtw, this patch also fixes an original bug in the function\nwhich I haven\u0027t found before.\n\tif (end \u003c ocfs2_resv_end(resv))\n\t\trhs \u003d end - ocfs2_resv_end(resv);\nThis code is of course buggy. ;)\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "4b37fcb7d41ce3b9264b9562d6ffd62db9294bd1",
      "tree": "0a171c2d8882fa64a5391f8725e2c3b4382b2d59",
      "parents": [
        "5c80d4c9e5489d5930412add87501702fe5f93fb"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Apr 13 18:00:31 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:08 2010 -0700"
      },
      "message": "ocfs2: Make nointr a default mount option\n\nOCFS2 has never really supported intr. This patch acknowledges this reality\nand makes nointr the default mount option. In a later patch, we intend to\nsupport intr.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "5c80d4c9e5489d5930412add87501702fe5f93fb",
      "tree": "2a69dc7066db76cbc3f5f0d0cc4636af3f6909bb",
      "parents": [
        "23fd9abdc8f63c72fe3324e83d454ccecedaec37"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Apr 13 18:00:30 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:08 2010 -0700"
      },
      "message": "ocfs2/dlm: Make o2dlm domain join/leave messages KERN_NOTICE\n\no2dlm join and leave messages are more than informational as they are\nrequired for debugging locking issues. This patch changes them from\nKERN_INFO to KERN_NOTICE.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "23fd9abdc8f63c72fe3324e83d454ccecedaec37",
      "tree": "1757ac3807a5b235a0e485784cf9517028bc9b5c",
      "parents": [
        "a5196ec5ef80309fd390191c548ee1f2e8a327ee"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Wed Mar 31 14:32:29 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:08 2010 -0700"
      },
      "message": "o2net: log socket state changes\n\nThis patch logs socket state changes that lead to socket shutdown.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a5196ec5ef80309fd390191c548ee1f2e8a327ee",
      "tree": "5856168bc2708230107940ec73a6752fabd8fd7b",
      "parents": [
        "83f92318fa33cc084e14e64dc903e605f75884c1"
      ],
      "author": {
        "name": "Wengang Wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Tue Mar 30 12:09:22 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:08 2010 -0700"
      },
      "message": "ocfs2: print node # when tcp fails\n\nPrint the node number of a peer node if sending it a message failed.\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "83f92318fa33cc084e14e64dc903e605f75884c1",
      "tree": "c7466c64019fb050c69cab27b4388e3a86d58b1a",
      "parents": [
        "b07f8f24dfe54da0f074b78949044842e8df881f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:16 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:07 2010 -0700"
      },
      "message": "ocfs2: Add dir_resv_level mount option\n\nThe default behavior for directory reservations stays the same, but we add a\nmount option so people can tweak the size of directory reservations\naccording to their workloads.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b07f8f24dfe54da0f074b78949044842e8df881f",
      "tree": "8cc24b0a1e02a9b7f1241fbfecca50ac6881b938",
      "parents": [
        "6b82021b9e91cd689fdffadbcdb9a42597bbe764"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:15 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:07 2010 -0700"
      },
      "message": "ocfs2: change default reservation window sizes\n\nThe default reservation size of 4 (32-bit windows) is a bit too ambitious.\nScale it back to 16 bits (resv_level\u003d2). I have been testing various sizes\non a 4-node cluster which runs a mixed workload that is heavily threaded.\nWith a 256MB local alloc, I get *roughly* the following levels of average file\nfragmentation:\n\nresv_level\u003d0\t70%\nresv_level\u003d1\t21%\nresv_level\u003d2\t23%\nresv_level\u003d3\t24%\nresv_level\u003d4\t60%\nresv_level\u003d5\tdid not test\nresv_level\u003d6\t60%\n\nresv_level\u003d2 seemed like a good compromise between not letting windows be\ntoo small, but not so big that heavier workloads will immediately suffer\nwithout tuning.\n\nThis patch also change the behavior of directory reservations - they now\ntrack file reservations.  The previous compromise of giving directory\nwindows only 8 bits wound up fragmenting more at some window sizes because\nfile allocations had smaller unused windows to poach from.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "6b82021b9e91cd689fdffadbcdb9a42597bbe764",
      "tree": "ac4235e792e74a2e60a41e95d62965b7ed4b3232",
      "parents": [
        "73c8a80003d13be54e2309865030404441075182"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:14 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:07 2010 -0700"
      },
      "message": "ocfs2: increase the default size of local alloc windows\n\nI have observed that the current size of 8M gives us pretty poor\nfragmentation on multi-threaded workloads which do lots of writes.\n\nGenerally, I can increase the size of local alloc windows and observe a\nmarked decrease in fragmentation, even up and beyond window sizes of 512\nmegabytes. This makes sense for a couple reasons - larger local alloc means\nmore room for reservation windows. On multi-node workloads the larger local\nalloc helps as well because we don\u0027t have to do window slides as often.\n\nAlso, I removed the OCFS2_DEFAULT_LOCAL_ALLOC_SIZE constant as it is no\nlonger used and the comment above it was out of date.\n\nTo test fragmentation, I used a workload which launched 4 threads that did\n4k writes into a series of about 140 alternating files.\n\nWith resv_level\u003d2, and a 4k/4k file system I observed the following average\nfragmentation for various localalloc\u003d parameters:\n\nlocalalloc\u003d\tavg. fragmentation\n\t8\t\t48\n\t32\t\t16\n\t64\t\t10\n\t120\t\t7\n\nOn larger cluster sizes, the difference is more dramatic.\n\nThe new default size top out at 256M, which we\u0027ll only get for cluster\nsizes of 32K and above.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "73c8a80003d13be54e2309865030404441075182",
      "tree": "9b5a47939c22838133f46ea6d207254aa68d177b",
      "parents": [
        "a57c8fd2ad238258cc983049008aea5f985804b2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:13 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:06 2010 -0700"
      },
      "message": "ocfs2: clean up localalloc mount option size parsing\n\nThis patch pulls the local alloc sizing code into localalloc.c and provides\na callout to it from ocfs2_fill_super(). Behavior is essentially unchanged\nexcept that I correctly calculate the maximum local alloc size. The old code\nin ocfs2_parse_options() calculated the max size as:\n\nocfs2_local_alloc_size(sb) * 8\n\nwhich is correct, in bits. Unfortunately though the option passed in is in\nmegabytes. Ultimately, this bug made no real difference - the shrink code\nwould catch a too-large size and bring it down to something reasonable.\nStill, it\u0027s less than efficient as-is.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a57c8fd2ad238258cc983049008aea5f985804b2",
      "tree": "2d9142401ca7a03df6edaefcc3fd937f2f24fc8d",
      "parents": [
        "33d5d380d667ad264675cfdb297dfc3c5b6542cc"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Mar 16 21:01:00 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:31 2010 -0700"
      },
      "message": "ocfs2: remove ocfs2_local_alloc_in_range()\n\nInodes are always allocated from the global bitmap now so we don\u0027t need this\nany more. Also, the existing implementation bounces reservations around\nneedlessly.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "33d5d380d667ad264675cfdb297dfc3c5b6542cc",
      "tree": "9dcaaf4cb17559d502ee835f0aa18c46ee8c09a0",
      "parents": [
        "e3b4a97dbe9741a3227c3ed857a0632532fcd386"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Feb 24 13:34:09 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:31 2010 -0700"
      },
      "message": "ocfs2: allocate btree internal block groups from the global bitmap\n\nOtherwise, the need for a very large contiguous allocation tends to\nwreak havoc on many inode allocation reservations on the local alloc, thus\nruining any chances for contiguousness.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e3b4a97dbe9741a3227c3ed857a0632532fcd386",
      "tree": "31da8dd09ad6ef8959b287e36e98ead30472a284",
      "parents": [
        "4fe370afaae49c57619bb0bedb75de7e7c168308"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Dec 07 13:16:07 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:30 2010 -0700"
      },
      "message": "ocfs2: use allocation reservations for directory data\n\nUse the reservations system for unindexed dir tree allocations. We don\u0027t\nbother with the indexed tree as reads from it are mostly random anyway.\nDirectory reservations are marked seperately, to allow the reservations code\na chance to optimize their window sizes. This patch allocates only 8 bits\nfor directory windows as they generally are not expected to grow as quickly\nas file data. Future improvements to dir window sizing can trivially be\nmade.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4fe370afaae49c57619bb0bedb75de7e7c168308",
      "tree": "7b2752fc9616578e9e3baa659e6c724b301d26c5",
      "parents": [
        "d02f00cc057809d96c044cc72d5b9809d59f7d49"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Dec 07 13:15:40 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:30 2010 -0700"
      },
      "message": "ocfs2: use allocation reservations during file write\n\nAdd a per-inode reservations structure and pass it through to the\nreservations code.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d02f00cc057809d96c044cc72d5b9809d59f7d49",
      "tree": "44a6d81ecf9fb4b5aa91c0501a8da2ee36890a38",
      "parents": [
        "ec20cec7a351584ca6c70ead012e73d61f9a8e04"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Dec 07 13:10:48 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:30 2010 -0700"
      },
      "message": "ocfs2: allocation reservations\n\nThis patch improves Ocfs2 allocation policy by allowing an inode to\nreserve a portion of the local alloc bitmap for itself. The reserved\nportion (allocation window) is advisory in that other allocation\nwindows might steal it if the local alloc bitmap becomes\nfull. Otherwise, the reservations are honored and guaranteed to be\nfree. When the local alloc window is moved to a different portion of\nthe bitmap, existing reservations are discarded.\n\nReservation windows are represented internally by a red-black\ntree. Within that tree, each node represents the reservation window of\none inode. An LRU of active reservations is also maintained. When new\ndata is written, we allocate it from the inodes window. When all bits\nin a window are exhausted, we allocate a new one as close to the\nprevious one as possible. Should we not find free space, an existing\nreservation is pulled off the LRU and cannibalized.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ec20cec7a351584ca6c70ead012e73d61f9a8e04",
      "tree": "39af308ae07ab168313bb50ced1bb1ae7ef7e6a3",
      "parents": [
        "b4414eea0e7b9c134262c801a87e338bf675962c"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Mar 19 14:13:52 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:29 2010 -0700"
      },
      "message": "ocfs2: Make ocfs2_journal_dirty() void.\n\njbd[2]_journal_dirty_metadata() only returns 0.  It\u0027s been returning 0\nsince before the kernel moved to git.  There is no point in checking\nthis error.\n\nocfs2_journal_dirty() has been faithfully returning the status since the\nbeginning.  All over ocfs2, we have blocks of code checking this can\u0027t\nfail status.  In the past few years, we\u0027ve tried to avoid adding these\nchecks, because they are pointless.  But anyone who looks at our code\nassumes they are needed.\n\nFinally, ocfs2_journal_dirty() is made a void function.  All error\nchecking is removed from other files.  We\u0027ll BUG_ON() the status of\njbd2_journal_dirty_metadata() just in case they change it someday.  They\nwon\u0027t.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b4414eea0e7b9c134262c801a87e338bf675962c",
      "tree": "09829d99527f1da69cc19074a2d3baef1195955e",
      "parents": [
        "b23179681c90a55e2a2083e1dde9f727ecffb2b7"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 11 18:31:09 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Mar 23 18:22:40 2010 -0700"
      },
      "message": "ocfs2: Clear undo bits when local alloc is freed\n\nWhen the local alloc file changes windows, unused bits are freed back to the\nglobal bitmap. By defnition, those bits can not be in use by any file. Also,\nthe local alloc will never have been able to allocate those bits if they\nwere part of a previous truncate. Therefore it makes sense that we should\nclear unused local alloc bits in the undo buffer so that they can be used\nimmediatly.\n\n[ Modified to call it ocfs2_release_clusters() -- Joel ]\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b23179681c90a55e2a2083e1dde9f727ecffb2b7",
      "tree": "262a3a1f4e7780fbcea841ca9ffc3d5ac0481cd5",
      "parents": [
        "dfe4d3d6a6f707fff1dbfd4b8fce65e64a91b809"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Mar 19 15:04:24 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Mar 19 14:53:52 2010 -0700"
      },
      "message": "ocfs2: Init meta_ac properly in ocfs2_create_empty_xattr_block.\n\nYou can\u0027t store a pointer that you haven\u0027t filled in yet and expect it\nto work.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "dfe4d3d6a6f707fff1dbfd4b8fce65e64a91b809",
      "tree": "28bbbc33446fe576b7baaa949fcd7d74c7e23726",
      "parents": [
        "b22b63ebafb97b66d1054e69941ee049d790c6cf"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Mar 19 15:04:23 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Mar 19 14:53:51 2010 -0700"
      },
      "message": "ocfs2: Fix the update of name_offset when removing xattrs\n\nWhen replacing a xattr\u0027s value, in some case we wipe its name/value\nfirst and then re-add it. The wipe is done by\nocfs2_xa_block_wipe_namevalue() when the xattr is in the inode or\nblock. We currently adjust name_offset for all the entries which have\n(offset \u003c name_offset). This does not adjust the entrie we\u0027re replacing.\nSince we are replacing the entry, we don\u0027t adjust the total entry count.\nWhen we calculate a new namevalue location, we trust the entries\nnow-wrong offset in ocfs2_xa_get_free_start().  The solution is to\nalso adjust the name_offset for the replaced entry, allowing\nocfs2_xa_get_free_start() to calculate the new namevalue location\ncorrectly.\n\nThe following script can trigger a kernel panic easily.\n\necho \u0027y\u0027|mkfs.ocfs2 --fs-features\u003dlocal,xattr -b 4K $DEVICE\nmount -t ocfs2 $DEVICE $MNT_DIR\nFILE\u003d$MNT_DIR/$RANDOM\nfor((i\u003d0;i\u003c76;i++))\ndo\nstring_76\u003d\"a$string_76\"\ndone\nstring_78\u003d\"aa$string_76\"\nstring_82\u003d\"aaaa$string_78\"\n\ntouch $FILE\nsetfattr -n \u0027user.test1234567890\u0027 -v $string_76 $FILE\nsetfattr -n \u0027user.test1234567890\u0027 -v $string_78 $FILE\nsetfattr -n \u0027user.test1234567890\u0027 -v $string_82 $FILE\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b22b63ebafb97b66d1054e69941ee049d790c6cf",
      "tree": "98c6049f6ab23ad71ed4ba6dad43558296ae69b6",
      "parents": [
        "fcefd25ac89239cb57fa198f125a79ff85468c75"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 11 18:43:46 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Mar 18 13:22:42 2010 -0700"
      },
      "message": "ocfs2: Always try for maximum bits with new local alloc windows\n\nWhat we were doing before was to ask for the current window size as the\nmaximum allocation. This had the effect of limiting the amount of allocation\nwe could get for the local alloc during times when the window size was\nshrunk due to fragmentation. In some cases, that could actually *increase*\nfragmentation by artificially limiting the number of bits we can accept. So\nwhile we still want to ask for a minimum number of bits equal to window\nsize, there is no reason why we should limit the number of bits the local\nalloc should accept. Hence always allow the maximum number of local alloc\nbits.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "fcefd25ac89239cb57fa198f125a79ff85468c75",
      "tree": "be758d25079055bebe26dd9ad9a7db6121158a75",
      "parents": [
        "6527f8f848ec84b9daf1cb07601266126b8507ab"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Mar 15 15:39:00 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Mar 17 12:28:22 2010 -0700"
      },
      "message": "ocfs2: set i_mode on disk during acl operations\n\nocfs2_set_acl() and ocfs2_init_acl() were setting i_mode on the in-memory\ninode, but never setting it on the disk copy. Thus, acls were some times not\ngetting propagated between nodes. This patch fixes the issue by adding a\nhelper function ocfs2_acl_set_mode() which does this the right way.\nocfs2_set_acl() and ocfs2_init_acl() are then updated to call\nocfs2_acl_set_mode().\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "6527f8f848ec84b9daf1cb07601266126b8507ab",
      "tree": "fd7bbdfb3a63921e78f22480f60b5bc037e37d16",
      "parents": [
        "78c37eb0d5e6a9727b12ea0f1821795ffaa66cfe"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 10 09:56:52 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Mar 17 12:28:00 2010 -0700"
      },
      "message": "ocfs2: Update i_blocks in reflink operations.\n\nIn reflink, we need to upate i_blocks for the target inode.\n\nReported-by: Jie Liu \u003cjeff.liu@oracle.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "78c37eb0d5e6a9727b12ea0f1821795ffaa66cfe",
      "tree": "d789252a4335a1ac0910d34be29fe43bc4153d9c",
      "parents": [
        "ee860b6a650360c91f5d5f9a94262aad9be90015"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 03 11:26:27 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Mar 17 12:07:21 2010 -0700"
      },
      "message": "ocfs2: Change bg_chain check for ocfs2_validate_gd_parent.\n\nIn ocfs2_validate_gd_parent, we check bg_chain against the\ncl_next_free_rec of the dinode. Actually in resize, we have\nthe chance of bg_chain \u003d\u003d cl_next_free_rec. So add some\nadditional condition check for it.\n\nI also rename paramter \"clean_error\" to \"resize\", since the\nold one is not clearly enough to indicate that we should only\nmeet with this case in resize.\n\nbtw, the correpsonding bug is\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1230.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ee860b6a650360c91f5d5f9a94262aad9be90015",
      "tree": "745d678c30f4bcb6bd3306b39f9b2d1869481cef",
      "parents": [
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Wed Mar 10 10:28:40 2010 -0500"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Mar 17 12:07:16 2010 -0700"
      },
      "message": "\n[PATCH] Skip check for mandatory locks when unlocking\n\nocfs2_lock() will skip locks on file which has mode set to 02666. This\nis a problem in cases where the mode of the file is changed after a\nprocess has obtained a lock on the file.\n\nocfs2_lock() should skip the check for mandatory locks when unlocking a\nfile.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a3d3203e4bb40f253b1541e310dc0f9305be7c84",
      "tree": "ac0d74a607493053da92244a6763e503c5904f4f",
      "parents": [
        "f937331b3f92cb2f67bc81baa1b8cc5198c439e5",
        "ec28dcc6b4c00b78ad269ad5b85ebd5c2d504825"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 20:29:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 20:29:21 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)\n  ACPI: processor: push file static MADT pointer into internal map_madt_entry()\n  ACPI: processor: refactor internal map_lsapic_id()\n  ACPI: processor: refactor internal map_x2apic_id()\n  ACPI: processor: refactor internal map_lapic_id()\n  ACPI: processor: driver doesn\u0027t need to evaluate _PDC\n  ACPI: processor: remove early _PDC optin quirks\n  ACPI: processor: add internal processor_physically_present()\n  ACPI: processor: move acpi_get_cpuid into processor_core.c\n  ACPI: processor: export acpi_get_cpuid()\n  ACPI: processor: mv processor_pdc.c processor_core.c\n  ACPI: processor: mv processor_core.c processor_driver.c\n  ACPI: plan to delete \"acpi\u003dht\" boot option\n  ACPI: remove \"acpi\u003dht\" DMI blacklist\n  PNPACPI: add bus number support\n  PNPACPI: add window support\n  resource: add window support\n  resource: add bus number support\n  resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type\n  acpiphp: Execute ACPI _REG method for hotadded devices\n  ACPI video: Be more liberal in validating _BQC behaviour\n  ...\n"
    },
    {
      "commit": "f937331b3f92cb2f67bc81baa1b8cc5198c439e5",
      "tree": "e14edb4d6e31ef48f07145e6f3e4016c6075f4d8",
      "parents": [
        "181427a7e01beab76c789414334375839f026128"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Mon Mar 15 01:29:41 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 20:28:39 2010 -0700"
      },
      "message": "init dynamic bin_attribute structures\n\nCommit 6992f5334995af474c2b58d010d08bc597f0f2fe (\"sysfs: Use one lockdep\nclass per sysfs attribute.\") introduced this requirement.  First, at25\nwas fixed manually.  Then, other occurences were found with coccinelle\nand the following semantic patch.  Results were reviewed and fixed up:\n\n    @ init @\n    identifier struct_name, bin;\n    @@\n\n    \tstruct struct_name {\n    \t\t...\n    \t\tstruct bin_attribute bin;\n    \t\t...\n    \t};\n\n    @ main extends init @\n    expression E;\n    statement S;\n    identifier name, err;\n    @@\n\n    (\n    \tstruct struct_name *name;\n    |\n    -\tstruct struct_name *name \u003d NULL;\n    +\tstruct struct_name *name;\n    )\n    \t...\n    (\n    \tsysfs_bin_attr_init(\u0026name-\u003ebin);\n    |\n    +\tsysfs_bin_attr_init(\u0026name-\u003ebin);\n    \tif (sysfs_create_bin_file(E, \u0026name-\u003ebin))\n    \t\tS\n    |\n    +\tsysfs_bin_attr_init(\u0026name-\u003ebin);\n    \terr \u003d sysfs_create_bin_file(E, \u0026name-\u003ebin);\n    )\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec28dcc6b4c00b78ad269ad5b85ebd5c2d504825",
      "tree": "6170f5c33200f7fb32ef5fda87a0ae923fe81341",
      "parents": [
        "c67fcd670b55e89e0c129fbf7fae854bd1f8bfa6",
        "d06070509147c948a06056da619c9dc2ed349805",
        "f6bb13aa1ea3bb26a4c783822347873f085b9000",
        "0c99c5288eb9b1bbc9684b0ec0fd7efc578749b3",
        "4c81ba4900ab4eb24c7d2ba1aca594c644b6ce4c",
        "7e0e9c042790d4ea44c6a00ddaad8b8bbcc3f17f",
        "149fe9c293f76803206648270ca24fc2604d5f01",
        "cffdde993a016bedbc2f5eb60d00c3a766ffb612",
        "fa80945269f312bc609e8384302f58b03c916e12",
        "8b7ef6d8f16274da42344cd50746ddb1c93c25ea",
        "70287db87cfc968fe78bf82a489833cc77b84352",
        "38bcb37a6f63fcdfcc0dd0af3ec5c03a4b7be48e"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:30:17 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:30:17 2010 -0400"
      },
      "message": "Merge branches \u0027battery-2.6.34\u0027, \u0027bugzilla-10805\u0027, \u0027bugzilla-14668\u0027, \u0027bugzilla-531916-power-state\u0027, \u0027ht-warn-2.6.34\u0027, \u0027pnp\u0027, \u0027processor-rename\u0027, \u0027sony-2.6.34\u0027, \u0027suse-bugzilla-531547\u0027, \u0027tz-check\u0027, \u0027video\u0027 and \u0027misc-2.6.34\u0027 into release\n"
    },
    {
      "commit": "149fe9c293f76803206648270ca24fc2604d5f01",
      "tree": "2649f879445879ab2bba0d85a0e94e8b5d1676df",
      "parents": [
        "eae701ceadf5aa3fc3b334029ef71f6885ef1cde"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:12:00 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:26 2010 -0400"
      },
      "message": "ACPI: processor: push file static MADT pointer into internal map_madt_entry()\n\nThere\u0027s no real need for a pointer to the MADT to be global. The only\nfunction who uses it is map_madt_entry.\n\nThis allows us to remove some more ugly #ifdefs.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "eae701ceadf5aa3fc3b334029ef71f6885ef1cde",
      "tree": "f29640511c27d52a953db35d8716e7c309f0a2f6",
      "parents": [
        "d67420956b7b1dcffb894b2f1f81b9408fca1b4c"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:55 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:25 2010 -0400"
      },
      "message": "ACPI: processor: refactor internal map_lsapic_id()\n\nUn-nest the if statements for readability.\n\nRemove comments that re-state the obvious.\n\nChange the control flow so that we no longer need a temp variable.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d67420956b7b1dcffb894b2f1f81b9408fca1b4c",
      "tree": "6dc450d623398f9c27ab0c2590356f4bb8a2408f",
      "parents": [
        "11130736c99c37e253f45b2d3fd30b07313f83c6"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:50 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:24 2010 -0400"
      },
      "message": "ACPI: processor: refactor internal map_x2apic_id()\n\nUntangle the nested if conditions to make this function look\nmore similar to the other map_*apic_id() functions.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "11130736c99c37e253f45b2d3fd30b07313f83c6",
      "tree": "1fd6a091ac6a6105e7e7619b1faf6cabebba7bc2",
      "parents": [
        "d8191fa4a33fdc817277da4f2b7f771ff605a41c"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:44 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:23 2010 -0400"
      },
      "message": "ACPI: processor: refactor internal map_lapic_id()\n\nUntangle the if() statement a little for readability.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d8191fa4a33fdc817277da4f2b7f771ff605a41c",
      "tree": "d72667311fcaea0fbfc7c9a8e71bd6b612af215c",
      "parents": [
        "3b1da4c5d1032ebc29fec8bd8f592ba6589be8ed"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:39 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:22 2010 -0400"
      },
      "message": "ACPI: processor: driver doesn\u0027t need to evaluate _PDC\n\nNow that the early _PDC evaluation path knows how to correctly\nevaluate _PDC on only physically present processors, there\u0027s no\nneed for the processor driver to evaluate it later when it loads.\n\nTo cover the hotplug case, push _PDC evaluation down into the\nhotplug paths.\n\nCc: x86@kernel.org\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3b1da4c5d1032ebc29fec8bd8f592ba6589be8ed",
      "tree": "b6853cbdea5739beff77b4503dd9734c63e85ee1",
      "parents": [
        "5d554a7bb0643a6151a84319bfeba8270bf5269e"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:34 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:21 2010 -0400"
      },
      "message": "ACPI: processor: remove early _PDC optin quirks\n\nNow that we check for physically present processors before blindly\nevaluating _PDC, we no longer need to maintain a DMI opt-in table\nnor a kernel param.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5d554a7bb0643a6151a84319bfeba8270bf5269e",
      "tree": "943d8107099270ced84f941f5b498f280132ff1f",
      "parents": [
        "78ed8bd2944b6400f742306e5fe9d1b9b6bf18ba"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:29 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:20 2010 -0400"
      },
      "message": "ACPI: processor: add internal processor_physically_present()\n\nDetect if a processor is physically present before evaluating _PDC.\n\nWe want this because some BIOS will provide a _PDC even for processors\nthat are not present. These bogus _PDC methods then attempt to load\nnon-existent tables, which causes problems.\n\nAvoid those bogus landmines.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "78ed8bd2944b6400f742306e5fe9d1b9b6bf18ba",
      "tree": "1dee7eaa89340e8ee03517da5589d033537e836d",
      "parents": [
        "2e9d5e4efa0beeca03ad550bda28027826e83e42"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:24 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:19 2010 -0400"
      },
      "message": "ACPI: processor: move acpi_get_cpuid into processor_core.c\n\nEnumerating processors (via MADT/_MAT) belongs in the processor core,\nwhich is always built-in, rather than living in the processor driver\nwhich may not be built.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2e9d5e4efa0beeca03ad550bda28027826e83e42",
      "tree": "2b2c94819ff1b521933ab7fec8d430e2ce3ee91b",
      "parents": [
        "4d5d4cd88c542ff56cf7feacd29cc907f2abbfbb"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:19 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:18 2010 -0400"
      },
      "message": "ACPI: processor: export acpi_get_cpuid()\n\nRename static get_cpu_id() to acpi_get_cpuid() and export it.\n\nThis change also gives us an opportunity to remove the\n#ifndef CONFIG_SMP from processor_driver.c and into a header file\nwhere it properly belongs.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4d5d4cd88c542ff56cf7feacd29cc907f2abbfbb",
      "tree": "f1a003048703173276e165be8239778d892a5214",
      "parents": [
        "0131aa3dd7dcf41c66784b96ff351f63ee3ef348"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:14 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:17 2010 -0400"
      },
      "message": "ACPI: processor: mv processor_pdc.c processor_core.c\n\nWe\u0027ve renamed the old processor_core.c to processor_driver.c, to\nconvey the idea that it can be built modular and has driver-like\nbits.\n\nNow let\u0027s re-create a processor_core.c for the bits needed\nstatically by the rest of the kernel. The contents of processor_pdc.c\nare a good starting spot, so let\u0027s just rename that file and\ncomplete our three card monte.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0131aa3dd7dcf41c66784b96ff351f63ee3ef348",
      "tree": "0222e8ac1fdfa853814f7a98b69c91e3d7a04613",
      "parents": [
        "bca14dd14f3b0c5e3e2d1d314679f85b67871365"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Feb 22 12:11:08 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 21:17:16 2010 -0400"
      },
      "message": "ACPI: processor: mv processor_core.c processor_driver.c\n\nThe ACPI processor driver can be built as a module. But it has\npieces of code that should always be built statically into the\nkernel.\n\nThe plan is for processor_core.c to contain the static bits while\nprocessor_driver.c contains the module-like bits.\n\nSince the bulk of the code in the current processor_core.c is\nmodule-like, first step is to rename the file to processor_driver.c\n\nNext step will re-create processor_core.c and cherry-pick out\nthe static bits.\n\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4c81ba4900ab4eb24c7d2ba1aca594c644b6ce4c",
      "tree": "4549d9c5791aa3a9991acba55601f8aa9cab0201",
      "parents": [
        "8144c880397d502d12af4ef721f3eac50163fa39"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 16:28:46 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:58:24 2010 -0400"
      },
      "message": "ACPI: plan to delete \"acpi\u003dht\" boot option\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8144c880397d502d12af4ef721f3eac50163fa39",
      "tree": "c700d1b1f5e2c1fd4c1c4a1b33af51760e68efbc",
      "parents": [
        "bca14dd14f3b0c5e3e2d1d314679f85b67871365"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 18 23:42:47 2010 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:57:02 2010 -0400"
      },
      "message": "ACPI: remove \"acpi\u003dht\" DMI blacklist\n\nSuSE added these entries when deploying ACPI in Linux-2.4.\nI pulled them into Linux-2.6 on 2003-08-09.\nOver the last 6+ years, several entries have proven to be\nunnecessary and deleted, while no new entries have been added.\nMatthew suggests that they now have negative value, and I agree.\n\nBased-on-patch-by: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7e0e9c042790d4ea44c6a00ddaad8b8bbcc3f17f",
      "tree": "b0caf1f008ae1f2f2f32bfecfaba7c8ba9986c6f",
      "parents": [
        "fa35b49260b615d634bfa1f767aa315fa323c2e9"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:57 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:38 2010 -0400"
      },
      "message": "PNPACPI: add bus number support\n\nAdd support for bus number resources.  This is for bridges with a range of\nbus numbers behind them.  Previously, PNP ignored bus number resources.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "fa35b49260b615d634bfa1f767aa315fa323c2e9",
      "tree": "bb518f40386f4118d0fab130c28209201a0f24e9",
      "parents": [
        "9d7cca04211d4eb104eaaa424b98f650bc29c730"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:52 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:37 2010 -0400"
      },
      "message": "PNPACPI: add window support\n\nAdd support for resource windows.  This is for bridge resources, i.e.,\nregions where a bridge forwards transactions from the primary to the\nsecondary side.  This does not add support for *setting* windows via\nthe /proc interface.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9d7cca04211d4eb104eaaa424b98f650bc29c730",
      "tree": "133c5a2251296aa7461c16b5d7dfd4609502e0bd",
      "parents": [
        "0f4050c7d3ba0275e5f39513c0670a717d43048c"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:47 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:36 2010 -0400"
      },
      "message": "resource: add window support\n\nAdd support for resource windows.  This is for bridge resources, i.e.,\nregions where a bridge forwards transactions from the primary to the\nsecondary side.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0f4050c7d3ba0275e5f39513c0670a717d43048c",
      "tree": "a3e01440a7b5e62d8ca1e6cd8ee80e2eb0b0cfbf",
      "parents": [
        "cd7e9fcd1f7c9c397f747cf506c66f7dca11d1c6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:42 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:35 2010 -0400"
      },
      "message": "resource: add bus number support\n\nAdd support for bus number resources.  This is for bridges with a range of\nbus numbers behind them.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cd7e9fcd1f7c9c397f747cf506c66f7dca11d1c6",
      "tree": "a754bc15350dced59165d6de3a38d32b1fd6a43e",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:26 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:34 2010 -0400"
      },
      "message": "resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type\n\nNo functional change; this just makes room for another resource type.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "181427a7e01beab76c789414334375839f026128",
      "tree": "3a50a93331b536b80d9c393a034489c9678d8a13",
      "parents": [
        "bca14dd14f3b0c5e3e2d1d314679f85b67871365"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 13 14:14:22 2010 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 15 07:51:29 2010 +1100"
      },
      "message": "tomoyo: fix potential use after free\n\nThe original code returns a freed pointer.  This function is expected to\nreturn NULL on errors.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d06070509147c948a06056da619c9dc2ed349805",
      "tree": "c5e5d9a1c39718502ee4765cf850cbddb72f9e66",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Feb 25 10:59:34 2010 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 16:40:50 2010 -0400"
      },
      "message": "acpiphp: Execute ACPI _REG method for hotadded devices\n\nPer ACPI spec, _ERG method should be executed before device driver\ngets control for hotpluged device. Firmware might do some configuration\nthere. See http://bugzilla.kernel.org/show_bug.cgi?id\u003d10805. In this\nmachine, _REG method of docked device will configure cardbus bridge.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nTested-by: Paul Martin \u003cpm@debian.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "70287db87cfc968fe78bf82a489833cc77b84352",
      "tree": "f4863a415e684c83bda0ea93655640a388c984fd",
      "parents": [
        "f8b55f251012e104093e105483c45c5d85ad3040"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Feb 16 16:53:50 2010 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 16:06:37 2010 -0400"
      },
      "message": "ACPI video: Be more liberal in validating _BQC behaviour\n\nRight now, if _BQC returns a value we don\u0027t understand we immediately\ninvalidate it. Change this behaviour so we only invalidate it if it\ncontinues to give an invalid answer after we\u0027ve already set a brightness.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "bca14dd14f3b0c5e3e2d1d314679f85b67871365",
      "tree": "e2da281ecf99e9ea009c71cea947440d2b06afed",
      "parents": [
        "02ca6c407e0d43e6de5d646d26d87fc2eaa7a98b",
        "2aa2b50dd62b5d0675bd7453fbeb5732dc2d7866"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:15:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:15:45 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/mce: Fix build bug with CONFIG_PROVE_LOCKING\u003dy \u0026\u0026 CONFIG_X86_MCE_INTEL\u003dy\n"
    },
    {
      "commit": "02ca6c407e0d43e6de5d646d26d87fc2eaa7a98b",
      "tree": "91e6cdc6029c7be1d09293f9c18ed5c33b902080",
      "parents": [
        "3f995f317f7070e81e8e38bb11357d6671ab6969"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Feb 04 12:11:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:14:58 2010 -0700"
      },
      "message": "Add include to i2c-xii.c to fix build error\n\ndrivers/i2c/busses/i2c-xiic.c:493: error: implicit declaration of function \u0027mdelay\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: \"Richard Röjfors\" \u003crichard.rojfors@pelagicore.com\u003e\nCc: \"Ben Dooks (embedded platforms)\" \u003cben-linux@fluff.org\u003e\nCc: linux-i2c@vger.kernel.org\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f995f317f7070e81e8e38bb11357d6671ab6969",
      "tree": "8bb4a7dd3897e6bfcdabdac8bd1f0b168870079d",
      "parents": [
        "a818d8e43147f40864363456b37a00b819439307"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors@pelagicore.com",
        "time": "Tue Mar 09 09:17:36 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:14:58 2010 -0700"
      },
      "message": "Add the platform data include for the Xilinx XPS IIC Bus Interface\n\nThis file was missed in the original patch that went into Linus\u0027 tree.\n\nCc: \"Ben Dooks (embedded platforms)\" \u003cben-linux@fluff.org\u003e\nCc: linux-i2c@vger.kernel.org\nSigned-off-by: Richard Röjfors \u003crichard.rojfors@pelagicore.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a818d8e43147f40864363456b37a00b819439307",
      "tree": "c0a5139116747c2240f94c024e247a4efd1791c6",
      "parents": [
        "f901e753923192a7793e5d7591e2c03dcb252d68",
        "31968ecf584330b51a25b7bf881c2b632a02a3fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table\n  Input: ALPS - fix stuck buttons on some touchpads\n  Input: wm831x-on - convert to use genirq\n  Input: ads7846 - add wakeup support\n  Input: appletouch - fix integer overflow issue\n  Input: ad7877 - increase pen up imeout\n  Input: ads7846 - add support for AD7843 parts\n  Input: bf54x-keys - fix system hang when pressing a key\n  Input: alps - add support for the touchpad on Toshiba Tecra A11-11L\n  Input: remove BKL, fix input_open_file() locking\n  Input: serio_raw - remove BKL\n  Input: mousedev - remove BKL\n  Input: add driver for TWL4030 vibrator device\n  Input: enable remote wakeup for PNP i8042 keyboard ports\n  Input: scancode in get/set_keycodes should be unsigned\n  Input: i8042 - use platfrom_create_bundle() helper\n  Input: wacom - merge out and in prox events\n  Input: gamecon - fix off by one range check\n  Input: wacom - replace WACOM_PKGLEN_PENABLED\n"
    },
    {
      "commit": "f901e753923192a7793e5d7591e2c03dcb252d68",
      "tree": "efa1224ea1c1a479e4c9a10bb27d0d8d37e26b86",
      "parents": [
        "bced86359918326a65258b1be245834e5c493c88",
        "c91cea11dfec65968ff9d1b4239c1eab63bf72fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:24 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: remove whitespaces before quoted newlines\n  nilfs2: remove spaces before tabs\n  nilfs2: fix various typos in comments\n  nilfs2: fix typo \"cout\" -\u003e \"count\" in error message\n  nilfs2: fix function name typos in docbook comments\n  nilfs2: fix discrepancy in use of static specifier\n"
    },
    {
      "commit": "bced86359918326a65258b1be245834e5c493c88",
      "tree": "72566bf1beefd3e1cc267e2dd5cc3188ab87b836",
      "parents": [
        "ceb804cd0f63b0e0a87b81913b66add6de03043d",
        "0a9c14751377a1407f5e35791e13651d2fc7801c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:04 2010 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-algo-bit: Add pre- and post-xfer hooks\n  at24: Init dynamic bin_attribute structures\n  i2c: Drop configure option I2C_DEBUG_CHIP\n  tsl2550: Move from i2c/chips to misc\n  i2c-i801: Don\u0027t use the block buffer for I2C block writes\n  i2c-powermac: Be less verbose in the absence of real errors.\n  i2c-smbus: Use device_lock/device_unlock\n"
    },
    {
      "commit": "ceb804cd0f63b0e0a87b81913b66add6de03043d",
      "tree": "179d3050a8ea5fe5b8406efec64b5c391499d4d4",
      "parents": [
        "3474cbd11df8cdd6413781ea95bd51dd469098ff",
        "f78233dd44a110c574fe760ad6f9c1e8741a0d00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:11:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:11:08 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: Skip check for mandatory locks when unlocking\n  9p: Fixes a simple bug enabling writes beyond 2GB.\n  9p: Change the name of new protocol from 9p2010.L to 9p2000.L\n  fs/9p: re-init the wstat in readdir loop\n  net/9p: Add sysfs mount_tag file for virtio 9P device\n  net/9p: Use the tag name in the config space for identifying mount point\n"
    },
    {
      "commit": "2aa2b50dd62b5d0675bd7453fbeb5732dc2d7866",
      "tree": "b7a8de47f825a38930ece21c437dd79dd14170f8",
      "parents": [
        "3474cbd11df8cdd6413781ea95bd51dd469098ff"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 14 08:57:03 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 14 08:57:03 2010 +0100"
      },
      "message": "x86/mce: Fix build bug with CONFIG_PROVE_LOCKING\u003dy \u0026\u0026 CONFIG_X86_MCE_INTEL\u003dy\n\nCommit f56e8a076 \"x86/mce: Fix RCU lockdep splats\" introduced the\nfollowing build bug:\n\n  arch/x86/kernel/cpu/mcheck/mce.c: In function \u0027mce_log\u0027:\n  arch/x86/kernel/cpu/mcheck/mce.c:166: error: \u0027mce_read_mutex\u0027 undeclared (first use in this function)\n  arch/x86/kernel/cpu/mcheck/mce.c:166: error: (Each undeclared identifier is reported only once\n  arch/x86/kernel/cpu/mcheck/mce.c:166: error: for each function it appears in.)\n\nMove the in-the-middle-of-file lock variable up to the variable\ndefinition section, the top of the .c file.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: x86@kernel.org\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31968ecf584330b51a25b7bf881c2b632a02a3fb",
      "tree": "a1392d5517825fcf6449ea2d97d541b994310bb4",
      "parents": [
        "c91ed059a080c6f9a7ba525e5027c65d19115d15"
      ],
      "author": {
        "name": "Christoph Fritz",
        "email": "chf.fritz@googlemail.com",
        "time": "Sat Mar 13 22:26:23 2010 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Mar 13 22:37:59 2010 -0800"
      },
      "message": "Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table\n\nALDI/MEDION netbook E1222 needs to be in the reset quirk list for\nits touchpad\u0027s proper function.\n\nReported-by: Michael Fischer \u003cmifi@gmx.de\u003e\nSigned-off-by: Christoph Fritz \u003cchf.fritz@googlemail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "c91ed059a080c6f9a7ba525e5027c65d19115d15",
      "tree": "771090b98b2421d8796855968cbe6e19a8046fb2",
      "parents": [
        "afadb8e08c48d08b75f3caf8404742b13e6b3624"
      ],
      "author": {
        "name": "Martin Buck",
        "email": "mb-tmp-yvahk-vachg@gromit.dyndns.org",
        "time": "Sat Mar 13 22:23:58 2010 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Mar 13 22:37:43 2010 -0800"
      },
      "message": "Input: ALPS - fix stuck buttons on some touchpads\n\nEnable button release event redirection to the device that got the\nbutton press not only for touchpads with interleaved protocols, but\nunconditionally for all Alps touchpads. This is required at least\nfor the touchpads in Dell Inspiron 8200 and Latitude d630.\n\nSigned-off-by: Martin Buck \u003cmb-tmp-yvahk-vachg@gromit.dyndns.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "3474cbd11df8cdd6413781ea95bd51dd469098ff",
      "tree": "c8d78f415c00bad503541bee6dd68055997c3ad7",
      "parents": [
        "d89b218b801fd93ea95880f1c7fde348cbcc51c5",
        "2d378b9179881b46a0faf11430efb421fe03ddd8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 21:29:38 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 21:29:38 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Add very basic XVR-1000 framebuffer driver.\n  qlogicpti: Remove slash in QlogicPTI irq name\n"
    },
    {
      "commit": "c91cea11dfec65968ff9d1b4239c1eab63bf72fd",
      "tree": "2749de610dd52786d7fb3ccdd3e1b5872feb544d",
      "parents": [
        "55480a06e9ee8d05d0e580bf46611df489653c76"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 04:01:27 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: remove whitespaces before quoted newlines\n\nThis kills the following checkpatch warnings:\n\n WARNING: unnecessary whitespace before a quoted newline\n #869: FILE: super.c:869:\n +     \t           \"remount to a different snapshot. \\n\",\n\n WARNING: unnecessary whitespace before a quoted newline\n #389: FILE: the_nilfs.c:389:\n +     \t    printk(KERN_ERR \"NILFS: too short segment. \\n\");\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "55480a06e9ee8d05d0e580bf46611df489653c76",
      "tree": "5e84360a299051720943a3ce0a2713f4165d1ca0",
      "parents": [
        "7a65004bbaa6a21a0438aac9c64814e46084dc3f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:55:56 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: remove spaces before tabs\n\nThis kills the following checkpatch warnings:\n\n WARNING: please, no space before tabs\n #74: FILE: segment.h:74:\n +^Iunsigned ^I^Iflags;$\n\n WARNING: please, no space before tabs\n #35: FILE: segbuf.c:35:\n +^Iint ^I^I^Istart, end; /* The region to be submitted */$\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7a65004bbaa6a21a0438aac9c64814e46084dc3f",
      "tree": "3153527bf645a5ee5865f9059b08282ec00e99f5",
      "parents": [
        "1621562b6ac55aa69239895d90276577547a5f62"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:32:40 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: fix various typos in comments\n\nThis fixes various typos I found in comments of nilfs2.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1621562b6ac55aa69239895d90276577547a5f62",
      "tree": "27d33991e28ac824a8262f1beddecad52cdd304e",
      "parents": [
        "9ccf56c13831c5fe0edecd8c1184c9a6fe805d23"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:17:45 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:50 2010 +0900"
      },
      "message": "nilfs2: fix typo \"cout\" -\u003e \"count\" in error message\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9ccf56c13831c5fe0edecd8c1184c9a6fe805d23",
      "tree": "f3e3810e1d12e6ba88b7dfd922f0185a90112073",
      "parents": [
        "6c477d44a7dad43a2783b4dea7f4ca3882d77126"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:01:03 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:50 2010 +0900"
      },
      "message": "nilfs2: fix function name typos in docbook comments\n\nFixes the following typos in docbook comments:\n\n nilfs_detroy_transaction_cache -\u003e nilfs_destroy_transaction_cache\n nilfs_secgtor_start_timer -\u003e nilfs_segctor_start_timer\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6c477d44a7dad43a2783b4dea7f4ca3882d77126",
      "tree": "7a0e051ddbb9c2c0f11910983efe3d98c8bcf8c5",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 02:01:51 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:27:27 2010 +0900"
      },
      "message": "nilfs2: fix discrepancy in use of static specifier\n\nTwo segbuf functions, nilfs_segbuf_write and nilfs_segbuf_wait, are\ndeclared with the static storage class specifier, but their\nimplementations are not.\n\nThis fixes the discrepancy.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "2d378b9179881b46a0faf11430efb421fe03ddd8",
      "tree": "1f65ae4340bef3fdf11de7ced150d939f602461c",
      "parents": [
        "77d3926306bf4eecac50150ba5625797219f14ba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 16:25:03 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 16:25:03 2010 -0800"
      },
      "message": "sparc64: Add very basic XVR-1000 framebuffer driver.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Frans van Berckel \u003cfberckel@xs4all.nl\u003e\n"
    },
    {
      "commit": "d89b218b801fd93ea95880f1c7fde348cbcc51c5",
      "tree": "cd3c34e1811f9b2bc10ecfb957bf26cbd04c677e",
      "parents": [
        "80a186074e72e2cd61f6716d90cf32ce54981a56",
        "bec68ff1637ca00bb1585a03a7be8a13380084de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:50:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:50:18 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (108 commits)\n  bridge: ensure to unlock in error path in br_multicast_query().\n  drivers/net/tulip/eeprom.c: fix bogus \"(null)\" in tulip init messages\n  sky2: Avoid rtnl_unlock without rtnl_lock\n  ipv6: Send netlink notification when DAD fails\n  drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant\n  ipconfig: Handle devices which take some time to come up.\n  mac80211: Fix memory leak in ieee80211_if_write()\n  mac80211: Fix (dynamic) power save entry\n  ipw2200: use kmalloc for large local variables\n  ath5k: read eeprom IQ calibration values correctly for G mode\n  ath5k: fix I/Q calibration (for real)\n  ath5k: fix TSF reset\n  ath5k: use fixed antenna for tx descriptors\n  libipw: split ieee-\u003enetworks into small pieces\n  mac80211: Fix sta_mtx unlocking on insert STA failure path\n  rt2x00: remove KSEG1ADDR define from rt2x00soc.h\n  net: add ColdFire support to the smc91x driver\n  asix: fix setting mac address for AX88772\n  ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}.\n  net: Fix dev_mc_add()\n  ...\n"
    },
    {
      "commit": "80a186074e72e2cd61f6716d90cf32ce54981a56",
      "tree": "c5f75a83498df0ea2109067b797ec7986479dda0",
      "parents": [
        "15c989d4d14b82f43cae7efc6a7794cdd556f274",
        "3d07467b7aa91623b31d7b5888a123a2c8c8e9cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix pick_next_highest_task_rt() for cgroups\n  sched: Cleanup: remove unused variable in try_to_wake_up()\n  x86: Fix sched_clock_cpu for systems with unsynchronized TSC\n"
    },
    {
      "commit": "15c989d4d14b82f43cae7efc6a7794cdd556f274",
      "tree": "3f1a22991aacf42acaf56467cbe79897146d3e32",
      "parents": [
        "4e3eaddd142e2142c048c5052a0a9d2604fccfc6",
        "0e152cd7c16832bd5cadee0c2e41d9959bc9b6f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:45:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:45:49 2010 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on AMD systems\n  x86, UV: Fix target_cpus() in x2apic_uv_x.c\n  x86: Reduce per cpu warning boot up messages\n  x86: Reduce per cpu MCA boot up messages\n  x86_64, cpa: Don\u0027t work hard in preserving kernel 2M mappings when using 4K already\n"
    },
    {
      "commit": "4e3eaddd142e2142c048c5052a0a9d2604fccfc6",
      "tree": "5bc45a286502e54e790c54948f22364c5afd9d89",
      "parents": [
        "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
        "b97c4bc16734a2e597dac7f91ee9eb78f4aeef9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:43:01 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:43:01 2010 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  locking: Make sparse work with inline spinlocks and rwlocks\n  x86/mce: Fix RCU lockdep splats\n  rcu: Increase RCU CPU stall timeouts if PROVE_RCU\n  ftrace: Replace read_barrier_depends() with rcu_dereference_raw()\n  rcu: Suppress RCU lockdep warnings during early boot\n  rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare()\n  rcu: Suppress __mpol_dup() false positive from RCU lockdep\n  rcu: Make rcu_read_lock_sched_held() handle !PREEMPT\n  rcu: Add control variables to lockdep_rcu_dereference() diagnostics\n  rcu, cgroup: Relax the check in task_subsys_state() as early boot is now handled by lockdep-RCU\n  rcu: Use wrapper function instead of exporting tasklist_lock\n  sched, rcu: Fix rcu_dereference() for RCU-lockdep\n  rcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use\n  rcu: Fix holdoff for accelerated GPs for last non-dynticked CPU\n  x86/gart: Unexport gart_iommu_aperture\n\nFix trivial conflicts in kernel/trace/ftrace.c\n"
    },
    {
      "commit": "8655e7e3ddec60603c4f6c14cdf642e2ba198df8",
      "tree": "711b6da2a665e26940c59b9db493c59d879f6cc6",
      "parents": [
        "461d208cfbd1f0af26027b2c35ded515e54b1ee6",
        "b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:40:50 2010 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Do not record user stack trace from NMI context\n  tracing: Disable buffer switching when starting or stopping trace\n  tracing: Use same local variable when resetting the ring buffer\n  function-graph: Init curr_ret_stack with ret_stack\n  ring-buffer: Move disabled check into preempt disable section\n  function-graph: Add tracing_thresh support to function_graph tracer\n  tracing: Update the comm field in the right variable in update_max_tr\n  function-graph: Use comment notation for func names of dangling \u0027}\u0027\n  function-graph: Fix unused reference to ftrace_set_func()\n  tracing: Fix warning in s_next of trace file ops\n  tracing: Include irqflags headers from trace clock\n"
    },
    {
      "commit": "461d208cfbd1f0af26027b2c35ded515e54b1ee6",
      "tree": "30384817c1567db054e499c1ed964b37c7c76a2a",
      "parents": [
        "9fdfbc2bff587f454dd95e2caa6d147c9abe39e4",
        "0e49887703015dd73667664c5abc9a6366641da9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:54 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55\n  sound: fix opti92x-ad1848 build\n  ALSA: hda - Fix input source elements of secondary ADCs on Realtek\n  ALSA: hda - Fix wrong model range check for ALC268\n"
    },
    {
      "commit": "9fdfbc2bff587f454dd95e2caa6d147c9abe39e4",
      "tree": "2feaee47cbcfb57dd0d5cf23509e22011541e717",
      "parents": [
        "8cea4eb642890a1de58980e7e1617d1765ef8f7c",
        "dc1d628a67a8f042e711ea5accc0beedc3ef0092"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:39:42 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Provide generic perf_sample_data initialization\n  MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer\n  perf trace: Don\u0027t use pager if scripting\n  perf trace/scripting: Remove extraneous header read\n  perf, ARM: Modify kuser rmb() call to compile for Thumb-2\n  x86/stacktrace: Don\u0027t dereference bad frame pointers\n  perf archive: Don\u0027t try to collect files without a build-id\n  perf_events, x86: Fixup fixed counter constraints\n  perf, x86: Restrict the ANY flag\n  perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE\n  perf, x86: add some IBS macros to perf_event.h\n  perf, x86: make IBS macros available in perf_event.h\n  hw-breakpoints: Remove stub unthrottle callback\n  x86/hw-breakpoints: Remove the name field\n  perf: Remove pointless breakpoint union\n  perf lock: Drop the buffers multiplexing dependency\n  perf lock: Fix and add misc documentally things\n  percpu: Add __percpu sparse annotations to hw_breakpoint\n"
    },
    {
      "commit": "8cea4eb642890a1de58980e7e1617d1765ef8f7c",
      "tree": "ea43bc34715d854c599743bf226437339bed1beb",
      "parents": [
        "122ce878dc189860a380539bde19498bf93443a7",
        "720e7749279bde0d08684b1bb4e7a2eedeec6394"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Skip check for mandatory locks when unlocking\n  GFS2: Allow the number of committed revokes to temporarily be negative\n  GFS2: do not select QUOTA\n"
    },
    {
      "commit": "122ce878dc189860a380539bde19498bf93443a7",
      "tree": "8414acd7b686ad4af6b16d0952823f07a12f2522",
      "parents": [
        "daf9fe2ee9a203c4fc555cfe5c5f3d9f660e743c",
        "0636b33c5f2fac4e274464ae6867805f080fc433"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:31 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA/nes: Fix CX4 link problem in back-to-back configuration\n  RDMA/nes: Clear stall bit before destroying NIC QP\n  RDMA/nes: Set assume_aligned_header bit\n  RDMA/cxgb3: Wait at least one schedule cycle during device removal\n  IB/mad: Ignore iWARP devices on device removal\n  IPoIB: Include return code in trace message for ib_post_send() failures\n  IPoIB: Fix TX queue lockup with mixed UD/CM traffic\n"
    },
    {
      "commit": "bec68ff1637ca00bb1585a03a7be8a13380084de",
      "tree": "2e1f14359ab479d1429bbdfcecb2897b5fa4e667",
      "parents": [
        "c251c7f738cd94eb3a1febda318078c661eccb4d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Mar 13 12:27:21 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:27:21 2010 -0800"
      },
      "message": "bridge: ensure to unlock in error path in br_multicast_query().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c251c7f738cd94eb3a1febda318078c661eccb4d",
      "tree": "289938bee0931996df4c195f5ea459444bfcf5e6",
      "parents": [
        "2a40018984c5c9647df1c18489449a3a227d9136"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Mar 13 12:26:15 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:26:15 2010 -0800"
      },
      "message": "drivers/net/tulip/eeprom.c: fix bogus \"(null)\" in tulip init messages\n\nOn Wed, 2010-03-10 at 08:41 -0800, David Miller wrote:\n\u003e From: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\n\u003e Date: Wed, 10 Mar 2010 16:33:28 +0100\n\u003e \u003e Booting 2.6.34-rc1 on a machine with a tulip nic I see\n\u003e \u003e a number of kernel messages that include \"(null)\" where\n\u003e \u003e previous kernels included the string \"tulip0\":\n\u003e CC:\u0027ing the guilty party :-)  It\u0027s one of the following\n\u003e commits:\n\nThanks Mikael.\n\nAnonymity has some good attributes.\nBlame avoidance is one of them.\n\nI\u0027ve broad shoulders.  It\u0027s me, then Dwight Howard...\n\nThere might be another few of these where -\u003ename or -\u003edev\nwas used before struct device or net_device was registered.\nI\u0027ll go back and check.\n\ntulip_core has:\n\n\tif (tp-\u003eflags \u0026 HAS_MEDIA_TABLE) {\n\t\tsprintf(dev-\u003ename, DRV_NAME \"%d\", board_idx);\t/* hack */\n\t\ttulip_parse_eeprom(dev);\n\t\tstrcpy(dev-\u003ename, \"eth%d\");\t\t\t/* un-hack */\n\t}\n\nSo I don\u0027t feel _too_ bad.\n\ntulip_parse_eeprom is done before register_netdev so the logging\nthere can not use netdev_\u003clevel\u003e or dev_\u003clevel\u003e(\u0026dev-\u003edev\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a40018984c5c9647df1c18489449a3a227d9136",
      "tree": "060b4f3595eecbdb9d670ed6da4c7892520a40a9",
      "parents": [
        "e2577a065832f2c6d108de2e027891bdb2d78924"
      ],
      "author": {
        "name": "Mike McCormack",
        "email": "mikem@ring3k.org",
        "time": "Sat Mar 13 12:24:18 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:24:18 2010 -0800"
      },
      "message": "sky2: Avoid rtnl_unlock without rtnl_lock\n\nMake sure we always call rtnl_lock before going down the\nerror path in sky2_resume, which unlocks the rtnl lock.\n\nSigned-off-by: Mike McCormack \u003cmikem@ring3k.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2577a065832f2c6d108de2e027891bdb2d78924",
      "tree": "e7d2d4f8c853fad7a896da5d3b7f8b6202d9e8a1",
      "parents": [
        "3f07d1295191cfa41125e4e61ee2064790070071"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Mar 13 12:23:29 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:23:29 2010 -0800"
      },
      "message": "ipv6: Send netlink notification when DAD fails\n\nIf we are managing IPv6 addresses using DHCP, it would be nice\nfor user-space to be notified if an address configured through\nDHCP fails DAD.  Otherwise user-space would have to poll to see\nwhether DAD succeeds.\n\nThis patch uses the existing notification mechanism and simply\nhooks it into the DAD failure code path.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f07d1295191cfa41125e4e61ee2064790070071",
      "tree": "38ead9913c279857105ce4dbebefc3427d44a008",
      "parents": [
        "a003460b21323ddb29479505d9555f0985b8b2f1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Mar 13 12:22:16 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:22:16 2010 -0800"
      },
      "message": "drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant\n\nThe constant TG3_FLAG_10_100_ONLY should be used with the tg3_flags field,\nnot the tg3_flags2 field, as done elsewhere in the same file.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a003460b21323ddb29479505d9555f0985b8b2f1",
      "tree": "c8c7f2e70d5fdfc91f0ae2b1bd4b7a27913eb1d2",
      "parents": [
        "964ad81cbd933e5fa310faeec1e923c14651284b",
        "dee60269f0fe90927ce5095eef3a8723bbb9c53e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:17:09 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 13 12:17:09 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "0a9c14751377a1407f5e35791e13651d2fc7801c",
      "tree": "e4e524eafda521834d3d2a7fa8a6118e1bae3c32",
      "parents": [
        "d07b56b3098b9f32ae6dedeacbc594bd01dcfcd1"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:56 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:56 2010 +0100"
      },
      "message": "i2c-algo-bit: Add pre- and post-xfer hooks\n\nDrivers might have to do random things before and/or after I2C\ntransfers. Add hooks to the i2c-algo-bit implementation to let them do\nso.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\n"
    },
    {
      "commit": "d07b56b3098b9f32ae6dedeacbc594bd01dcfcd1",
      "tree": "2adb2fa68fb23efa69e2e255a75858653d885047",
      "parents": [
        "e77482d735efa2606c1f2afeebd53e1119d0e5c6"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Sat Mar 13 20:56:55 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:55 2010 +0100"
      },
      "message": "at24: Init dynamic bin_attribute structures\n\nCommit 6992f5334995af474c2b58d010d08bc597f0f2fe introduced this requirement.\n\nReported-by: Albrecht Dress \u003calbrecht.dress@arcor.de\u003e\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "e77482d735efa2606c1f2afeebd53e1119d0e5c6",
      "tree": "062f54fe10eec60647d7fe0e40ead1bacd17dc56",
      "parents": [
        "6a9bcced518b98a7e52b9e8e96af228b171e0498"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:55 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:55 2010 +0100"
      },
      "message": "i2c: Drop configure option I2C_DEBUG_CHIP\n\nNow that directory drivers/i2c/chips is gone, configuration option\nI2C_DEBUG_CHIP no longer has any effect, so we can drop it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "6a9bcced518b98a7e52b9e8e96af228b171e0498",
      "tree": "8c8b209c114b177ce21a712928de89b1ed8c5d91",
      "parents": [
        "c074c39d62306efa5ba7c69c1a1531bc7333d252"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:54 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:54 2010 +0100"
      },
      "message": "tsl2550: Move from i2c/chips to misc\n\nMove the last remaining driver from i2c/chips to misc. Good ridance!\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\n"
    },
    {
      "commit": "c074c39d62306efa5ba7c69c1a1531bc7333d252",
      "tree": "7d17d240821deada26d2221ca51fb1b3f1bb533d",
      "parents": [
        "8e4b980c28c91cfe9d0ce0431bc0af56e146b49e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:53 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:53 2010 +0100"
      },
      "message": "i2c-i801: Don\u0027t use the block buffer for I2C block writes\n\nExperience has shown that the block buffer can only be used for SMBus\n(not I2C) block transactions, even though the datasheet doesn\u0027t\nmention this limitation.\n\nReported-by: Felix Rubinstein \u003cfelixru@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Oleg Ryjkov \u003coryjkov@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8e4b980c28c91cfe9d0ce0431bc0af56e146b49e",
      "tree": "9f928943355ccb00d3f5b0d7cc2cb63f933fc5eb",
      "parents": [
        "f635a1e74bd6001f06fe1df53d32daf2b28bf04b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:52 2010 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:52 2010 +0100"
      },
      "message": "i2c-powermac: Be less verbose in the absence of real errors.\n\nBe less verbose in the absence of real errors. We don\u0027t have to report\nfailed probes to the users, it\u0027s only confusing them.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Andrey Gusev \u003cronne@list.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f635a1e74bd6001f06fe1df53d32daf2b28bf04b",
      "tree": "14d4556054ac6deaea1060ebb0a9b2a3fb5bd766",
      "parents": [
        "daf9fe2ee9a203c4fc555cfe5c5f3d9f660e743c"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Mar 01 16:04:45 2010 +1100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Mar 13 20:56:51 2010 +0100"
      },
      "message": "i2c-smbus: Use device_lock/device_unlock\n\nUse the new device locking/unlocking API.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "f78233dd44a110c574fe760ad6f9c1e8741a0d00",
      "tree": "5b38b76a9f7133cd6e86cecb66673b53fa93d85a",
      "parents": [
        "fc0f296126433e61600539325975b6c30681c07e"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Sat Mar 13 09:03:55 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 09:05:37 2010 -0600"
      },
      "message": "9p: Skip check for mandatory locks when unlocking\n\nWhile investigating a bug, I came across a possible bug in v9fs. The\nproblem is similar to the one reported for NFS by ASANO Masahiro in\nhttp://lkml.org/lkml/2005/12/21/334.\n\nv9fs_file_lock() will skip locks on file which has mode set to 02666.\nThis is a problem in cases where the mode of the file is changed after\na process has obtained a lock on the file. Such a lock will be skipped\nduring unlock and the machine will end up with a BUG in\nlocks_remove_flock().\n\nv9fs_file_lock() should skip the check for mandatory locks when\nunlocking a file.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fc0f296126433e61600539325975b6c30681c07e",
      "tree": "982db41753bc2547133c4e84ab703e24d9333010",
      "parents": [
        "45bc21edb52fa71dbb1324c6f573aa880e95519d"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Mar 08 22:07:02 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:59:54 2010 -0600"
      },
      "message": "9p: Fixes a simple bug enabling writes beyond 2GB.\n\nFixes a simple bug so that large files beyond 2GB can be created.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "45bc21edb52fa71dbb1324c6f573aa880e95519d",
      "tree": "adee2b59a562679241f874c978162739e1df78bb",
      "parents": [
        "fae4528b2341f2ab0c86c191e24d9cdd93624c60"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Mar 08 17:33:04 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "9p: Change the name of new protocol from 9p2010.L to 9p2000.L\n\nThis patch changes the name of the new 9P protocol from 9p2010.L to\n9p2000.u. This is because we learnt that the name 9p2010 is already\nbeing used by others.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fae4528b2341f2ab0c86c191e24d9cdd93624c60",
      "tree": "c60df63625d95dfa7c35fc60a671a1aff0c3e938",
      "parents": [
        "86c8437383acd85c05ec7c9a004f59fe7ac9821a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Mar 06 04:44:16 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "fs/9p: re-init the wstat in readdir loop\n\nThis ensure that on failure when we free the stat buf we don\u0027t end up\nfreeing an already freed pointer in the earlier loop\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    }
  ],
  "next": "86c8437383acd85c05ec7c9a004f59fe7ac9821a"
}
