)]}'
{
  "log": [
    {
      "commit": "238c6d54830c624f34ac9cf123ac04aebfca5013",
      "tree": "43b7f595013483382a3053237c45d9d2824e0295",
      "parents": [
        "8e128ce3318a147903c893de1891f6c2306f8a61",
        "a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm snapshot: extend exception store functions\n  dm snapshot: split out exception store implementations\n  dm snapshot: rename struct exception_store\n  dm snapshot: separate out exception store interface\n  dm mpath: move trigger_event to system workqueue\n  dm: add name and uuid to sysfs\n  dm table: rework reference counting\n  dm: support barriers on simple devices\n  dm request: extend target interface\n  dm request: add caches\n  dm ioctl: allow dm_copy_name_and_uuid to return only one field\n  dm log: ensure log bitmap fits on log device\n  dm log: move region_size validation\n  dm log: avoid reinitialising io_req on every operation\n  dm: consolidate target deregistration error handling\n  dm raid1: fix error count\n  dm log: fix dm_io_client leak on error paths\n  dm snapshot: change yield to msleep\n  dm table: drop reference at unbind\n"
    },
    {
      "commit": "ab4c1424882be9cd70b89abf2b484add355712fa",
      "tree": "8baed3606be67900df9f02e42fcdb091b78c5def",
      "parents": [
        "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "message": "dm: support barriers on simple devices\n\nImplement barrier support for single device DM devices\n\nThis patch implements barrier support in DM for the common case of dm linear\njust remapping a single underlying device. In this case we can safely\npass the barrier through because there can be no reordering between\ndevices.\n\n NB. Any DM device might cease to support barriers if it gets\n     reconfigured so code must continue to allow for a possible\n     -EOPNOTSUPP on every barrier bio submitted.  - agk\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374",
      "tree": "d0b470dd1a55dfffb27ffa012e4a5afebd133495",
      "parents": [
        "8fbf26ad5b16ad3a826ca7fe3e86700420abed1f"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "message": "dm request: extend target interface\n\nThis patch adds the following target interfaces for request-based dm.\n\n  map_rq    : for mapping a request\n\n  rq_end_io : for finishing a request\n\n  busy      : for avoiding performance regression from bio-based dm.\n              Target can tell dm core not to map requests now, and\n              that may help requests in the block layer queue to be\n              bigger by I/O merging.\n              In bio-based dm, this behavior is done by device\n              drivers managing the block layer queue.\n              But in request-based dm, dm core has to do that\n              since dm core manages the block layer queue.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "10d3bd09a3c25df114f74f7f86e1b58d070bef32",
      "tree": "a44e2fe5ccc5950b87a1d31849e5f0ac24fdcc16",
      "parents": [
        "d460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "message": "dm: consolidate target deregistration error handling\n\nChange dm_unregister_target to return void and use BUG() for error\nreporting.\n\ndm_unregister_target can only fail because of programming bug in the\ntarget driver. It can\u0027t fail because of user\u0027s behavior or disk errors.\n\nThis patch changes unregister_target to return void and use BUG if\nsomeone tries to unregister non-registered target or unregister target\nthat is in use.\n\nThis patch removes code duplication (testing of error codes in all dm\ntargets) and reports bugs in just one place, in dm_unregister_target. In\nsome target drivers, these return codes were ignored, which could lead\nto a situation where bugs could be missed.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8e128ce3318a147903c893de1891f6c2306f8a61",
      "tree": "3b45e780570e9beb9ec8e83c677f2d9fd9b458ce",
      "parents": [
        "0bbb2753584231db364b624bf8cf82551b94da7d",
        "3f874b6643e189d3d07618928ceed0013d71593e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:04:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:04:09 2009 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd: (30 commits)\n  mfd: Fix section mismatch in da903x\n  mfd: move drivers/i2c/chips/menelaus.c to drivers/mfd\n  mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd\n  mfd: dm355evm msp430 driver\n  mfd: Add missing break from wm3850-core\n  mfd: Add WM8351 support\n  mfd: Support configurable numbers of DCDCs and ISINKs on WM8350\n  mfd: Handle missing WM8350 platform data\n  mfd: Add WM8352 support\n  mfd: Use irq_to_desc in twl4030 code\n  power_supply: Add Dialog DA9030 battery charger driver\n  mfd: Dialog DA9030 battery charger MFD driver\n  mfd: Register WM8400 codec device\n  mfd: Pass driver_data onto child devices\n  mfd: Fix twl4030-core.c build error\n  mfd: twl4030 regulator bug fixes\n  mfd: twl4030: create some regulator devices\n  mfd: twl4030: cleanup symbols and OMAP dependency\n  mfd: twl4030: simplified child creation code\n  power_supply: Add battery health reporting for WM8350\n  ...\n"
    },
    {
      "commit": "0bbb2753584231db364b624bf8cf82551b94da7d",
      "tree": "559c49330037fa4e2f5d231e06576f80dc49caaf",
      "parents": [
        "0578c3b4d44c34e499e1fd5916ed6c63635b25cf",
        "9e01892c4234070bbcf3a9f582514c8b91464375"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:39 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  module: convert to stop_machine_create/destroy.\n  stop_machine: introduce stop_machine_create/destroy.\n  parisc: fix module loading failure of large kernel modules\n  module: fix module loading failure of large kernel modules for parisc\n  module: fix warning of unused function when !CONFIG_PROC_FS\n  kernel/module.c: compare symbol values when marking symbols as exported in /proc/kallsyms.\n  remove CONFIG_KMOD\n"
    },
    {
      "commit": "0578c3b4d44c34e499e1fd5916ed6c63635b25cf",
      "tree": "7bcf1e4bb08984b2f5671a48c052c26903855ba6",
      "parents": [
        "7d8a804c594b61a05c698126165b5dc417d94a0f",
        "52942b6b16c6ebb25f4dd4df0208d840ba0cbc5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:03:11 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  swiotlb: Don\u0027t include linux/swiotlb.h twice in lib/swiotlb.c\n  intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n  swiotlb: add missing __init annotations\n"
    },
    {
      "commit": "8606ab6d30dbaaafff985bd462bf33c36997eae9",
      "tree": "4a31a004438370e5e51f5f042badfac850ec9ac8",
      "parents": [
        "c54febae996d36c630f09209cd9983ecfda3fcad",
        "ed42350e02bfcb333024949e9653d06916135cc5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:53:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:53:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (22 commits)\n  HID: fix error condition propagation in hid-sony driver\n  HID: fix reference count leak hidraw\n  HID: add proper support for pensketch 12x9 tablet\n  HID: don\u0027t allow DealExtreme usb-radio be handled by usb hid driver\n  HID: fix default Kconfig setting for TopSpeed driver\n  HID: driver for TopSeed Cyberlink quirky remote\n  HID: make boot protocol drivers depend on EMBEDDED\n  HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER\n  HID: hiddev cleanup -- handle all error conditions properly\n  HID: force feedback driver for GreenAsia 0x12 PID\n  HID: switch specialized drivers from \"default y\" to !EMBEDDED\n  HID: set proper dev.parent in hidraw\n  HID: add dynids facility\n  HID: use GFP_KERNEL in hid_alloc_buffers\n  HID: usbhid, use usb_endpoint_xfer_int\n  HID: move usbhid flags to usbhid.h\n  HID: add n-trig digitizer support\n  HID: add phys and name ioctls to hidraw\n  HID: struct device - replace bus_id with dev_name(), dev_set_name()\n  HID: automatically call usbhid_set_leds in usbhid driver\n  ...\n"
    },
    {
      "commit": "c54febae996d36c630f09209cd9983ecfda3fcad",
      "tree": "35b2717dcd4e4ff2206cd468b5895afb16f49c8c",
      "parents": [
        "e42e4ba07bc72c0eb7c7ab3bf9e5076db90d0f37",
        "eb8374e71f941a1b3c2ed6ea19dc809e7124dc5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (27 commits)\n  GFS2: Use DEFINE_SPINLOCK\n  GFS2: Fix use-after-free bug on umount (try #2)\n  Revert \"GFS2: Fix use-after-free bug on umount\"\n  GFS2: Streamline alloc calculations for writes\n  GFS2: Send useful information with uevent messages\n  GFS2: Fix use-after-free bug on umount\n  GFS2: Remove ancient, unused code\n  GFS2: Move four functions from super.c\n  GFS2: Fix bug in gfs2_lock_fs_check_clean()\n  GFS2: Send some sensible sysfs stuff\n  GFS2: Kill two daemons with one patch\n  GFS2: Move gfs2_recoverd into recovery.c\n  GFS2: Fix \"truncate in progress\" hang\n  GFS2: Clean up \u0026 move gfs2_quotad\n  GFS2: Add more detail to debugfs glock dumps\n  GFS2: Banish struct gfs2_rgrpd_host\n  GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd\n  GFS2: Move rg_igeneration into struct gfs2_rgrpd\n  GFS2: Banish struct gfs2_dinode_host\n  GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize\n  ...\n"
    },
    {
      "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": "e9079cce201784632aed4b1a3121ee38c1ced0b6",
      "tree": "6d99fc45afb3889e5835d713948226d7548d6750",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 14 14:43:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:46 2009 +0000"
      },
      "message": "GFS2: Support for FIEMAP ioctl\n\nThis patch implements the FIEMAP ioctl for GFS2. We can use the generic\ncode (aside from a lock order issue, solved as per Ted Tso\u0027s suggestion)\nfor which I\u0027ve introduced a new variant of the generic function. We also\nhave one exception to deal with, namely stuffed files, so we do that\n\"by hand\", setting all the required flags.\n\nThis has been tested with a modified (I could only find an old version) of\nEric\u0027s test program, and appears to work correctly.\n\nThis patch does not currently support FIEMAP of xattrs, but the plan is to add\nthat feature at some future point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.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": "9ea09af3bd3090e8349ca2899ca2011bd94cda85",
      "tree": "36396347bb750a6aecb0771cfebf9887aaaae492",
      "parents": [
        "c298be74492bece102f3379d14015638f1fd1fac"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Dec 22 12:36:30 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 05 08:40:14 2009 +1030"
      },
      "message": "stop_machine: introduce stop_machine_create/destroy.\n\nIntroduce stop_machine_create/destroy. With this interface subsystems\nthat need a non-failing stop_machine environment can create the\nstop_machine machine threads before actually calling stop_machine.\nWhen the threads aren\u0027t needed anymore they can be killed with\nstop_machine_destroy again.\n\nWhen stop_machine gets called and the threads aren\u0027t present they\nwill be created and destroyed automatically. This restores the old\nbehaviour of stop_machine.\n\nThis patch also converts cpu hotplug to the new interface since it\nis special: cpu_down calls __stop_machine instead of stop_machine.\nHowever the kstop threads will only be created when stop_machine\ngets called.\n\nChanging the code so that the threads would be created automatically\non __stop_machine is currently not possible: when __stop_machine gets\ncalled we hold cpu_add_remove_lock, which is the same lock that\ncreate_rt_workqueue would take. So the workqueue needs to be created\nbefore the cpu hotplug code locks cpu_add_remove_lock.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "088af9a6e05d51e7c3dc85d45d8b7a52c3ee08d7",
      "tree": "86e2dd6be7fbc17cb01a42fc11f5eef794a824df",
      "parents": [
        "d1e99d7ae4e6bbd1ebb5e81ecd3af2b8793efee0"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Dec 31 12:31:18 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 05 08:40:13 2009 +1030"
      },
      "message": "module: fix module loading failure of large kernel modules for parisc\n\nWhen creating the final layout of a kernel module in memory, allow the\nmodule loader to reserve some additional memory in front of a given section.\nThis is currently only needed for the parisc port which needs to put the\nstub entries there to fulfill the 17/22bit PCREL relocations with large\nkernel modules like xfs.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (renamed fn)\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": "0931a4c6dbfab03f2bfd22a9170130f7b155d53a",
      "tree": "3b943723615a0212bf5e5b74b1fbc0689ee6cbae",
      "parents": [
        "4331bb32339a55fd88fbfb0581ed5132207bf9a2"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Dec 22 12:05:27 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:43 2009 +0100"
      },
      "message": "mfd: dm355evm msp430 driver\n\nBasic MFD framework for the MSP430 microcontroller firmware used\non the dm355evm board:\n\n - Provides an interface for other drivers: register read/write\n   utilities, and register declarations.\n\n - Directly exports:\n     * Many signals through the GPIO framework\n         + LEDs\n         + SW6 through gpio sysfs\n\t + NTSC/nPAL jumper through gpio sysfs\n\t + ... more could be added later, e.g. MMC signals\n     * Child devices:\n\t+ LEDs, via leds-gpio child (and default triggers)\n\t+ RTC, via rtc-dm355evm child device\n\t+ Buttons and IR control, via dm355evm_keys\n\n - Supports power-off system call.  Use the reset button to power\n   the board back up; the power supply LED will be on, but the\n   MSP430 waits to re-activate the regulators.\n\n - On probe() this:\n     * Announces firmware revision\n     * Turns off the banked LEDs\n     * Exports the resources noted above\n     * Hooks the power-off support\n     * Muxes tvp5146 -or- imager for video input\n\nUnless the new tvp514x driver (tracked for mainline) is configured,\nthis assumes that some custom imager driver handles video-in.\n\nThis completely ignores the registers reporting the output voltages\non the various power supplies.  Someone could add a hwmon interface\nif that seems useful.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "ca23f8c1b0aa15dc69565244fc5dffa67a72dd02",
      "tree": "ef082e834c225e8138f2c0a208a37b0384d4741f",
      "parents": [
        "645524a9c6e1e42dc4fe03217befb20e2fc4d43e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 18 23:12:28 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:42 2009 +0100"
      },
      "message": "mfd: Add WM8351 support\n\nThe WM8351 is a WM8350 variant. As well as register default changes the\nWM8351 has fewer voltage and current regulators than the WM8350.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "645524a9c6e1e42dc4fe03217befb20e2fc4d43e",
      "tree": "f556620d6695f7257c24cc483b3b9bdde9abfca1",
      "parents": [
        "53a0d99b1ef14f56baec06eec1e3dad031672b3a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 18 23:12:16 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:42 2009 +0100"
      },
      "message": "mfd: Support configurable numbers of DCDCs and ISINKs on WM8350\n\nSome WM8350 variants have fewer DCDCs and ISINKs. Identify these at\nprobe and refuse to use the absent DCDCs when running on these chips.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "96920630624868add3f63f596523e70dbb64549a",
      "tree": "061f9889a1f0a0b6937ba0df82d8114a9123b935",
      "parents": [
        "94964f96a6b7018d68b7386cd8c0b8505d3cf69f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 18 23:09:50 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:42 2009 +0100"
      },
      "message": "mfd: Add WM8352 support\n\nThe WM8352 is a variant of the WM8350. Aside from the register defaults\nthere are no software visible differences to the WM8350.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "856f6fd119411d5701d5db96e1aae1dd69923887",
      "tree": "0b3307ff6ab793814909fb051b18eeca4687e98f",
      "parents": [
        "b8380c1a661f1f853418ff2eb798f27a11cade57"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Thu Dec 18 10:54:27 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:41 2009 +0100"
      },
      "message": "mfd: Dialog DA9030 battery charger MFD driver\n\nThis patch amends DA903x MFD driver with definitions and methods\nneeded for battery charger driver.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "b73eac7871d002835be17d4602cced2c15c0db4b",
      "tree": "0d664f8baf38f20eb8557ad6148377a1eef21899",
      "parents": [
        "dad759ff8ba79927766e3f0159bfc5fb6de0f982"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Sun Dec 07 19:10:58 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:40 2009 +0100"
      },
      "message": "mfd: twl4030 regulator bug fixes\n\nThis contains two bugfixes to the initial twl4030 regulator\nsupport patch related to USB:\n\n (a) always overwrite the old list of consumers ... else\n     the regulator handles all use the same \"usb1v5\" name;\n (b) don\u0027t set up the \"usbcp\" regulator, which turns out\n     to be managed through separate controls, usually ULPI\n     directly from the OTG controller.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "dad759ff8ba79927766e3f0159bfc5fb6de0f982",
      "tree": "06849276db93d8893d763175b8d3acb4b2b5e2f8",
      "parents": [
        "67460a7c26271fd7a32e5d51b2c806a84ce78a62"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Dec 01 00:43:58 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:39 2009 +0100"
      },
      "message": "mfd: twl4030: create some regulator devices\n\nInitial code to create twl4030 voltage regulator devices, using\nthe new regulator framework.  Note that this now starts to care\nwhat name is used to declare the TWL chip:\n\n - TWL4030 is the \"old\" chip; newer ones have a bigger variety\n   of VAUX2 voltages.\n\n - TWL5030 is the core \"new\" chip; TPS65950 is its catalog version.\n\n - The TPS65930 and TPS65920 are cost-reduced catalog versions of\n   TWL5030 parts ... fewer regulators, no battery charger, etc.\n\nBoard-specific regulator configuration should be provided, listing\nwhich regulators are used and their constraints (e.g. 1.8V only).\n\nCode that could (\"should\"?) leverage the regulator stuff includes\nTWL4030 USB transceiver support and MMC glue, LCD support for the\n3430SDP and Labrador boards, and S-Video output.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "67460a7c26271fd7a32e5d51b2c806a84ce78a62",
      "tree": "9da0301218f213122a402c2f671db2674db4b484",
      "parents": [
        "5725d66b9d18e630bb63e3b76bedf25fd1027265"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Dec 01 00:35:33 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:39 2009 +0100"
      },
      "message": "mfd: twl4030: cleanup symbols and OMAP dependency\n\nFinish removing dependency of TWL driver stack on platform-specific\nIRQ definitions ... and remove the build dependency on OMAP.\n\nThis lets the TWL4030 code be included in test builds for most\nplatforms, and will make it easier for non-OMAP folk to update\nmost of this code for new APIs etc.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "4008e879e1325c29362aa2c3fa4b527273ae15a8",
      "tree": "1fe1e210e6031a6a19d42b88645f94641a23f7db",
      "parents": [
        "7e386e6e0e4f34f0545e8923e22fe4dd61ef9d48"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Nov 30 22:45:14 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:39 2009 +0100"
      },
      "message": "power_supply: Add battery health reporting for WM8350\n\nImplement support for reporting battery health in the WM8350 battery\ninterface. Since we are now able to report this via the classs remove\nthe diagnostics from the interrupt handler.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "7e386e6e0e4f34f0545e8923e22fe4dd61ef9d48",
      "tree": "1ee5fa55e26d0615aed1817163755a5315b86ec0",
      "parents": [
        "b797a5551979da22b0a35632198ffc8a330d9537"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Nov 30 22:43:21 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:39 2009 +0100"
      },
      "message": "power_supply: Add cold to the POWER_SUPPLY_HEALTH report values\n\nSome systems are able to report problems with batteries being under\ntemperature.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "b797a5551979da22b0a35632198ffc8a330d9537",
      "tree": "664747dc55889cd30a7d853e2fe5e816a2d9d6a2",
      "parents": [
        "d756f4a4446227ca9626087939a6769ca55ab036"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 24 20:22:58 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:39 2009 +0100"
      },
      "message": "mfd: Refactor WM8350 chip identification\n\nSince the WM8350 driver was originally written the semantics for the\nidentification registers of the chip have been clarified, allowing\nus to do an exact match on all the fields. This avoids mistakenly\nrunning on unsupported hardware.\n\nAlso change to using the datasheet names more consistently for\nlegibility and fix a printk() that should be dev_err().\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "d756f4a4446227ca9626087939a6769ca55ab036",
      "tree": "572e6788f3aa01c74c1c8ebb139b0d8a137cdd72",
      "parents": [
        "14431aa0c5a443d13d24e6f865a8838f97dab973"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 24 20:20:30 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:38 2009 +0100"
      },
      "message": "mfd: Switch WM8350 revision detection to a feature based model\n\nRather than check for chip revisions in the WM8350 drivers have the core\ncode set flags for relevant differences.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "14431aa0c5a443d13d24e6f865a8838f97dab973",
      "tree": "b0494cf2787cf039f7541439ef9b1f6ee5c3b294",
      "parents": [
        "3fba19ec1ae5b460c73a7f32efed8d3b3300b246"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Nov 16 20:16:47 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:38 2009 +0100"
      },
      "message": "power_supply: Add support for WM8350 PMU\n\nThis patch adds support for the PMU provided by the WM8350 which\nimplements battery, line and USB supplies including a battery charger.\nThe hardware functions largely autonomously, with minimal software\ncontrol required to initiate fast charging.\n\nSupport for configuration of the USB supply is not yet implemented.\nThis means that the hardware will remain in the mode configured at\nstartup, by default limiting the current drawn from USB to 100mA.\n\nThis driver was originally written by Liam Girdwood with subsequent\nupdates for submission by Mark Brown.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "3fba19ec1ae5b460c73a7f32efed8d3b3300b246",
      "tree": "e67545d3cfb1b622d79c21e6904f5a6003c6d17b",
      "parents": [
        "67488526349d043372d141c054f4dc6313780b3c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Sat Nov 08 01:13:16 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:38 2009 +0100"
      },
      "message": "mfd: allow reading entire register banks on twl4030\n\nMinor change to the TWL4030 utility interface:  support reads\nof all 256 bytes in each register bank (vs just 255).  This\ncan help when debugging, but is otherwise a NOP.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "67488526349d043372d141c054f4dc6313780b3c",
      "tree": "22db1f6609edd7945fb000b4a9c48e86aadf3dfb",
      "parents": [
        "0c8a601678960fbcc1c1185a283d6d107575810b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Nov 08 01:10:21 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:38 2009 +0100"
      },
      "message": "mfd: Add AUXADC support for WM8350\n\nThe auxiliary ADC in the WM8350 is shared between several subdevices\nso access to it needs to be arbitrated by the core driver.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "0c8a601678960fbcc1c1185a283d6d107575810b",
      "tree": "b4202f1fc8cd754a9e655ee035f8b73b44ab2fe1",
      "parents": [
        "858e674466427b1236eb5ef9568999a7df286b1e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Nov 08 01:10:16 2008 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Jan 04 12:17:38 2009 +0100"
      },
      "message": "mfd: Add WM8350 revision H support\n\nNo other software changes are required.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "c66b9906f863696159e05890bb7123269bb9a9de",
      "tree": "8aa2277b033eb8c823289575134d21180ce42e73",
      "parents": [
        "4010b0192ddf6ec7ec1b9feb9b0953692aeb7329"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 04 10:55:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 04 11:00:05 2009 +0100"
      },
      "message": "intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n\ndmar.o can be built in the CONFIG_INTR_REMAP\u003dy case but\niommu_calculate_agaw() is only available if VT-d is built as well.\n\nSo create an inline version of iommu_calculate_agaw() for the\n!CONFIG_DMAR case. The iommu-\u003eagaw value wont be used in this\ncase, but the code is cleaner (has less #ifdefs) if we have it around\nunconditionally.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "725cf0f47dbb02e0482f081828cff73f55479b79",
      "tree": "077843d1f7c44f61cbacf5c2813280ef48e6dd1d",
      "parents": [
        "079034073faf974973baa0256b029451f6e768ad"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Tue Dec 16 14:20:23 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jan 04 01:00:53 2009 +0100"
      },
      "message": "HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER\n\nImpact: include a prototype for the exported function in the macro\n\nFix about 20 of this warnings:\n\n  drivers/hid/hid-a4tech.c:162:1: warning: symbol \u0027hid_compat_a4tech\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3a6f82f7a22cf19687f556997c6978b31c109360",
      "tree": "0b3a34f0c2035beb21c6d15af33207d3057bcdaf",
      "parents": [
        "898089d08f983ef0fdb176267620543a7929826a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Nov 24 16:20:09 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jan 04 01:00:52 2009 +0100"
      },
      "message": "HID: add dynids facility\n\nAllow adding new devices to the hid drivers on the fly without\na need of kernel recompilation.\n\nNow, one can test a driver e.g. by:\necho 0003:045E:00F0.0003 \u003e ../generic-usb/unbind\necho 0003 045E 00F0 \u003e new_id\nfrom some driver subdir.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0ed94b334265b6ee3e3336b4fedacfa9cb2ccaba",
      "tree": "2cc0ba70e31b16b40433cdc5309312205b8fe74d",
      "parents": [
        "94011f93f2cd7410401e22390cf7a14fe5495a22"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Mon Nov 24 16:20:07 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jan 04 01:00:51 2009 +0100"
      },
      "message": "HID: move usbhid flags to usbhid.h\n\nMove usbhid specific flags from global hid.h into local usbhid.h.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9188e79ec3fd43a0a605274324aecfb731baa88b",
      "tree": "631c3098389942df8301ce8dd1340165a47e6696",
      "parents": [
        "6bbe586fd4d94439f3960e200056ff057f7db5c6"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Nov 12 16:14:08 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jan 04 01:00:51 2009 +0100"
      },
      "message": "HID: add phys and name ioctls to hidraw\n\nThe hiddev interface provides ioctl() calls which can be used\nto obtain phys and raw name of the underlying device.\n\nAdd the corresponding support also into hidraw.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\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": "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"
    }
  ],
  "next": "7a8fc25e0cc6e75fa6fdb0a856490e324218550b"
}
