)]}'
{
  "log": [
    {
      "commit": "15b0669072127f282896b3bef2e9df4ec5d7264f",
      "tree": "8480e09bbc7c26cd5c9ef048b734664cb6fe76be",
      "parents": [
        "c155b914651753f843445d2f860bc00137df5d52",
        "3537d54c0c39de5738bba8d19f128478b0b96a71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:44:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:44:59 2009 -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: (44 commits)\n  qlge: Fix sparse warnings for tx ring indexes.\n  qlge: Fix sparse warning regarding rx buffer queues.\n  qlge: Fix sparse endian warning in ql_hw_csum_setup().\n  qlge: Fix sparse endian warning for inbound packet control block flags.\n  qlge: Fix sparse warnings for byte swapping in qlge_ethool.c\n  myri10ge: print MAC and serial number on probe failure\n  pkt_sched: cls_u32: Fix locking in u32_change()\n  iucv: fix cpu hotplug\n  af_iucv: Free iucv path/socket in path_pending callback\n  af_iucv: avoid left over IUCV connections from failing connects\n  af_iucv: New error return codes for connect()\n  net/ehea: bitops work on unsigned longs\n  Revert \"net: Fix for initial link state in 2.6.28\"\n  tcp: Kill extraneous SPLICE_F_NONBLOCK checks.\n  tcp: don\u0027t mask EOF and socket errors on nonblocking splice receive\n  dccp: Integrate the TFRC library with DCCP\n  dccp: Clean up ccid.c after integration of CCID plugins\n  dccp: Lockless integration of CCID congestion-control plugins\n  qeth: get rid of extra argument after printk to dev_* conversion\n  qeth: No large send using EDDP for HiperSockets.\n  ...\n"
    },
    {
      "commit": "e9af797d757d358f60130de6ca59ee658d666561",
      "tree": "1c634c98b2c11ddfa86d1c38e35ed33eb316827c",
      "parents": [
        "10cc04f5a01041ffff068b3f9b195bfdc5290c45",
        "187d9f4ed4fc089f1f25a875fb485e27626972f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:33:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:33:38 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Fix on resume, now preserves user policy min/max.\n  [CPUFREQ] Add Celeron Core support to p4-clockmod.\n  [CPUFREQ] add to speedstep-lib additional fsb values for core processors\n  [CPUFREQ] Disable sysfs ui for p4-clockmod.\n  [CPUFREQ] p4-clockmod: reduce noise\n  [CPUFREQ] clean up speedstep-centrino and reduce cpumask_t usage\n"
    },
    {
      "commit": "10cc04f5a01041ffff068b3f9b195bfdc5290c45",
      "tree": "5c53027ce5299075759b70e1447ce811ba1afdf0",
      "parents": [
        "520c85346666d4d9a6fcaaa8450542302dc28b91",
        "9047beabb8a396f0b18de1e4a9ab920cf92054af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:43 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (138 commits)\n  ocfs2: Access the right buffer_head in ocfs2_merge_rec_left.\n  ocfs2: use min_t in ocfs2_quota_read()\n  ocfs2: remove unneeded lvb casts\n  ocfs2: Add xattr support checking in init_security\n  ocfs2: alloc xattr bucket in ocfs2_xattr_set_handle\n  ocfs2: calculate and reserve credits for xattr value in mknod\n  ocfs2/xattr: fix credits calculation during index create\n  ocfs2/xattr: Always updating ctime during xattr set.\n  ocfs2/xattr: Remove extend_trans call and add its credits from the beginning\n  ocfs2/dlm: Fix race during lockres mastery\n  ocfs2/dlm: Fix race in adding/removing lockres\u0027 to/from the tracking list\n  ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating\n  ocfs2/dlm: Clean up errors in dlm_proxy_ast_handler()\n  ocfs2/dlm: Fix a race between migrate request and exit domain\n  ocfs2: One more hamming code optimization.\n  ocfs2: Another hamming code optimization.\n  ocfs2: Don\u0027t hand-code xor in ocfs2_hamming_encode().\n  ocfs2: Enable metadata checksums.\n  ocfs2: Validate superblock with checksum and ecc.\n  ocfs2: Checksum and ECC for directory blocks.\n  ...\n"
    },
    {
      "commit": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
      "tree": "943b1359ff8d6855b0b5fd37bb0ae61f01a7da0d",
      "parents": [
        "f1b11e505463fd597ab7963df26dd1f446dcceae"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 03:05:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:31:12 2009 -0800"
      },
      "message": "mm lockless pagecache barrier fix\n\nAn XFS workload showed up a bug in the lockless pagecache patch. Basically it\nwould go into an \"infinite\" loop, although it would sometimes be able to break\nout of the loop! The reason is a missing compiler barrier in the \"increment\nreference count unless it was zero\" case of the lockless pagecache protocol in\nthe gang lookup functions.\n\nThis would cause the compiler to use a cached value of struct page pointer to\nretry the operation with, rather than reload it. So the page might have been\nremoved from pagecache and freed (refcount\u003d\u003d0) but the lookup would not correctly\nnotice the page is no longer in pagecache, and keep attempting to increment the\nrefcount and failing, until the page gets reallocated for something else. This\nisn\u0027t a data corruption because the condition will be detected if the page has\nbeen reallocated. However it can result in a lockup.\n\nLinus points out that ACCESS_ONCE is also required in that pointer load, even\nif it\u0027s absence is not causing a bug on our particular build. The most general\nway to solve this is just to put an rcu_dereference in radix_tree_deref_slot.\n\nAssembly of find_get_pages,\nbefore:\n.L220:\n        movq    (%rbx), %rax    #* ivtmp.1162, tmp82\n        movq    (%rax), %rdi    #, prephitmp.1149\n.L218:\n        testb   $1, %dil        #, prephitmp.1149\n        jne     .L217   #,\n        testq   %rdi, %rdi      # prephitmp.1149\n        je      .L203   #,\n        cmpq    $-1, %rdi       #, prephitmp.1149\n        je      .L217   #,\n        movl    8(%rdi), %esi   # \u003cvariable\u003e._count.counter, c\n        testl   %esi, %esi      # c\n        je      .L218   #,\n\nafter:\n.L212:\n        movq    (%rbx), %rax    #* ivtmp.1109, tmp81\n        movq    (%rax), %rdi    #, ret\n        testb   $1, %dil        #, ret\n        jne     .L211   #,\n        testq   %rdi, %rdi      # ret\n        je      .L197   #,\n        cmpq    $-1, %rdi       #, ret\n        je      .L211   #,\n        movl    8(%rdi), %esi   # \u003cvariable\u003e._count.counter, c\n        testl   %esi, %esi      # c\n        je      .L212   #,\n\n(notice the obvious infinite loop in the first example, if page-\u003ecount remains 0)\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ae8978cf92a96257cd8998a49e781be83571d64",
      "tree": "5c5e2719c17093309b4e22bfbf4deb7bd3e91ac8",
      "parents": [
        "2f1169e2dc0c70e213f79ada88a10912cc2fbe94"
      ],
      "author": {
        "name": "Michael Kerrisk",
        "email": "mtk.manpages@googlemail.com",
        "time": "Mon Jan 05 07:19:16 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:29 2009 -0500"
      },
      "message": "inotify: fix type errors in interfaces\n\nThe problems lie in the types used for some inotify interfaces, both at the kernel level and at the glibc level. This mail addresses the kernel problem. I will follow up with some suggestions for glibc changes.\n\nFor the sys_inotify_rm_watch() interface, the type of the \u0027wd\u0027 argument is\ncurrently \u0027u32\u0027, it should be \u0027__s32\u0027 .  That is Robert\u0027s suggestion, and\nis consistent with the other declarations of watch descriptors in the\nkernel source, in particular, the inotify_event structure in\ninclude/linux/inotify.h:\n\nstruct inotify_event {\n        __s32           wd;             /* watch descriptor */\n        __u32           mask;           /* watch mask */\n        __u32           cookie;         /* cookie to synchronize two events */\n        __u32           len;            /* length (including nulls) of name */\n        char            name[0];        /* stub for possible name */\n};\n\nThe patch makes the changes needed for inotify_rm_watch().\n\nSigned-off-by: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4c728ef583b3d82266584da5cb068294c09df31e",
      "tree": "1252fa82b5a7cf60c0898c3da810228b4c34ebb3",
      "parents": [
        "6110e3abbff8b785907d4db50240e63c1be726e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Dec 22 21:11:15 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "add a vfs_fsync helper\n\nFsync currently has a fdatawrite/fdatawait pair around the method call,\nand a mutex_lock/unlock of the inode mutex.  All callers of fsync have\nto duplicate this, but we have a few and most of them don\u0027t quite get\nit right.  This patch adds a new vfs_fsync that takes care of this.\nIt\u0027s a little more complicated as usual as -\u003efsync might get a NULL file\npointer and just a dentry from nfsd, but otherwise gets afile and we\nwant to take the mapping and file operations from it when it is there.\n\nNotes on the fsync callers:\n\n - ecryptfs wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the\n   \tlower file\n - coda wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the host\n\tfile, and returning 0 when -\u003efsync was missing\n - shm wasn\u0027t calling either filemap_fdatawrite / filemap_fdatawait nor\n   taking i_mutex.  Now given that shared memory doesn\u0027t have disk\n   backing not doing anything in fsync seems fine and I left it out of\n   the vfs_fsync conversion for now, but in that case we might just\n   not pass it through to the lower file at all but just call the no-op\n   simple_sync_file directly.\n\n[and now actually export vfs_fsync]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e06c8227fd94ec181849ba206bf032be31c4295c",
      "tree": "67261cd94aa86dc6112d7de74304c2a1af5b64fb",
      "parents": [
        "754938c142ae0c28360426c43f965ddc5164b21e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 11 15:35:47 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:30 2009 -0800"
      },
      "message": "jbd2: Add buffer triggers\n\nFilesystems often to do compute intensive operation on some\nmetadata.  If this operation is repeated many times, it can be very\nexpensive.  It would be much nicer if the operation could be performed\nonce before a buffer goes to disk.\n\nThis adds triggers to jbd2 buffer heads.  Just before writing a metadata\nbuffer to the journal, jbd2 will optionally call a commit trigger associated\nwith the buffer.  If the journal is aborted, an abort trigger will be\ncalled on any dirty buffers as they are dropped from pending\ntransactions.\n\nocfs2 will use this feature.\n\nInitially I tried to come up with a more generic trigger that could be\nused for non-buffer-related events like transaction completion.  It\ndoesn\u0027t tie nicely, because the information a buffer trigger needs\n(specific to a journal_head) isn\u0027t the same as what a transaction\ntrigger needs (specific to a tranaction_t or perhaps journal_t).  So I\nimplemented a buffer set, with the understanding that\njournal/transaction wide triggers should be implemented separately.\n\nThere is only one trigger set allowed per buffer.  I can\u0027t think of any\nreason to attach more than one set.  Contrast this with a journal or\ntransaction in which multiple places may want to watch the entire\ntransaction separately.\n\nThe trigger sets are considered static allocation from the jbd2\nperspective.  ocfs2 will just have one trigger set per block type,\nsetting the same set on every bh of the same type.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7d9056ba20ebed6e3937a2e23183f6117919cb00",
      "tree": "3aefa0f187630fdbdefcec9e726155f2678cd1ab",
      "parents": [
        "5cd9d5bb86daf632a40f90e2321ea9379e42f073"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:32 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:25 2009 -0800"
      },
      "message": "quota: Export dquot_alloc() and dquot_destroy() functions\n\nThese are default functions for creating and destroying quota structures\nand they should be used from filesystems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "5cd9d5bb86daf632a40f90e2321ea9379e42f073",
      "tree": "dd8baa659c18e61b94c1c366b93f161611cec8bd",
      "parents": [
        "9a2f3866c825c67c3a5806799cdc93fb7517f0c4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:31 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:25 2009 -0800"
      },
      "message": "quota: Unexport dqblk_v1.h and dqblk_v2.h\n\nUnexport header files dqblk_v[12].h since except for quota format ID they\ndon\u0027t contain information userspace should be interested in. Move ID\ndefinitions to quota.h.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e97fcd95a4778a8caf1980c6c72fdf68185a0838",
      "tree": "795c007ed03c091c860df8b03986fbe444f51530",
      "parents": [
        "19ece546a418997226bd91552fbc41abcb05cea6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Nov 18 17:15:24 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:24 2009 -0800"
      },
      "message": "jbd2: Add BH_JBDPrivateStart\n\nAdd this so that file systems using JBD2 can safely allocate unused b_state\nbits.\n\nIn this case, we add it so that Ocfs2 can define a single bit for tracking\nthe validation state of a buffer.\n\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12c77527e4138bc3b17d17b0e0c909e4fc84924f",
      "tree": "2776bbc914ebf8db7bdc2e450abf6a1504f50abe",
      "parents": [
        "3d9ea253a0e73dccaa869888ec2ceb17ea76c810"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 17:05:00 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:23 2009 -0800"
      },
      "message": "quota: Implement function for scanning active dquots\n\nOCFS2 needs to scan all active dquots once in a while and sync quota\ninformation among cluster nodes. Provide a helper function for it so\nthat it does not have to reimplement internally a list which VFS\nalready has. Moreover this function is probably going to be useful\nfor other clustered filesystems if they decide to use VFS quotas.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "3d9ea253a0e73dccaa869888ec2ceb17ea76c810",
      "tree": "0a107f919605f68335bf55176b062facebcd51c9",
      "parents": [
        "571b46e40bebb0d57130ca24c4a84dfd553adb91"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 10 16:12:23 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:22 2009 -0800"
      },
      "message": "quota: Add helpers to allow ocfs2 specific quota initialization, freeing and recovery\n\nOCFS2 needs to peek whether quota structure is already in memory so\nthat it can avoid expensive cluster locking in that case. Similarly\nwhen freeing dquots, it checks whether it is the last quota structure\nuser or not. Finally, it needs to get reference to dquot structure for\nspecified id and quota type when recovering quota file after crash.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "571b46e40bebb0d57130ca24c4a84dfd553adb91",
      "tree": "8597a9f4ee7c0b00a7c62abe3bb6157d5d60ea7a",
      "parents": [
        "4d59bce4f9eaf26d6d9046b56a2f1c0c7f20981d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 30 09:17:52 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:22 2009 -0800"
      },
      "message": "quota: Update version number\n\nIncrease reported version number of quota support since quota core has changed\nsignificantly. Also remove __DQUOT_NUM_VERSION__ since nobody uses it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4d59bce4f9eaf26d6d9046b56a2f1c0c7f20981d",
      "tree": "8acb07cd2bf0ab360e6397dfa816feb009fc49af",
      "parents": [
        "db49d2df489f727096438706a5428115e84a3f0d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 02 16:48:10 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:22 2009 -0800"
      },
      "message": "quota: Keep which entries were set by SETQUOTA quotactl\n\nQuota in a clustered environment needs to synchronize quota information\namong cluster nodes. This means we have to occasionally update some\ninformation in dquot from disk / network. On the other hand we have to\nbe careful not to overwrite changes administrator did via SETQUOTA.\nSo indicate in dquot-\u003edq_flags which entries have been set by SETQUOTA\nand quota format can clear these flags when it properly propagated\nthe changes.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "db49d2df489f727096438706a5428115e84a3f0d",
      "tree": "4ba9837a5371bb4a84dc27614eaeb4e4772e3eb8",
      "parents": [
        "e3d4d56b9715e40ded2a84d0d4fa7f3b6c58983c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Oct 01 18:21:39 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:21 2009 -0800"
      },
      "message": "quota: Allow negative usage of space and inodes\n\nFor clustered filesystems, it can happen that space / inode usage goes\nnegative temporarily (because some node is allocating another node\nis freeing and they are not completely in sync). So let quota code\nallow this and change qsize_t so a signed type so that we don\u0027t\nunderflow the variables.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e3d4d56b9715e40ded2a84d0d4fa7f3b6c58983c",
      "tree": "67648a89b3c9056d77caa6ef42776cf1053c5e70",
      "parents": [
        "1ccd14b9c271c1ac6eec5c5ec5def433100e7248"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 02 18:44:14 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:21 2009 -0800"
      },
      "message": "quota: Convert union in mem_dqinfo to a pointer\n\nComing quota support for OCFS2 is going to need quite a bit\nof additional per-sb quota information. Moreover having fs.h\ninclude all the types needed for this structure would be a\npain in the a**. So remove the union from mem_dqinfo and add\na private pointer for filesystem\u0027s use.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "1ccd14b9c271c1ac6eec5c5ec5def433100e7248",
      "tree": "959756aa5b68c568a18697464df3f0acdd0387cf",
      "parents": [
        "cf770c137122b78470a67ebd5498947869a09197"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 22 05:54:49 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:21 2009 -0800"
      },
      "message": "quota: Split off quota tree handling into a separate file\n\nThere is going to be a new version of quota format having 64-bit\nquota limits and a new quota format for OCFS2. They are both\ngoing to use the same tree structure as VFSv0 quota format. So\nsplit out tree handling into a separate file and make size of\nleaf blocks, amount of space usable in each block (needed for\nchecksumming) and structures contained in them configurable\nso that the code can be shared.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "cf770c137122b78470a67ebd5498947869a09197",
      "tree": "c1f9af3927752e8aef3e0ca45facc39ae6945258",
      "parents": [
        "ca785ec66b991e9ca74dd9840fc014487ad095e1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Sep 21 23:17:53 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:58 2009 -0800"
      },
      "message": "quota: Move quotaio_v[12].h from include/linux/ to fs/\n\nSince these include files are used only by implementation of quota formats,\nthere\u0027s no need to have them in include/linux/.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ca785ec66b991e9ca74dd9840fc014487ad095e1",
      "tree": "271c7b36123e9c16f455ecd96352d24ecd20423c",
      "parents": [
        "dcb30695f2cac86b71417629a6fe8042b4fe2ab2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 30 17:53:37 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:57 2009 -0800"
      },
      "message": "quota: Introduce DQUOT_QUOTA_SYS_FILE flag\n\nIf filesystem can handle quota files as system files hidden from users, we can\nskip a lot of cache invalidation, syncing, inode flags setting etc. when\nturning quotas on, off and quota_sync. Allow filesystem to indicate that it is\nhiding quota files from users by DQUOT_QUOTA_SYS_FILE flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dcb30695f2cac86b71417629a6fe8042b4fe2ab2",
      "tree": "85a099a0314091fbc82bed07951c9c49a07a2ffc",
      "parents": [
        "6929f891241d3fe3af01d28503b645e63241e49a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 18:30:40 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Remove compatibility function sb_any_quota_enabled()\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f55abc0fb9c3189de3da829adf3220322c0da43e",
      "tree": "0db4b838b0b90f27401783e8e7e45842ec91f90a",
      "parents": [
        "e4bc7b4b7ff783779b6928d55a9308910bf180a3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 17:50:32 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Allow to separately enable quota accounting and enforcing limits\n\nSplit DQUOT_USR_ENABLED (and DQUOT_GRP_ENABLED) into DQUOT_USR_USAGE_ENABLED\nand DQUOT_USR_LIMITS_ENABLED. This way we are able to separately enable /\ndisable whether we should:\n1) ignore quotas completely\n2) just keep uptodate information about usage\n3) actually enforce quota limits\n\nThis is going to be useful when quota is treated as filesystem metadata - we\nthen want to keep quota information uptodate all the time and just enable /\ndisable limits enforcement.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e4bc7b4b7ff783779b6928d55a9308910bf180a3",
      "tree": "1cf54906c8686507f9cc127754210930d27a0471",
      "parents": [
        "1497d3ad487b64eeea83ac203263802755438949"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 16:21:01 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Make _SUSPENDED just a flag\n\nUpto now, DQUOT_USR_SUSPENDED behaved like a state - i.e., either quota\nwas enabled or suspended or none. Now allowed states are 0, ENABLED,\nENABLED | SUSPENDED. This will be useful later when we implement separate\nenabling of quota usage tracking and limits enforcement because we need to\nkeep track of a state which has been suspended.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12095460f7f315f8ef67a55b2194195d325d48d7",
      "tree": "4e878139ccd29a2adeb2a9fa6fcd9c279e8ce6f4",
      "parents": [
        "74f783af95c982aef6d3a1415275650dcf511666"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 14:45:12 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:55 2009 -0800"
      },
      "message": "quota: Increase size of variables for limits and inode usage\n\nSo far quota was fine with quota block limits and inode limits/numbers in\na 32-bit type. Now with rapid increase in storage sizes there are coming\nrequests to be able to handle quota limits above 4TB / more that 2^32 inodes.\nSo bump up sizes of types in mem_dqblk structure to 64-bits to be able to\nhandle this. Also update inode allocation / checking functions to use qsize_t\nand make global structure keep quota limits in bytes so that things are\nconsistent.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "74f783af95c982aef6d3a1415275650dcf511666",
      "tree": "594e978641d31e05e170a56ec68f8c65b37bb649",
      "parents": [
        "9f868f16e40e9ad8e39aebff94a4be0d96520734"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 19 14:51:22 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:55 2009 -0800"
      },
      "message": "quota: Add callbacks for allocating and destroying dquot structures\n\nSome filesystems would like to keep private information together with each\ndquot. Add callbacks alloc_dquot and destroy_dquot allowing filesystem to\nallocate larger dquots from their private slab in a similar fashion we\ncurrently allocate inodes.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "fe0bdec68b77020281dc814805edfe594ae89e0f",
      "tree": "aeef34a49594cb0478b1104b58ba2dc933c481c5",
      "parents": [
        "099e657625e801adf82054c8050dde5aceb68452",
        "5af75d8d58d0f9f7b7c0515b35786b22892d5f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 16:32:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 16:32:11 2009 -0800"
      },
      "message": "Merge branch \u0027audit.b61\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b61\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  audit: validate comparison operations, store them in sane form\n  clean up audit_rule_{add,del} a bit\n  make sure that filterkey of task,always rules is reported\n  audit rules ordering, part 2\n  fixing audit rule ordering mess, part 1\n  audit_update_lsm_rules() misses the audit_inode_hash[] ones\n  sanitize audit_log_capset()\n  sanitize audit_fd_pair()\n  sanitize audit_mq_open()\n  sanitize AUDIT_MQ_SENDRECV\n  sanitize audit_mq_notify()\n  sanitize audit_mq_getsetattr()\n  sanitize audit_ipc_set_perm()\n  sanitize audit_ipc_obj()\n  sanitize audit_socketcall\n  don\u0027t reallocate buffer in every audit_sockaddr()\n"
    },
    {
      "commit": "5d38a079ce3971f932bbdc0dc5b887806fabd5dc",
      "tree": "79d948098add1f6c52ecd42c151ce6b6fa1dbc5a",
      "parents": [
        "b530256d2e0f1a75fab31f9821129fff1bb49faa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jan 04 16:13:40 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:13:40 2009 -0800"
      },
      "message": "gro: Add page frag support\n\nThis patch allows GRO to merge page frags (skb_shinfo(skb)-\u003efrags)\nin one skb, rather than using the less efficient frag_list.\n\nIt also adds a new interface, napi_gro_frags to allow drivers\nto inject page frags directly into the stack without allocating\nan skb.  This is intended to be the GRO equivalent for LRO\u0027s\nlro_receive_frags interface.\n\nThe existing GSO interface can already handle page frags with\nor without an appended frag_list so nothing needs to be changed\nthere.\n\nThe merging itself is rather simple.  We store any new frag entries\nafter the last existing entry, without checking whether the first\nnew entry can be merged with the last existing entry.  Making this\ncheck would actually be easy but since no existing driver can\nproduce contiguous frags anyway it would just be mental masturbation.\n\nIf the total number of entries would exceed the capacity of a\nsingle skb, we simply resort to using frag_list as we do now.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14deae41566b5cdd992c01d0069518ced5227c83",
      "tree": "d15c3dfabdc3ccf10997487c29df35fa58387e55",
      "parents": [
        "eb4dea5853046727bfbb579f0c9a8cae7369f7c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:04:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:04:39 2009 -0800"
      },
      "message": "ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups.\n\nThanks to excellent diagnosis by Eduard Guzovsky.\n\nThe core problem is that on a network with lots of active\nmulticast traffic, the neighbour cache can fill up.  If\nwe try to allocate a new route and thus neighbour cache\nentry, the bog-standard GC attempt the neighbour layer does\nin ineffective because route entries hold a reference\nto the existing neighbour entries and GC can only liberate\nentries with no references.\n\nIPV4 already has a way to handle this, by doing a route cache\nGC in such situations (when neigh attach returns -ENOBUFS).\n\nSo simply mimick this on the ipv6 side.\n\nTested-by: Eduard Guzovsky \u003ceguzovsky@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "099e657625e801adf82054c8050dde5aceb68452",
      "tree": "d6c28df68ab390fa237b8339c6081e4db380aa5f",
      "parents": [
        "54566b2c1594c2326a645a3551f9d989f7ba3c5e"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Sun Jan 04 12:00:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "rtc: add alarm/update irq interfaces\n\nAdd standard interfaces for alarm/update irqs enabling.  Drivers are no\nmore required to implement equivalent ioctl code as rtc-dev will provide\nit.\n\nUIE emulation should now be handled correctly and will work even for those\nRTC drivers who cannot be configured to do both UIE and AIE.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c644f0e4b56f9a2fc066cd0d75a18074d130e4a3",
      "tree": "96f5954d7e72a2bf56f4165f4e7569364562f04f",
      "parents": [
        "0a30c5cefa53cbac429dcb2de906c0637b646253"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jan 04 12:00:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: introduce bgl_lock_ptr()\n\nAs suggested by Andreas Dilger, introduce a bgl_lock_ptr() helper in\n\u003clinux/blockgroup_lock.h\u003e and add separate sb_bgl_lock() helpers to\nfilesystem specific header files to break the hidden dependency to\nstruct ext[234]_sb_info.\n\nAlso, while at it, convert the macros to static inlines to try make up\nfor all the times I broke Andrew Morton\u0027s tree.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a30c5cefa53cbac429dcb2de906c0637b646253",
      "tree": "b0babe6f5e3b320f4f168975d798180d3be7e3c7",
      "parents": [
        "2e4e27c7d082b2198b63041310609d7191185a9d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jan 04 12:00:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "spi.h uses/needs device.h\n\nInclude header files as used/needed:\n\n  In file included from drivers/leds/leds-dac124s085.c:16:\n  include/linux/spi/spi.h:66: error: field \u0027dev\u0027 has incomplete type\n  include/linux/spi/spi.h: In function \u0027to_spi_device\u0027:\n  include/linux/spi/spi.h:100: warning: type defaults to \u0027int\u0027 in declaration of \u0027__mptr\u0027\n  ...\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af75d8d58d0f9f7b7c0515b35786b22892d5f12",
      "tree": "65707c5309133a33140c39145ae91b7c1679a877",
      "parents": [
        "36c4f1b18c8a7d0adb4085e7f531860b837bb6b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 16 05:59:26 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "audit: validate comparison operations, store them in sane form\n\nDon\u0027t store the field-\u003eop in the messy (and very inconvenient for e.g.\naudit_comparator()) form; translate to dense set of values and do full\nvalidation of userland-submitted value while we are at it.\n\n-\u003eaudit_init_rule() and -\u003eaudit_match_rule() get new values now; in-tree\ninstances updated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e45aa212ea81d39b38ba158df344dc3a500153e5",
      "tree": "c4d55cda9e8f976d15b6b01a775a3437f932db27",
      "parents": [
        "0590b9335a1c72a3f0defcc6231287f7817e07c8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 15 01:17:50 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "audit rules ordering, part 2\n\nFix the actual rule listing; add per-type lists _not_ used for matching,\nwith all exit,... sitting on one such list.  Simplifies \"do something\nfor all rules\" logics, while we are at it...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0590b9335a1c72a3f0defcc6231287f7817e07c8",
      "tree": "289fa4668ae304f79f7484ac31b2cab0ab8894c1",
      "parents": [
        "1a9d0797b8977d413435277bf9661efbbd584693"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 23:45:27 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "fixing audit rule ordering mess, part 1\n\nProblem: ordering between the rules on exit chain is currently lost;\nall watch and inode rules are listed after everything else _and_\nexit,never on one kind doesn\u0027t stop exit,always on another from\nbeing matched.\n\nSolution: assign priorities to rules, keep track of the current\nhighest-priority matching rule and its result (always/never).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "57f71a0af4244d9ba3c0bce74b1d2e66e8d520bd",
      "tree": "c089a97949fc1d459e137b18739c04e9217913d1",
      "parents": [
        "157cf649a735a2f7e8dba0ed08e6e38b6c30d886"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 14:52:57 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_log_capset()\n\n* no allocations\n* return void\n* don\u0027t duplicate checked for dummy context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "157cf649a735a2f7e8dba0ed08e6e38b6c30d886",
      "tree": "85895367c24023d363d5ee7b5ed2fb16eaf08721",
      "parents": [
        "564f6993ffef656aebaf46cf2f1f6cb4f5c97207"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 04:57:47 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_fd_pair()\n\n* no allocations\n* return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "564f6993ffef656aebaf46cf2f1f6cb4f5c97207",
      "tree": "0bf1ee553ab1241338fe522ffbaed8cd48e10c99",
      "parents": [
        "c32c8af43b9adde8d6f938d8e6328c13b8de79ac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 04:02:26 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_mq_open()\n\n* don\u0027t bother with allocations\n* don\u0027t do double copy_from_user()\n* don\u0027t duplicate parts of check for audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c32c8af43b9adde8d6f938d8e6328c13b8de79ac",
      "tree": "6377079bba7530d2aa8a688ebf9ba3e09ae085a7",
      "parents": [
        "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 03:46:48 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize AUDIT_MQ_SENDRECV\n\n* logging the original value of *msg_prio in mq_timedreceive(2)\n  is insane - the argument is write-only (i.e. syscall always\n  ignores the original value and only overwrites it).\n* merge __audit_mq_timed{send,receive}\n* don\u0027t do copy_from_user() twice\n* don\u0027t mess with allocations in auditsc part\n* ... and don\u0027t bother checking !audit_enabled and !context in there -\n  we\u0027d already checked for audit_dummy_context().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b",
      "tree": "fcbb481cfec8c11f103ba07dbb08819de3822d80",
      "parents": [
        "7392906ea915b9a2c14dea32b3604b4e178f82f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 07:16:12 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_notify()\n\n* don\u0027t copy_from_user() twice\n* don\u0027t bother with allocations\n* don\u0027t duplicate parts of audit_dummy_context()\n* make it return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7392906ea915b9a2c14dea32b3604b4e178f82f7",
      "tree": "1e4fbe56e3738fade213ef805ec274ea74ac6a1b",
      "parents": [
        "e816f370cbadd2afea9f1a42f232d0636137d563"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 06:58:59 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_getsetattr()\n\n* get rid of allocations\n* make it return void\n* don\u0027t duplicate parts of audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e816f370cbadd2afea9f1a42f232d0636137d563",
      "tree": "8a9fe488ced59cd9864fcbf15292641c3b95143c",
      "parents": [
        "a33e6751003c5ade603737d828b1519d980ce392"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:47:15 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_ipc_set_perm()\n\n* get rid of allocations\n* make it return void\n* simplify callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a33e6751003c5ade603737d828b1519d980ce392",
      "tree": "aa484d033e886945aed78172dbdd4d2fd928bacf",
      "parents": [
        "f3298dc4f2277874d40cb4fc3a6e277317d6603b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:40:06 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "sanitize audit_ipc_obj()\n\n* get rid of allocations\n* make it return void\n* simplify callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f3298dc4f2277874d40cb4fc3a6e277317d6603b",
      "tree": "8ba8f7e7a0597965b2f6c7106718a59cc164eab1",
      "parents": [
        "4f6b434fee2402b3decdeae9d16eb648725ae426"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:16:51 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "sanitize audit_socketcall\n\n* don\u0027t bother with allocations\n* now that it can\u0027t fail, make it return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7d3b56ba37a95f1f370f50258ed3954c304c524b",
      "tree": "86102527b92f02450aa245f084ffb491c18d2e0a",
      "parents": [
        "269b012321f2f1f8e4648c43a93bf432b42c6668",
        "ab14398abd195af91a744c320a52a1bce814dd1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)\n  x86: setup_per_cpu_areas() cleanup\n  cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n  cpumask: use alloc_cpumask_var_node where appropriate\n  cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n  x86: use cpumask_var_t in acpi/boot.c\n  x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n  sched: put back some stack hog changes that were undone in kernel/sched.c\n  x86: enable cpus display of kernel_max and offlined cpus\n  ia64: cpumask fix for is_affinity_mask_valid()\n  cpumask: convert RCU implementations, fix\n  xtensa: define __fls\n  mn10300: define __fls\n  m32r: define __fls\n  h8300: define __fls\n  frv: define __fls\n  cris: define __fls\n  cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n  cpumask: zero extra bits in alloc_cpumask_var_node\n  cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n  cpumask: convert mm/\n  ...\n"
    },
    {
      "commit": "269b012321f2f1f8e4648c43a93bf432b42c6668",
      "tree": "e30ec565db50d4aec570cb52e9b29bd584beb2fd",
      "parents": [
        "f60a0a79846abed04ad5abddb5dafd14b66e1ab0",
        "065a6d68c71af2a3bdd080fa5aa353b76eede8f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:03:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:03:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits)\n  AMD IOMMU: remove now unnecessary #ifdefs\n  AMD IOMMU: prealloc_protection_domains should be static\n  kvm/iommu: fix compile warning\n  AMD IOMMU: add statistics about total number of map requests\n  AMD IOMMU: add statistics about allocated io memory\n  AMD IOMMU: add stats counter for domain tlb flushes\n  AMD IOMMU: add stats counter for single iommu domain tlb flushes\n  AMD IOMMU: add stats counter for cross-page request\n  AMD IOMMU: add stats counter for free_coherent requests\n  AMD IOMMU: add stats counter for alloc_coherent requests\n  AMD IOMMU: add stats counter for unmap_sg requests\n  AMD IOMMU: add stats counter for map_sg requests\n  AMD IOMMU: add stats counter for unmap_single requests\n  AMD IOMMU: add stats counter for map_single requests\n  AMD IOMMU: add stats counter for completion wait events\n  AMD IOMMU: add init code for statistic collection\n  AMD IOMMU: add necessary header defines for stats counting\n  AMD IOMMU: add Kconfig entry for statistic collection code\n  AMD IOMMU: use dev_name in iommu_enable function\n  AMD IOMMU: use calc_devid in prealloc_protection_domains\n  ...\n"
    },
    {
      "commit": "f60a0a79846abed04ad5abddb5dafd14b66e1ab0",
      "tree": "4c4e3bc4692e6e8f08d2289f3bcab28035a571a1",
      "parents": [
        "2f983570010a0dcb26d988da02d7ccfad00c807c",
        "b15dd79ea06b04a7ecee95f62ce7b6a3547dbb0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:02:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:02:18 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits)\n  V4L/DVB (10173): Missing v4l2_prio_close in radio_release\n  V4L/DVB (10172): add DVB_DEVICE_TYPE\u003d to uevent\n  V4L/DVB (10171): Use usb_set_intfdata\n  V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error\n  V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2\n  V4L/DVB (10167): sms1xxx: add support for inverted gpio\n  V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments\n  V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2\n  V4L/DVB (10164): Add missing S2 caps flag to S2API\n  V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev\n  V4L/DVB (10162): tuner-simple: Fix tuner type set message\n  V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus\n  V4L/DVB (10160): em28xx: update chip id for em2710\n  V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme\n  V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus\n  V4L/DVB (10155): Add TEA5764 radio driver\n  V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board\n  V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources.\n  V4L/DVB (10152): Change configuration of the Beholder H6 card\n  V4L/DVB (10151): Fix I2C bridge error in zl10353\n  ...\n"
    },
    {
      "commit": "2f983570010a0dcb26d988da02d7ccfad00c807c",
      "tree": "39fd89fd04d940306c02425927fc1308b26357b0",
      "parents": [
        "e9e67a8b579d9605a3d06f7430dbb40465c97bf1"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 03 00:06:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:01:23 2009 -0800"
      },
      "message": "sparseirq: move set/get_timer_rand_state back to .c\n\nthose two functions only used in that C file\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9e67a8b579d9605a3d06f7430dbb40465c97bf1",
      "tree": "cd90f29814359440b0f46995216d523ff5d26730",
      "parents": [
        "ad6b646fe55c40ec193240b974561f0a3775d68d",
        "418f19ea17a99421b22a64e101e14b6a16bed66d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:00:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:00:07 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  mmc: warn about voltage mismatches\n  mmc_spi: Add support for OpenFirmware bindings\n  pxamci: fix dma_unmap_sg length\n  mmc_block: ensure all sectors that do not have errors are read\n  drivers/mmc: Move a dereference below a NULL test\n  sdhci: handle built-in sdhci with modular leds class\n  mmc: balanc pci_iomap with pci_iounmap\n  mmc_block: print better error messages\n  mmc: Add mmc_vddrange_to_ocrmask() helper function\n  ricoh_mmc: Handle newer models of Ricoh controllers\n  mmc: Add 8-bit bus width support\n  sdhci: activate led support also when module\n  mmc: trivial annotation of \u0027blocks\u0027\n  pci: use pci_ioremap_bar() in drivers/mmc\n  sdricoh_cs: Add support for Bay Controller devices\n  mmc: at91_mci: reorder timer setup and mmc_add_host() call\n"
    },
    {
      "commit": "61420f59a589c0668f70cbe725785837c78ece90",
      "tree": "79ae77d731cd2425677b9527d50079d8cf34c3b2",
      "parents": [
        "d97106ab53f812910a62d18afb9dbe882819c1ba",
        "c742b31c03f37c5c499178f09f57381aa6c70131"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID\n  [PATCH] improve idle cputime accounting\n  [PATCH] improve precision of idle time detection.\n  [PATCH] improve precision of process accounting.\n  [PATCH] idle cputime accounting\n  [PATCH] fix scaled \u0026 unscaled cputime accounting\n"
    },
    {
      "commit": "2fdf66b491ac706657946442789ec644cc317e1a",
      "tree": "3442c3e1f7bceb870ab1ba2624e21767f8347508",
      "parents": [
        "ee943a82b697456f9d2ac46f1e6d230beedb4b6c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 18:08:47 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:40 2009 +0100"
      },
      "message": "cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n\nImpact: Reduce memory usage, use new API.\n\nThis is part of an effort to reduce structure sizes for machines\nconfigured with large NR_CPUS.  cpumask_t gets replaced by\ncpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or\nstruct cpumask * (large NR_CPUS).\n\n(Changes to powernow-k* by \u003ctravis\u003e.)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e465b535ce5b2318798c68e1454917204494bfe3",
      "tree": "7cd7af9813a1fe2bfb04f9edd149e0f152b6cb1d",
      "parents": [
        "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
        "5ece5c5192d065c229da01e7b347c1d3877b59fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:54:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:54:51 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into cpus4096-v2\n"
    },
    {
      "commit": "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
      "tree": "ef1a3beae706b9497c845d0a2557ceb4d2754998",
      "parents": [
        "6092848a2a23b660150a38bc06f59d75838d70c8",
        "8c384cdee3e04d6194a2c2b192b624754f990835"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 17:34:16 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:53:31 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\tkernel/rcuclassic.c\n\tkernel/sched.c\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n[ mingo@elte.hu: backmerged typo fix for io_apic.c ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4754c96cf8b82a754dc5ba791d6c0bf1fbe8e8e",
      "tree": "a5015d1874992e883e2d8f6ab46caead6503338e",
      "parents": [
        "a8bcbb0de4a52f07fef7412ddc877348311ebf2a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 15:26:42 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:08 2009 +0100"
      },
      "message": "VT-d: remove now unused intel_iommu_found function\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "d14d65777c2491dd5baf1e17f444b8f653f3cbb1",
      "tree": "d2067ca36c019d6f7b7b25886d514ce23b68ea07",
      "parents": [
        "dde57a210dcdce85e2813bab8f88687761d9f6a6"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 15:06:57 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:08 2009 +0100"
      },
      "message": "VT-d: adapt domain iova_to_phys function for IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "dde57a210dcdce85e2813bab8f88687761d9f6a6",
      "tree": "cac9c8c6cc41361dad1c4d1c71f5926e670185fc",
      "parents": [
        "4c5478c94eb29e6101f1f13175f7455bc8b5d953"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 15:04:09 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:08 2009 +0100"
      },
      "message": "VT-d: adapt domain map and unmap functions for IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4c5478c94eb29e6101f1f13175f7455bc8b5d953",
      "tree": "6235e9d9a22230c837f420f4f8d655817be8efa7",
      "parents": [
        "5d450806eb0e569c5846a5825e7f535980b0da32"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 14:58:24 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:08 2009 +0100"
      },
      "message": "VT-d: adapt device attach and detach functions for IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "5d450806eb0e569c5846a5825e7f535980b0da32",
      "tree": "6b110597307b7e8443e200bd5432ab0cd220d0a2",
      "parents": [
        "19de40a8472fa64693eab844911eec277d489f6c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 14:52:32 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:07 2009 +0100"
      },
      "message": "VT-d: adapt domain init and destroy functions for IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "19de40a8472fa64693eab844911eec277d489f6c",
      "tree": "502a8df560341ad715965ed39db33c720c657066",
      "parents": [
        "1aaf118352b85bb359ce28070bcc478f659a7031"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 14:43:34 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:07 2009 +0100"
      },
      "message": "KVM: change KVM to use IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4a77a6cf6d9bf9f5c74b27f62bd2bfe6dcc88392",
      "tree": "21916de0203a8c8b5e38d425167f6935c3c29a0b",
      "parents": [
        "c4fa3864281c7d88b7262cbc6cbd5c90bb59860e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Nov 26 17:02:33 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:10:09 2009 +0100"
      },
      "message": "introcude linux/iommu.h for an iommu api\n\nThis patch introduces the API to abstract the exported VT-d functions\nfor KVM into a generic API. This way the AMD IOMMU implementation can\nplug into this API later.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "b653574a7d14b663cc812cb20be6a114939ba186",
      "tree": "1fa1c833bacea5411e1c640180a00848552d7282",
      "parents": [
        "0a920356748df4fb06e86c21c23d2ed6d31d37ad"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Mon Dec 08 23:29:53 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:10:08 2009 +0100"
      },
      "message": "Deassign device in kvm_free_assgined_device\n\nIn kvm_iommu_unmap_memslots(), assigned_dev_head is already empty.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0a920356748df4fb06e86c21c23d2ed6d31d37ad",
      "tree": "545bf8591b48b8f33af3f03f50a536424853a259",
      "parents": [
        "260782bcfdaaa7850f29d6bb2ec6603019168c57"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Tue Dec 02 21:24:23 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:19 2009 +0100"
      },
      "message": "KVM: support device deassignment\n\nSupport device deassignment, it can be used in device hotplug.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "260782bcfdaaa7850f29d6bb2ec6603019168c57",
      "tree": "6f0b72f07ee04ad1210aca861dd4ee8c51846609",
      "parents": [
        "fe40f1e020d0923f5f35ca15f02a206c75a28053"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Tue Dec 02 21:03:39 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:19 2009 +0100"
      },
      "message": "KVM: use the new intel iommu APIs\n\nintel iommu APIs are updated, use the new APIs.\n\nIn addition, change kvm_iommu_map_guest() to just create the domain, let kvm_iommu_assign_device() assign device.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "faa3d6f5ffe7bf60ebfd0d36513fbcda0eb0ea1a",
      "tree": "4992e52cff96da38bedfb7805c18ac97c9ae9c01",
      "parents": [
        "ea6606b02fc3192f2edab2db669fa0b9756b4e67"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Mon Dec 08 23:09:29 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:18 2009 +0100"
      },
      "message": "Change intel iommu APIs of virtual machine domain\n\nThese APIs are used by KVM to use VT-d\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "1b5736839ae13dadc5947940144f95dd0f4a4a8c",
      "tree": "2b6ce6b68850d905e4ce5d38b6872b82f6328208",
      "parents": [
        "8c11e798eee2ce4475134eaf61302b28ea4f205d"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Mon Dec 08 15:34:06 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:18 2009 +0100"
      },
      "message": "calculate agaw for each iommu\n\n\"SAGAW\" capability may be different across iommus. Use a default agaw, but if default agaw is not supported in some iommus, choose a less supported agaw.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "2abd7e167c1b281f99bb58d302225872bfae9123",
      "tree": "f4583028e1f80d31b983004ef82269fe50358c7f",
      "parents": [
        "58fa7304a2c2bfd46e505c293ef779aa1d9715c2"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:50 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move iommu_prepare_gfx_mapping() out of dma_remapping.h\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "58fa7304a2c2bfd46e505c293ef779aa1d9715c2",
      "tree": "924dcf821a9ec6e1601d5e0b7c22bbbeaf0f3634",
      "parents": [
        "a647dacbb1389aa6a5fa631766c1eaea35905890"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:49 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: kill off duplicate def of dmar_disabled\n\nThis is only used in dmar.c and intel-iommu.h, so dma_remapping.h\nseems like the appropriate place for it.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a647dacbb1389aa6a5fa631766c1eaea35905890",
      "tree": "4f22d0c874bc22eb98037b485735df41aa06e67c",
      "parents": [
        "99126f7ce14aff5f9371b2fa81fddb82be815794"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:48 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move struct device_domain_info out of dma_remapping.h\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "99126f7ce14aff5f9371b2fa81fddb82be815794",
      "tree": "6876780b9b0cb94cbe2fd968e8ac44c4eeef5287",
      "parents": [
        "622ba12a4c2148999bda9b891bfd0c6ddcb6c57e"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:47 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move struct dmar_domain def out dma_remapping.h\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "622ba12a4c2148999bda9b891bfd0c6ddcb6c57e",
      "tree": "89d68fa316e9aaa23005280c2720b1aed889fa9f",
      "parents": [
        "7a8fc25e0cc6e75fa6fdb0a856490e324218550b"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:46 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move DMA PTE defs out of dma_remapping.h\n\nDMA_PTE_READ/WRITE are needed by kvm.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7a8fc25e0cc6e75fa6fdb0a856490e324218550b",
      "tree": "dca6863ae93cc141a20599e8943c9f74e3bd7384",
      "parents": [
        "46b08e1a76b758193b0e7b889c6486a16eb1e9e2"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:45 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move context entry defs out from dma_remapping.h\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "46b08e1a76b758193b0e7b889c6486a16eb1e9e2",
      "tree": "0a71af4a4bef41e512adabdd0d343c1aa1c8e103",
      "parents": [
        "f27be03b271851fd54529f292c0f25b4c1f1a553"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:44 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:35 2009 +0100"
      },
      "message": "intel-iommu: move root entry defs from dma_remapping.h\n\nWe keep the struct root_entry forward declaration for the\npointer in struct intel_iommu.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f27be03b271851fd54529f292c0f25b4c1f1a553",
      "tree": "606d8accb8dd33c3200853614cc261826e0194f8",
      "parents": [
        "519a05491586dad04e687660e54c57882315b22b"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 15:49:43 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:34 2009 +0100"
      },
      "message": "intel-iommu: move DMA_32/64BIT_PFN into intel-iommu.c\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "519a05491586dad04e687660e54c57882315b22b",
      "tree": "3dd5716f34e028d649b48dfd3fdd4fd9663f6d0f",
      "parents": [
        "015ab17dc2e9de805c26e74f498b12ee5e8de07e"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 14:21:13 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:34 2009 +0100"
      },
      "message": "intel-iommu: make init_dmars() static\n\ninit_dmars() is not used outside of drivers/pci/intel-iommu.c\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "015ab17dc2e9de805c26e74f498b12ee5e8de07e",
      "tree": "9f86070afa1bf44b9c6622c47c6340834ef046af",
      "parents": [
        "6680598b44ed3c0052d155522eb21fc5a00de5f3"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Nov 20 14:04:20 2008 +0000"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 11:57:34 2009 +0100"
      },
      "message": "intel-iommu: remove some unused struct intel_iommu fields\n\nThe seg, saved_msg and sysdev fields appear to be unused since\nbefore the code was first merged.\n\nlinux/msi.h is not needed in linux/intel-iommu.h anymore since\nthere is no longer a reference to struct msi_msg. The MSI code\nin drivers/pci/intel-iommu.c still has linux/msi.h included\nvia linux/dmar.h.\n\nlinux/sysdev.h isn\u0027t needed because there is no reference to\nstruct sys_device.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5ece5c5192d065c229da01e7b347c1d3877b59fa",
      "tree": "755642823b24f869c4c67c7712f6fa45c4f87e9d",
      "parents": [
        "5c134dad43443aa9c9606eaf47c378a6b9c5c597"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:21:08 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:21:08 2009 +1030"
      },
      "message": "xtensa: define __fls\n\nLike fls, but can\u0027t be handed 0 and returns the bit number.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5c134dad43443aa9c9606eaf47c378a6b9c5c597",
      "tree": "8f724fd07b26b443527f9886bd37b795901c5c7f",
      "parents": [
        "16a206260ee70f181de6a3672678545859589ef2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:19:03 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:19:03 2009 +1030"
      },
      "message": "mn10300: define __fls\n\nLike fls, but can\u0027t be handed 0 and returns the bit number.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "16a206260ee70f181de6a3672678545859589ef2",
      "tree": "26fc048b4867676fd80e8e9819cb55ddb73d8f40",
      "parents": [
        "9ddabc2a29163e4b243d10c5e06fc5584073d7ad"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:16:54 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:16:54 2009 +1030"
      },
      "message": "m32r: define __fls\n\nLike fls, but can\u0027t be handed 0 and returns the bit number.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ee38e5140bafbf40e1bd25ab917ac8db54a27799",
      "tree": "e05484a09e8b73692fd16663dd6b3deafc5116dc",
      "parents": [
        "0999769e6cad9b0e5abb7c513c0c3f16821f0884"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:14:05 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 03 16:14:05 2009 +1030"
      },
      "message": "frv: define __fls\n\nLike fls, but can\u0027t be handed 0 and returns the bit number.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6680598b44ed3c0052d155522eb21fc5a00de5f3",
      "tree": "a5b3fb7bf08e3c96c837cf2ed7474ec9ea5abd63",
      "parents": [
        "b840d79631c882786925303c2b0f4fefc31845ed"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 02 18:53:14 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 12:19:34 2009 -0800"
      },
      "message": "Disallow gcc versions 3.{0,1}\n\nGCC 3.0 and 3.1 are too old to build a working kernel.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n[ This check got dropped as obsolete when I simplified the gcc header\n  inclusion mess in f153b82121b0366fe0e5f9553545cce237335175, but Willy\n  Tarreau reports actually having those old versions still..  -Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
      "tree": "13c0074bb20f7b05a471e78d4ff52c665a10266a",
      "parents": [
        "2640c9a90fa596871e142f42052608864335f102",
        "87917239204d67a316cb89751750f86c9ed3640b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:41:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:41:11 2009 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates/2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (140 commits)\n  KVM: MMU: handle large host sptes on invlpg/resync\n  KVM: Add locking to virtual i8259 interrupt controller\n  KVM: MMU: Don\u0027t treat a global pte as such if cr4.pge is cleared\n  MAINTAINERS: Maintainership changes for kvm/ia64\n  KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs()\n  KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI\n  KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip\n  KVM: fix handling of ACK from shared guest IRQ\n  KVM: MMU: check for present pdptr shadow page in walk_shadow\n  KVM: Consolidate userspace memory capability reporting into common code\n  KVM: Advertise the bug in memory region destruction as fixed\n  KVM: use cpumask_var_t for cpus_hardware_enabled\n  KVM: use modern cpumask primitives, no cpumask_t on stack\n  KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus\n  KVM: set owner of cpu and vm file operations\n  anon_inodes: use fops-\u003eowner for module refcount\n  x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj\n  KVM: MMU: prepopulate the shadow on invlpg\n  KVM: MMU: skip global pgtables on sync due to cr3 switch\n  KVM: MMU: collapse remote TLB flushes on root sync\n  ...\n"
    },
    {
      "commit": "e4cda3e0728156c6be1d03e72ef20ea811da4ad5",
      "tree": "75e989d0279992b7d8edb6d88cb47d4aabffe9ff",
      "parents": [
        "faed4aa586f0c16020676481033665e959916c6a"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 31 14:26:57 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:15:07 2009 -0200"
      },
      "message": "V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "cb889a2f3515b140bef193cf6ffcdb099349b8aa",
      "tree": "60e376ceb37a7f35504b04958093a3fae136d218",
      "parents": [
        "9baed99ee7a834b1f2599e13f219087f01c63f38"
      ],
      "author": {
        "name": "Klaus Schmidinger",
        "email": "Klaus.Schmidinger@cadsoft.de",
        "time": "Wed Dec 31 14:11:23 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:15:01 2009 -0200"
      },
      "message": "V4L/DVB (10164): Add missing S2 caps flag to S2API\n\nThe attached patch adds a capability flag that allows an application\nto determine whether a particular device can handle \"second generation\nmodulation\" transponders. This is necessary in order for applications\nto be able to decide which device to use for a given channel in\na multi device environment, where DVB-S and DVB-S2 devices are mixed.\n\nIt is assumed that a device capable of handling \"second generation\nmodulation\" can implicitly handle \"first generation modulation\".\nThe flag is not named anything with DVBS2 in order to allow its\nuse with future DVBT2 devices as well (should they ever come).\n\nSigned-off by: Klaus Schmidinger \u003cKlaus.Schmidinger@cadsoft.de\u003e\n\nAcked-by: Steven Toth \u003cstoth@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "aecde8b53b8ee1330a5a8206200f0d6b8845a6e0",
      "tree": "53a1aef6597a9d829864c054230b312010abc3a7",
      "parents": [
        "da1b5c95e49bb564ae8c61ed135d34ed09acbb66"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 30 07:14:19 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:11:52 2009 -0200"
      },
      "message": "V4L/DVB (10141): v4l2: debugging API changed to match against driver name instead of ID.\n\nSince the i2c driver ID will be removed in the near future we have to\nmodify the v4l2 debugging API to use the driver name instead of driver ID.\n\nNote that this API is not used in applications other than v4l2-dbg.cpp\nas it is for debugging and testing only.\n\nShould anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged\nwith a warning that it is deprecated and will be removed in 2.6.30.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "9bb7cde793f0637cfbdd21c04050ffcef33a5624",
      "tree": "47ea0a0eead095f87b68fd16c9c13ef938bc315f",
      "parents": [
        "069b747931f13eda289c1d59a09ecc8162281a76"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 30 06:42:40 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:11:39 2009 -0200"
      },
      "message": "V4L/DVB (10139): v4l: rename v4l_compat_ioctl32 to v4l2_compat_ioctl32\n\nThis rename prevents conflicts with the older compat_ioctl32 module.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "069b747931f13eda289c1d59a09ecc8162281a76",
      "tree": "144b8ebf131eba4f3468d8d3f52bd192bc2e4f76",
      "parents": [
        "4ab9203b1b7e45f1beae7eb0c67d663a26257a69"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 30 07:04:34 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:11:34 2009 -0200"
      },
      "message": "V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl.\n\nSince internal to v4l2 the ioctl prototype is the same regardless of it\nbeing called through .ioctl or .unlocked_ioctl, we need to convert it all\nto the long return type of unlocked_ioctl.\n\nThanks to Jean-Francois Moine for posting an initial patch for this and\nthus bringing it to our attention.\n\nCc: Jean-Francois Moine \u003cmoinejf@free.fr\u003e\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "bec43661b1dc0075b7445223ba775674133b164d",
      "tree": "2a09ad5cc78799985e5cfb789f0a23db58e70499",
      "parents": [
        "dfa9a5ae679ff2d23caa995d0f55a19abaf0596e"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 30 06:58:20 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jan 02 17:11:12 2009 -0200"
      },
      "message": "V4L/DVB (10135): v4l2: introduce v4l2_file_operations.\n\nIntroduce a struct v4l2_file_operations for v4l2 drivers.\n\nRemove the unnecessary inode argument.\n\nMove compat32 handling (and llseek) into the v4l2-dev core: this is now\nhandled in the v4l2 core and no longer in the drivers themselves.\n\nNote that this changeset reverts an earlier patch that changed the return\ntype of__video_ioctl2 from int to long. This change will be reinstated\nlater in a much improved version.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "2640c9a90fa596871e142f42052608864335f102",
      "tree": "bf0fb0e59b324963d650a7e82f83c1a4f993aa69",
      "parents": [
        "80618fa83a34a26199fa99cfd06476a81ddf57df",
        "b16aabc9374217fa2d28e72fd9a6e6d60905e1b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:32:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:32:18 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (32 commits)\n  ide-atapi: start dma in a drive-specific way\n  ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc\n  ide-atapi: remove timeout arg to ide_issue_pc\n  ide-cd: remove handler wrappers\n  ide-cd: remove xferlen arg to cdrom_start_packet_command\n  ide-atapi: split drive-specific functionality in ide_issue_pc\n  ide-atapi: assign expiry and timeout based on device type\n  ide-atapi: compute cmd_len based on device type in ide_transfer_pc\n  ide: remove the last ide-scsi remnants\n  ide-atapi: remove ide-scsi remnants from ide_pc_intr()\n  ide-atapi: remove ide-scsi remnants from ide_transfer_pc()\n  ide-atapi: remove ide-scsi remnants from ide_issue_pc\n  ide-cd: move cdrom_timer_expiry to ide-atapi.c\n  ide-atapi: teach ide atapi about drive-\u003ewaiting_for_dma\n  ide-atapi: accomodate transfer length calculation for ide-cd\n  ide-atapi: setup dma for ide-cd\n  ide-atapi: combine drive-specific assignments\n  ide-atapi: add a dev_is_idecd-inline\n  remove ide-scsi\n  ide-floppy: allocate only toplevel packet commands\n  ...\n"
    },
    {
      "commit": "80618fa83a34a26199fa99cfd06476a81ddf57df",
      "tree": "30a486902351f57c8f072dee268d2abeb3ddfe7e",
      "parents": [
        "92cde4d5396c3b6cbf3192286b687f97a889dffe",
        "b21a207141d83a06abc5f492b80204602e02ca44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:31:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:31:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb\n\n* \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (31 commits)\n  uwb: remove beacon cache entry after calling uwb_notify()\n  uwb: remove unused include/linux/uwb/debug.h\n  uwb: use print_hex_dump()\n  uwb: use dev_dbg() for debug messages\n  uwb: fix memory leak in uwb_rc_notif()\n  wusb: fix oops when terminating a non-existant reservation\n  uwb: fix oops when terminating an already terminated reservation\n  uwb: improved MAS allocator and reservation conflict handling\n  wusb: add debug files for ASL, PZL and DI to the whci-hcd driver\n  uwb: fix oops in debug PAL\u0027s reservation callback\n  uwb: clean up whci_wait_for() timeout error message\n  wusb: whci-hcd shouldn\u0027t do ASL/PZL updates while channel is inactive\n  uwb: remove unused beacon group join/leave events\n  wlp: start/stop radio on network interface up/down\n  uwb: add basic radio manager\n  uwb: add pal parameter to new reservation callback\n  uwb: fix races between events and neh timers\n  uwb: don\u0027t unbind the radio controller driver when resetting\n  uwb: per-radio controller event thread and beacon cache\n  uwb: add commands to add/remove IEs to the debug interface\n  ...\n"
    },
    {
      "commit": "d2fde28ce793c09c1ea36d981cb6765174fd1eea",
      "tree": "d1922f6572702374900dace5dcbb9d794fecc522",
      "parents": [
        "609e5b71d0eca163df017ecfcf917b149875e744",
        "e65f0f8271b1b0452334e5da37fd35413a000de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:25:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:26:01 2009 -0800"
      },
      "message": "Merge branch \u0027tty-updates\u0027 from Alan\n\n* tty-updates: (75 commits)\n  serial_8250: support for Sealevel Systems Model 7803 COMM+8\n  hso maintainers update patch\n  hso modem detect fix patch against Alan Cox\u0027es tty tree\n  tty: Fix an ircomm warning and note another bug\n  drivers/char/cyclades.c: cy_pci_probe: fix error path\n  Serial: UART driver changes for Cavium OCTEON.\n  Serial: Allow port type to be specified when calling serial8250_register_port.\n  8250: Serial driver changes to support future Cavium OCTEON serial patches.\n  8250: Don\u0027t clobber spinlocks.\n  fix for tty-serial-move-port\n  tty: We want the port object to be persistent\n  __FUNCTION__ is gcc-specific, use __func__\n  serial: RS485 ioctl structure uses __u32 include linux/types.h\n  tty: Drop the lock_kernel in the private ioctl hook\n  synclink_cs: Convert to tty_port\n  tty: use port methods for the rocket driver\n  tty: kref the rocket driver\n  tty: make rocketport use standard port-\u003eflags\n  tty: Redo the rocket driver locking\n  tty: Make epca use the port helpers\n  ...\n"
    },
    {
      "commit": "e65f0f8271b1b0452334e5da37fd35413a000de4",
      "tree": "eee724aed4d1171adab8a5950ab458de12872a6b",
      "parents": [
        "11cd29b028be88b13717401496fe4953fb96be03"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Fri Jan 02 13:50:43 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:44 2009 -0800"
      },
      "message": "serial_8250: support for Sealevel Systems Model 7803 COMM+8\n\nAdd support for Sealevel Systems Model 7803 COMM+8\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b06f19151c335ee0c5b61839fa4e6838182ebb8",
      "tree": "b4b6e263320e7f06597c9170e691d16a42efd876",
      "parents": [
        "8e23fcc89c8091790903927449f8efb9b4e23960"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Jan 02 13:50:00 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:43 2009 -0800"
      },
      "message": "Serial: UART driver changes for Cavium OCTEON.\n\nCavium UART implementation is not covered by existing uart_configS.\nDefine a new uart_config (PORT_OCTEON) which is specified by OCTEON\nplatform device registration code.\n\nSigned-off-by: Tomaso Paoletti \u003ctpaoletti@caviumnetworks.com\u003e\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e23fcc89c8091790903927449f8efb9b4e23960",
      "tree": "a6f60b457be02430a55629729451ba12288554c0",
      "parents": [
        "7d6a07d123b62bf4fa71867420c23da3ca36c995"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Jan 02 13:49:54 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:43 2009 -0800"
      },
      "message": "Serial: Allow port type to be specified when calling serial8250_register_port.\n\nAdd flag value UPF_FIXED_TYPE which specifies that the UART type is\nknown and should not be probed.  For this case the UARTs properties\nare just copied out of the uart_config entry.\n\nThis allows us to keep SOC specific 8250 probe code out of 8250.c.  In\nthis case we know the serial hardware will not be changing as it is on\nthe same silicon as the CPU, and we can specify it with certainty in\nthe board/cpu setup code.\n\nThe alternative is to load up 8250.c with a bunch of OCTEON specific\nspecial cases in the probing code.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d6a07d123b62bf4fa71867420c23da3ca36c995",
      "tree": "ccb554b8bf86b9cf1b4f6bcd88745e0c5cb1793e",
      "parents": [
        "b430428a188e8a434325e251d0704af4b88b4711"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Jan 02 13:49:47 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:43 2009 -0800"
      },
      "message": "8250: Serial driver changes to support future Cavium OCTEON serial patches.\n\nIn order to use Cavium OCTEON specific serial i/o drivers, we first\npatch the 8250 driver to use replaceable I/O functions.  Compatible\nI/O functions are added for existing iotypeS.\n\nAn added benefit of this change is that it makes it easy to factor\nsome of the existing special cases out to board/SOC specific support\ncode.\n\nThe alternative is to load up 8250.c with a bunch of OCTEON specific\niotype code and bug work-arounds.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Tomaso Paoletti \u003ctpaoletti@caviumnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f751928e0ddf54ea4fe5546f35e99efc5b5d9938",
      "tree": "a8198e420a70408dc58cabb54e10f67e0c1c0ebf",
      "parents": [
        "6ef53066ff7991d5f9670340e92d42ee1776bbe4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:49:21 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:42 2009 -0800"
      },
      "message": "tty: We want the port object to be persistent\n\nMove the tty_port and uart_info bits around a little. By embedding the uart_info\ninto the uart_port we get rid of lots of corner case testing and also get the\nability to go port\u003c-\u003estate\u003c-\u003einfo which is a bit more elegant than the current\ndata structures.\n\nDownsides - we allocate a tiny bit more memory for unused ports, upside we\u0027ve\nremoved as much code as it saved for most users..\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60c20fb8c00a2b23308ae4517f145383bc66d291",
      "tree": "cf2a5cb0151f77e75bebdc1b98c9b9fad3096855",
      "parents": [
        "6b447f04a9aecdf2a30c1a97e4b034ac7931bb70"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Jan 02 13:49:04 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:42 2009 -0800"
      },
      "message": "serial: RS485 ioctl structure uses __u32 include linux/types.h\n\nIn the commit below a new struct serial_rs485 was introduced for a new\nioctl:\n\n    commit c26c56c0f40e200e61d1390629c806f6adaffbcc\n    Author: Alan Cox \u003calan@redhat.com\u003e\n    Date:   Mon Oct 13 10:37:48 2008 +0100\n\n\ttty: Cris has a nice RS485 ioctl so we should steal it\n\nThis structure uses the __u32 types for some of its members, which leads\nto the following compile error:\n\n    $ cc -I.../include -c X.c\n    In file included from X.c:2: .../include/linux/serial.h:185:\n\t\terror: expected specifier-qualifier-list before ‘__u32’\n    $\n\nIt seems that these types are appropriate for this structure as it is\nto be exposed to userspace.  These types are available via linux/types.h\nso move the include of that outside the __KERNEL__ section.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39aced68d664291db3324d0fcf0985ab5626aac2",
      "tree": "2ea98f0c2f662dc0ea8274a246e92ade95de96c3",
      "parents": [
        "a6614999e800cf3a134ce93ea46ef837e3c0e76e"
      ],
      "author": {
        "name": "Niels de Vos",
        "email": "niels.devos@wincor-nixdorf.com",
        "time": "Fri Jan 02 13:46:58 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter\n\nThe PCI-card identified as \"Oxford Semiconductor Ltd EXSYS EX-41092 Dual\n16950 Serial adapter\" is only usable with other devices (i.e. not the same\ncard) after doing a \"setserial /dev/ttyS\u003cn\u003e baud_base 115200\".  This\nbaud_base should be default for this card.\n\nSigned-off-by: Niels de Vos \u003cniels.devos@wincor-nixdorf.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6614999e800cf3a134ce93ea46ef837e3c0e76e",
      "tree": "56b0a29ed004a284561a4c3ff3ee52075acabb65",
      "parents": [
        "7834909f1eb96ba7c49ca2b9e3a69b500a2cff76"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:50 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: Introduce some close helpers for ports\n\nAgain this is a lot of common code we can unify\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c",
      "tree": "4eee6f264c83bef40e103aa1e141475f481b0f80",
      "parents": [
        "36c621d82b956ff6ff72273f848af53e6c581aba"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:18 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: Rework istallion to use the tty port changes\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "36c621d82b956ff6ff72273f848af53e6c581aba"
}
