)]}'
{
  "log": [
    {
      "commit": "58bfdd6deeec02b73691ea2c951a3c5d743bca63",
      "tree": "8f46771858dee87080b0ed64bc176b25c239f3b1",
      "parents": [
        "c5289a69491f2b597e22d0456b46cc043deedbd8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: move the UTS namespace under UTS_NS option\n\nCurrently all the namespace management code is in the kernel/utsname.c file,\nso just compile it out and make stubs in the appropriate header.\n\nThe init namespace itself is in init/version.c and is in the kernel all the\ntime.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5289a69491f2b597e22d0456b46cc043deedbd8",
      "tree": "1d8c53398a8e3c452a58c520fbae5afb16dfb680",
      "parents": [
        "a3d0c6aa1bb342b9b2c7b123b52ac2f48a4d4d0a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: add the NAMESPACES config option\n\nThe option is selectable if EMBEDDED is chosen only.  When the EMBEDDED is off\nnamespaces will be on.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d0c6aa1bb342b9b2c7b123b52ac2f48a4d4d0a",
      "tree": "0c6766dd2add1f08c6153769c655e46ddff82a42",
      "parents": [
        "ac74c00e499ed276a965e5b5600667d5dc04a84a"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Fri Feb 08 04:18:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "hugetlb: add locking for overcommit sysctl\n\nWhen I replaced hugetlb_dynamic_pool with nr_overcommit_hugepages I used\nproc_doulongvec_minmax() directly.  However, hugetlb.c\u0027s locking rules\nrequire that all counter modifications occur under the hugetlb_lock.  Add a\ncallback into the hugetlb code similar to the one for nr_hugepages.  Grab\nthe lock around the manipulation of nr_overcommit_hugepages in\nproc_doulongvec_minmax().\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac74c00e499ed276a965e5b5600667d5dc04a84a",
      "tree": "81a34f797445a15b322ab48f9f69c272ef1e242d",
      "parents": [
        "a4ffc0a0b240a29cbe489f6db9dae112a49ef1c1"
      ],
      "author": {
        "name": "Ulisses Furquim",
        "email": "ulissesf@gmail.com",
        "time": "Fri Feb 08 04:18:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:22 2008 -0800"
      },
      "message": "inotify: fix check for one-shot watches before destroying them\n\nAs the IN_ONESHOT bit is never set when an event is sent we must check it\nin the watch\u0027s mask and not in the event\u0027s mask.\n\nSigned-off-by: Ulisses Furquim \u003culissesf@gmail.com\u003e\nReported-by: \"Clem Taylor\" \u003cclem.taylor@gmail.com\u003e\nTested-by: \"Clem Taylor\" \u003cclem.taylor@gmail.com\u003e\nCc: Amy Griffis \u003camy.griffis@hp.com\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4ffc0a0b240a29cbe489f6db9dae112a49ef1c1",
      "tree": "9719c706444f4b720aff2bb4bdf23a4be3f4b1e3",
      "parents": [
        "d7511ec8115487ccea2ce93bf58d5e5cd2c1c0a3",
        "af195ac82e38ba802fd86b5a014ed05ef6dd88bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:30:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:30:50 2008 -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: (44 commits)\n  dm raid1: report fault status\n  dm raid1: handle read failures\n  dm raid1: fix EIO after log failure\n  dm raid1: handle recovery failures\n  dm raid1: handle write failures\n  dm snapshot: combine consecutive exceptions in memory\n  dm: stripe enhanced status return\n  dm: stripe trigger event on failure\n  dm log: auto load modules\n  dm: move deferred bio flushing to workqueue\n  dm crypt: use async crypto\n  dm crypt: prepare async callback fn\n  dm crypt: add completion for async\n  dm crypt: add async request mempool\n  dm crypt: extract scatterlist processing\n  dm crypt: tidy io ref counting\n  dm crypt: introduce crypt_write_io_loop\n  dm crypt: abstract crypt_write_done\n  dm crypt: store sector mapping in dm_crypt_io\n  dm crypt: move queue functions\n  ...\n"
    },
    {
      "commit": "d7511ec8115487ccea2ce93bf58d5e5cd2c1c0a3",
      "tree": "e428f9438a563f1fa77479e9c9c4ef8b2e451a8b",
      "parents": [
        "0b61a2ba5dfd1620731e717d686e6ade657fd975",
        "e84542f5db655d1ce7b4890832f0e5d19aae965d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:15:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:15:38 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6\n\n* \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (59 commits)\n  hwmon: (lm80) Add individual alarm files\n  hwmon: (lm80) De-macro the sysfs callbacks\n  hwmon: (lm80) Various cleanups\n  hwmon: (w83627hf) Refactor beep enable handling\n  hwmon: (w83627hf) Add individual alarm and beep files\n  hwmon: (w83627hf) Enable VBAT monitoring\n  hwmon: (w83627ehf) The W83627DHG has 8 VID pins\n  hwmon: (asb100) Add individual alarm files\n  hwmon: (asb100) De-macro the sysfs callbacks\n  hwmon: (asb100) Various cleanups\n  hwmon: VRM is not written to registers\n  hwmon: (dme1737) fix Super-IO device ID override\n  hwmon: (dme1737) fix divide-by-0\n  hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro\n  hwmon: Add support for Texas Instruments/Burr-Brown ADS7828\n  hwmon: (adm9240) Add individual alarm files\n  hwmon: (lm77) Add individual alarm files\n  hwmon: Discard useless I2C driver IDs\n  hwmon: (lm85) Make the pwmN_enable files writable\n  hwmon: (lm85) Return standard values in pwmN_enable\n  ...\n"
    },
    {
      "commit": "0b61a2ba5dfd1620731e717d686e6ade657fd975",
      "tree": "dea84efd43934a7d6139048f87c4ba86d68d4b6d",
      "parents": [
        "a13ff0bb3feda8b1fcffc69951320277ed7c4101",
        "de2eeea609b55e8c3994133a565b39edeaaaaf69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:12:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:12:12 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6: (62 commits)\n  [XFS] add __init/__exit mark to specific init/cleanup functions\n  [XFS] Fix oops in xfs_file_readdir()\n  [XFS] kill xfs_root\n  [XFS] keep i_nlink updated and use proper accessors\n  [XFS] stop updating inode-\u003ei_blocks\n  [XFS] Make xfs_ail_check check less by default\n  [XFS] Move AIL pushing into it\u0027s own thread\n  [XFS] use generic_permission\n  [XFS] stop re-checking permissions in xfs_swapext\n  [XFS] clean up xfs_swapext\n  [XFS] remove permission check from xfs_change_file_space\n  [XFS] prevent panic during log recovery due to bogus op_hdr length\n  [XFS] Cleanup various fid related bits:\n  [XFS] Fix xfs_lowbit64\n  [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.\n  [XFS] kill superflous buffer locking (2nd attempt)\n  [XFS] Use kernel-supplied \"roundup_pow_of_two\" for simplicity\n  [XFS] Remove the BPCSHIFT and NB* based macros from XFS.\n  [XFS] Remove bogus assert\n  [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config\n  ...\n"
    },
    {
      "commit": "a13ff0bb3feda8b1fcffc69951320277ed7c4101",
      "tree": "e9f1179086614b5c435d7a81e19f99746da17214",
      "parents": [
        "c00f08d705e149fbfaf7a252b4d4fbb7affdcc96"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Feb 07 18:46:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:09:22 2008 -0800"
      },
      "message": "Convert SG from nopage to fault.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c00f08d705e149fbfaf7a252b4d4fbb7affdcc96",
      "tree": "8c916856376d0d400ddda239d5be386f9b9516d7",
      "parents": [
        "c8b6de16d9434405e5832b8772e4f986ddd5118e",
        "3adbefee6fd58a061b2bf1df4f3769701860fc62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 18:22:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 18:22:29 2008 -0800"
      },
      "message": "Merge branch \u0027slub-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm\n\n* \u0027slub-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:\n  SLUB: fix checkpatch warnings\n  Use non atomic unlock\n  SLUB: Support for performance statistics\n  SLUB: Alternate fast paths using cmpxchg_local\n  SLUB: Use unique end pointer for each slab page.\n  SLUB: Deal with annoying gcc warning on kfree()\n"
    },
    {
      "commit": "af195ac82e38ba802fd86b5a014ed05ef6dd88bb",
      "tree": "661e5848dd970f6213cbcf181818f234cef2c571",
      "parents": [
        "06386bbfd2441416875d0403d405c56822f6ebac"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:39 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:39 2008 +0000"
      },
      "message": "dm raid1: report fault status\n\nThis patch adds extra information to the mirror status output, so that\nit can be determined which device(s) have failed.  For each mirror device,\na character is printed indicating the most severe error encountered.  The\ncharacters are:\n *    A \u003d\u003e Alive - No failures\n *    D \u003d\u003e Dead - A write failure occurred leaving mirror out-of-sync\n *    S \u003d\u003e Sync - A sychronization failure occurred, mirror out-of-sync\n *    R \u003d\u003e Read - A read failure occurred, mirror data unaffected\nThis allows userspace to properly reconfigure the mirror set.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "06386bbfd2441416875d0403d405c56822f6ebac",
      "tree": "ce66e5d061f67df6e85854aafaf0c43620513359",
      "parents": [
        "b80aa7a0c268d3ae0c472f648af1e3e4a359765c"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:37 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:37 2008 +0000"
      },
      "message": "dm raid1: handle read failures\n\nThis patch gives the ability to respond-to/record device failures\nthat happen during read operations.  It also adds the ability to\nread from mirror devices that are not the primary if they are\nin-sync.\n\nThere are essentially two read paths in mirroring; the direct path\nand the queued path.  When a read request is mapped, if the region\nis \u0027in-sync\u0027 the direct path is taken; otherwise the queued path\nis taken.\n\nIf the direct path is taken, we must record bio information so that\nif the read fails we can retry it.  We then discover the status of\na direct read through mirror_end_io.  If the read has failed, we will\nmark the device from which the read was attempted as failed (so we\ndon\u0027t try to read from it again), restore the bio and try again.\n\nIf the queued path is taken, we discover the results of the read\nfrom \u0027read_callback\u0027.  If the device failed, we will mark the device\nas failed and attempt the read again if there is another device\nwhere this region is known to be \u0027in-sync\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b80aa7a0c268d3ae0c472f648af1e3e4a359765c",
      "tree": "ce3d7f686a2b022dab3e0f8ddc1846d2ac4f6c58",
      "parents": [
        "8f0205b798f926e2745de5fdebf0a8605c621de6"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:35 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:35 2008 +0000"
      },
      "message": "dm raid1: fix EIO after log failure\n\nThis patch adds the ability to requeue write I/O to\ncore device-mapper when there is a log device failure.\n\nIf a write to the log produces and error, the pending writes are\nput on the \"failures\" list.  Since the log is marked as failed,\nthey will stay on the failures list until a suspend happens.\n\nSuspends come in two phases, presuspend and postsuspend.  We must\nmake sure that all the writes on the failures list are requeued\nin the presuspend phase (a requirement of dm core).  This means\nthat recovery must be complete (because writes may be delayed\nbehind it) and the failures list must be requeued before we\nreturn from presuspend.\n\nThe mechanisms to ensure recovery is complete (or stopped) was\nalready in place, but needed to be moved from postsuspend to\npresuspend.  We rely on \u0027flush_workqueue\u0027 to ensure that the\nmirror thread is complete and therefore, has requeued all writes\nin the failures list.\n\nBecause we are using flush_workqueue, we must ensure that no\nadditional \u0027queue_work\u0027 calls will produce additional I/O\nthat we need to requeue (because once we return from\npresuspend, we are unable to do anything about it).  \u0027queue_work\u0027\nis called in response to the following functions:\n- complete_resync_work \u003d NA, recovery is stopped\n- rh_dec (mirror_end_io) \u003d NA, only calls \u0027queue_work\u0027 if it\n                           is ready to recover the region\n                           (recovery is stopped) or it needs\n                           to clear the region in the log*\n                           **this doesn\u0027t get called while\n                           suspending**\n- rh_recovery_end \u003d NA, recovery is stopped\n- rh_recovery_start \u003d NA, recovery is stopped\n- write_callback \u003d 1) Writes w/o failures simply call\n                   bio_endio -\u003e mirror_end_io -\u003e rh_dec\n                   (see rh_dec above)\n                   2) Writes with failures are put on\n                   the failures list and queue_work is\n                   called**\n                   ** write_callbacks don\u0027t happen\n                   during suspend **\n- do_failures \u003d NA, \u0027queue_work\u0027 not called if suspending\n- add_mirror (initialization) \u003d NA, only done on mirror creation\n- queue_bio \u003d NA, 1) delayed I/O scheduled before flush_workqueue\n              is called.  2) No more I/Os are being issued.\n              3) Re-attempted READs can still be handled.\n              (Write completions are handled through rh_dec/\n              write_callback - mention above - and do not\n              use queue_bio.)\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8f0205b798f926e2745de5fdebf0a8605c621de6",
      "tree": "3b0efdd8b666e507c2c7987ce6477064c2d4cc56",
      "parents": [
        "72f4b314100bae85c75d8e4c6fec621ab44e777d"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:32 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:32 2008 +0000"
      },
      "message": "dm raid1: handle recovery failures\n\nThis patch adds the calls to \u0027fail_mirror\u0027 if an error occurs during\nmirror recovery (aka resynchronization).  \u0027fail_mirror\u0027 is responsible\nfor recording the type of error by mirror device and ensuring an event\ngets raised for the purpose of notifying userspace.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "72f4b314100bae85c75d8e4c6fec621ab44e777d",
      "tree": "6dc5e860e8a4acab2e047f31391d0c8fdf366ff7",
      "parents": [
        "d74f81f8adc504a23be3babf347b9f69e9389924"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:29 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:29 2008 +0000"
      },
      "message": "dm raid1: handle write failures\n\nThis patch gives mirror the ability to handle device failures\nduring normal write operations.\n\nThe \u0027write_callback\u0027 function is called when a write completes.\nIf all the writes failed or succeeded, we report failure or\nsuccess respectively.  If some of the writes failed, we call\nfail_mirror; which increments the error count for the device, notes\nthe type of error encountered (DM_RAID1_WRITE_ERROR),  and\nselects a new primary (if necessary).  Note that the primary\ndevice can never change while the mirror is not in-sync (IOW,\nwhile recovery is happening.)  This means that the scenario\nwhere a failed write changes the primary and gives\nrecovery_complete a chance to misread the primary never happens.\nThe fact that the primary can change has necessitated the change\nto the default_mirror field.  We need to protect against reading\ngarbage while the primary changes.  We then add the bio to a new\nlist in the mirror set, \u0027failures\u0027.  For every bio in the \u0027failures\u0027\nlist, we call a new function, \u0027__bio_mark_nosync\u0027, where we mark\nthe region \u0027not-in-sync\u0027 in the log and properly set the region\nstate as, RH_NOSYNC.  Userspace must also be notified of the\nfailure.  This is done by \u0027raising an event\u0027 (dm_table_event()).\nIf fail_mirror is called in process context the event can be raised\nright away.  If in interrupt context, the event is deferred to the\nkmirrord thread - which raises the event if \u0027event_waiting\u0027 is set.\n\nBackwards compatibility is maintained by ignoring errors if\nthe DM_FEATURES_HANDLE_ERRORS flag is not present.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d74f81f8adc504a23be3babf347b9f69e9389924",
      "tree": "4a687e400479ad330bb36ded54012cd8b8b84ecf",
      "parents": [
        "4f7f5c675fd6bacaae3c67be44de872dcff0e3b7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:27 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:27 2008 +0000"
      },
      "message": "dm snapshot: combine consecutive exceptions in memory\n\nProvided sector_t is 64 bits, reduce the in-memory footprint of the\nsnapshot exception table by the simple method of using unused bits of\nthe chunk number to combine consecutive entries.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4f7f5c675fd6bacaae3c67be44de872dcff0e3b7",
      "tree": "5825966577a4018047bc126922b1f815af905348",
      "parents": [
        "a25eb9446ad50027bc2082386e5358bedad087ed"
      ],
      "author": {
        "name": "Brian Wood",
        "email": "brian.j.wood@intel.com",
        "time": "Fri Feb 08 02:11:24 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:24 2008 +0000"
      },
      "message": "dm: stripe enhanced status return\n\nThis patch adds additional information to the status line. It is added at the\nend of the returned text so it will not interfere with existing\nimplementations using this data. The addition of this information will allow\nfor a common return interface to match that returned with the dm-raid1.c\nstatus line (with Jonathan Brassow\u0027s patches).\n\nHere is a sample of what is returned with a mirror \"status\" call:\nisw_eeaaabgfg_mirror: 0 488390920 mirror 2 8:16 8:32 3727/3727 1 AA 1 core\n\nHere\u0027s what\u0027s returned with this patch for a stripe \"status\" call:\nisw_dheeijjdej_stripe: 0 976783872 striped 2 8:16 8:32 1 AA\n\nSigned-off-by: Brian Wood \u003cbrian.j.wood@intel.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a25eb9446ad50027bc2082386e5358bedad087ed",
      "tree": "d9d2e5d26dbf403efa69dd52aec94bf37c82da78",
      "parents": [
        "fb8b284806124bef250196007d7373ea3fe26194"
      ],
      "author": {
        "name": "Brian Wood",
        "email": "brian.j.wood@intel.com",
        "time": "Fri Feb 08 02:11:22 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:22 2008 +0000"
      },
      "message": "dm: stripe trigger event on failure\n\nThis patch adds the stripe_end_io function to process errors that might\noccur after an IO operation. As part of this there are a number of\nenhancements made to record and trigger events:\n\n- New atomic variable in struct stripe to record the number of\nerrors each stripe volume device has experienced (could be used\nlater with uevents to report back directly to userspace)\n\n- New workqueue/work struct setup to process the trigger_event function\n\n- New end_io function. It is here that testing for BIO error conditions\ntake place. It determines the exact stripe that cause the error,\nrecords this in the new atomic variable, and calls the queue_work() function\n\n- New trigger_event function to process failure events. This\ncalls dm_table_event()\n\nSigned-off-by: Brian Wood \u003cbrian.j.wood@intel.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fb8b284806124bef250196007d7373ea3fe26194",
      "tree": "8e34cc38a2c5a0e8e7a937c53421cf7f76466a00",
      "parents": [
        "304f3f6a58301316da612d7bf21d9abe1369d456"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "message": "dm log: auto load modules\n\nIf the log type is not recognised, attempt to load the module\n\u0027dm-log-\u003ctype\u003e.ko\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "304f3f6a58301316da612d7bf21d9abe1369d456",
      "tree": "aa380ca3cd0a7d8a61f17915050866876510f181",
      "parents": [
        "3a7f6c990ad04e6f576a159876c602d14d6f7fef"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:17 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:17 2008 +0000"
      },
      "message": "dm: move deferred bio flushing to workqueue\n\nAdd a single-thread workqueue for each mapped device\nand move flushing of the lists of pushback and deferred bios\nto this new workqueue.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3a7f6c990ad04e6f576a159876c602d14d6f7fef",
      "tree": "dc120485f8801050fa640f22c1bdeae1429728e0",
      "parents": [
        "95497a960015c89c7c585d5fb953bc2816dba1e5"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:14 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:14 2008 +0000"
      },
      "message": "dm crypt: use async crypto\n\ndm-crypt: Use crypto ablkcipher interface\n\nMove encrypt/decrypt core to async crypto call.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "95497a960015c89c7c585d5fb953bc2816dba1e5",
      "tree": "3e1f33a86b81bf371517fc5b60db295989355a4d",
      "parents": [
        "43d6903482eec168b727bc4bf76a9f415257d862"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:12 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:12 2008 +0000"
      },
      "message": "dm crypt: prepare async callback fn\n\ndm-crypt: Use crypto ablkcipher interface\n\nPrepare callback function for async crypto operation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "43d6903482eec168b727bc4bf76a9f415257d862",
      "tree": "cc0f5d3621c052376d2f6cff85af87002e4df344",
      "parents": [
        "ddd42edfd8ec44595b1501318512bc29a36f015f"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:09 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:09 2008 +0000"
      },
      "message": "dm crypt: add completion for async\n\ndm-crypt: Use crypto ablkcipher interface\nPrepare completion for async crypto request.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ddd42edfd8ec44595b1501318512bc29a36f015f",
      "tree": "c102f6dd5ffad033531352ef53508db4bbefb382",
      "parents": [
        "01482b7671d014aa44f2efbc1153f4e3f48d7fb3"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:07 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:07 2008 +0000"
      },
      "message": "dm crypt: add async request mempool\n\ndm-crypt: Use crypto ablkcipher interface\n\nIntroduce mempool for async crypto requests.\n\ncc-\u003ereq is used mainly during synchronous operations\n(to prevent allocation and deallocation of the same object).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "01482b7671d014aa44f2efbc1153f4e3f48d7fb3",
      "tree": "12017dac7b6b1b680649b59470d91f6dd9baf55f",
      "parents": [
        "899c95d36c896f9fb7bc5f4f03b4abd86bda292c"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:04 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:04 2008 +0000"
      },
      "message": "dm crypt: extract scatterlist processing\n\ndm-crypt: Use crypto ablkcipher interface\n\nMove scatterlists to separate dm_crypt_struct and\npick out block processing from crypt_convert.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "899c95d36c896f9fb7bc5f4f03b4abd86bda292c",
      "tree": "824017f25f4c0ed321077e068280c9bbd207ad47",
      "parents": [
        "84131db689ab86409315c15a3ea5daf732cb04e1"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:02 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:02 2008 +0000"
      },
      "message": "dm crypt: tidy io ref counting\n\nMake io reference counting more obvious.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "84131db689ab86409315c15a3ea5daf732cb04e1",
      "tree": "e7ba3d1c2b7ddb38ed14725aab699e07776627b0",
      "parents": [
        "dec1cedf9d4eabe43f3c7d6af095eff40c139a89"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:59 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:59 2008 +0000"
      },
      "message": "dm crypt: introduce crypt_write_io_loop\n\nIntroduce crypt_write_io_loop().\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "dec1cedf9d4eabe43f3c7d6af095eff40c139a89",
      "tree": "1ee57308cac1e018fb670e21bc91822f0250aa83",
      "parents": [
        "0c395b0f8dd7aee394df95b46963fc0f3401cf90"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:57 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:57 2008 +0000"
      },
      "message": "dm crypt: abstract crypt_write_done\n\nProcess write request in separate function and queue\nfinal bio through io workqueue.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0c395b0f8dd7aee394df95b46963fc0f3401cf90",
      "tree": "03a83a7ba9e9917fadae5416ed58533e51e67067",
      "parents": [
        "395b167ca0c559aa975d8bbc46a3d10edd6e17d0"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:54 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:54 2008 +0000"
      },
      "message": "dm crypt: store sector mapping in dm_crypt_io\n\nAdd sector into dm_crypt_io instead of using local variable.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "395b167ca0c559aa975d8bbc46a3d10edd6e17d0",
      "tree": "5b5db9ad8da4d1d28e971dece58979594f56bad2",
      "parents": [
        "4e4eef64e246694a6302c3ee95ac9b60c40f877e"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:52 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:52 2008 +0000"
      },
      "message": "dm crypt: move queue functions\n\nReorder kcryptd functions for clarity.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4e4eef64e246694a6302c3ee95ac9b60c40f877e",
      "tree": "704b46c01bf929873bbca0ea28e621f0c4e3830f",
      "parents": [
        "ee7a491e62214bfd56c97c1fef3672c09e2a700d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:49 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:49 2008 +0000"
      },
      "message": "dm crypt: adjust io processing functions\n\nRename functions to follow calling convention.\nPrepare write io error processing function skeleton.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ee7a491e62214bfd56c97c1fef3672c09e2a700d",
      "tree": "b17672c2216a93ec875da4b332b9c0d6e0348b82",
      "parents": [
        "5742fd77757894ebb5e441afbdac1fb666e782f7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:46 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:46 2008 +0000"
      },
      "message": "dm crypt: tidy crypt_endio\n\nSimplify crypt_endio function.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5742fd77757894ebb5e441afbdac1fb666e782f7",
      "tree": "6976ec2b920b9df1e2316d4603d81a6082a7d42b",
      "parents": [
        "fcd369daa36d547607dbedd0b41099d6dfc1d1c7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:43 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:43 2008 +0000"
      },
      "message": "dm crypt: move error setting outside crypt_dec_pending\n\nMove error code setting outside of crypt_dec_pending function.\nUse -EIO if crypt_convert_scatterlist() fails.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fcd369daa36d547607dbedd0b41099d6dfc1d1c7",
      "tree": "456f6369cb9f16bd4575442d5729f9d03efb4620",
      "parents": [
        "53017030e2548dffbe481fb4ab6b587abbee6f8b"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:41 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:41 2008 +0000"
      },
      "message": "dm crypt: remove unnecessary crypt_context write parm\n\nRemove write attribute from convert_context and use bio flag instead.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "53017030e2548dffbe481fb4ab6b587abbee6f8b",
      "tree": "83831c963242bfafb6c753960ef3a50b3fd1e314",
      "parents": [
        "009cd09042fbd095e708b412ad7870fb421fa2f0"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:38 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:38 2008 +0000"
      },
      "message": "dm crypt: move convert_context inside dm_crypt_io\n\nMove convert_context inside dm_crypt_io.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "009cd09042fbd095e708b412ad7870fb421fa2f0",
      "tree": "7b3a431d8201305142de75e4353a572b3e0a8c79",
      "parents": [
        "0149e57fedcaca8905b6cca091fcb0915ff3e27d"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:35 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:35 2008 +0000"
      },
      "message": "dm mpath: add missing static\n\nA static declaration missing.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0149e57fedcaca8905b6cca091fcb0915ff3e27d",
      "tree": "90af92ad51346a4d002169f8348e240df17a3e37",
      "parents": [
        "46125c1c90882e17f856f1ba30440efea9135e80"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:32 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:32 2008 +0000"
      },
      "message": "dm: targets no longer experimental\n\nDrop the EXPERIMENTAL tag from well-established device-mapper targets, so\nthe newer ones stand out better.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "46125c1c90882e17f856f1ba30440efea9135e80",
      "tree": "e1175d29ec1985a220bfb07c0d6fa6cc83c44f15",
      "parents": [
        "94d6351e147231b2c5a9512d69693ee8ac0c204d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:30 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:30 2008 +0000"
      },
      "message": "dm: refactor dm_suspend completion wait\n\nMove completion wait to separate function\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "94d6351e147231b2c5a9512d69693ee8ac0c204d",
      "tree": "a0b5c1935077c1bf40db1945c5f30e8d8a9a47a2",
      "parents": [
        "73d410c0137f63c6597e9763c81e5f4d015e9940"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:27 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:27 2008 +0000"
      },
      "message": "dm: split dm_suspend io_lock hold into two\n\nChange io_locking to allow processing flush in separate thread.\n\nBecause we have DMF_BLOCK_IO already set, any possible\nnew ios are queued in dm_requests now.\n\nIn the case of interrupting previous wait there can be more\nios queued (we unlocked io_lock for a while) but this is safe.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "73d410c0137f63c6597e9763c81e5f4d015e9940",
      "tree": "d76251d96254217b6935dee0acca676476a7a45e",
      "parents": [
        "6d6f10df890df8be69edd4db32dc8ce09f311bb8"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:25 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:25 2008 +0000"
      },
      "message": "dm: tidy dm_suspend\n\nTidy dm_suspend function\n\n - change return value logic in dm_suspend\n - use atomic_read only once.\n - move DMF_BLOCK_IO clearing into one place\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6d6f10df890df8be69edd4db32dc8ce09f311bb8",
      "tree": "3845f7fdd940cdd4ee9e35cc40aeeab766b21b03",
      "parents": [
        "6ed7ade89657e71da3afa7cb13ad25570a95dd9d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:22 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:22 2008 +0000"
      },
      "message": "dm: refactor deferred bio_list processing\n\nRefactor deferred bio_list processing.\n\n - use separate _merge_pushback_list function\n - move deferred bio list pick up to flush function\n - use bio_list_pop instead of bio_list_get\n - simplify noflush flag use\n\nNo real functional change in this patch.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6ed7ade89657e71da3afa7cb13ad25570a95dd9d",
      "tree": "713c0fc55b5802c92fa160d65eba1e692e9ff9fc",
      "parents": [
        "a26ffd4aa99d6ace82852930edf09e450cc7dc8d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:19 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:19 2008 +0000"
      },
      "message": "dm: tidy alloc_dev labels\n\nTidy labels in alloc_dev to make later patches more clear.\n\nNo functional change in this patch.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a26ffd4aa99d6ace82852930edf09e450cc7dc8d",
      "tree": "d00f229139f52f71ffeabc66b1d5b6fdd5fa67a7",
      "parents": [
        "69a2ce72a4efe0653479a5d69fc86b5726e83219"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:16 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:16 2008 +0000"
      },
      "message": "dm ioctl: use uninitialized_var\n\ndrivers/md/dm-ioctl.c:1405: warning: \u0027param\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "69a2ce72a4efe0653479a5d69fc86b5726e83219",
      "tree": "2fa4c50f83782356c5202c1a987a83cdea4a4c6a",
      "parents": [
        "e48b9db251122b88783844b1d2d69c6780f898ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:14 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:14 2008 +0000"
      },
      "message": "dm: table use uninitialized_var\n\ndrivers/md/dm-table.c: In function \u0027dm_get_device\u0027:\ndrivers/md/dm-table.c:478: warning: \u0027dev\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e48b9db251122b88783844b1d2d69c6780f898ff",
      "tree": "7a3b1a37da6cb96cae5845a85662ec330fc559ba",
      "parents": [
        "e61290a4a23c3f85f883f0c8cc7c967501f82a57"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:11 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:11 2008 +0000"
      },
      "message": "dm snapshot: use uninitialized_var\n\ndrivers/md/dm-exception-store.c: In function \u0027persistent_read_metadata\u0027:\ndrivers/md/dm-exception-store.c:452: warning: \u0027new_snapshot\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e61290a4a23c3f85f883f0c8cc7c967501f82a57",
      "tree": "db8947500e6d75be2f6ff02cecfdb1bbace5230e",
      "parents": [
        "8defd83084c3ce46d314c038f7c0f0ed7156d6f8"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Fri Feb 08 02:10:08 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:08 2008 +0000"
      },
      "message": "dm: convert suspend_lock semaphore to mutex\n\nReplace semaphore with mutex.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8defd83084c3ce46d314c038f7c0f0ed7156d6f8",
      "tree": "c21d30f80f0d991e731ba9a2c1263c5dbe498e6e",
      "parents": [
        "82d601dc076deb5f348cc3a70f57248bc976ae0c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Feb 08 02:10:06 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:06 2008 +0000"
      },
      "message": "dm snapshot: use rounddown_pow_of_two\n\nSince the source file already includes the log2.h header file, it\nseems pointless to re-invent the necessary routine.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "82d601dc076deb5f348cc3a70f57248bc976ae0c",
      "tree": "9047dc31a5fde553b64b96bc5b426065b77772c2",
      "parents": [
        "4f41b09f86e0e3b48194b2ad0356391bf6d47e40"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Fri Feb 08 02:10:04 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:04 2008 +0000"
      },
      "message": "dm: table remove unused total\n\n\"total \u003d 0\" does nothing.\n\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": "4f41b09f86e0e3b48194b2ad0356391bf6d47e40",
      "tree": "49e28b85c4fabcd464ebf3e0f7431ca92406a8a2",
      "parents": [
        "afb24528f9012e5c6361ca9a9128c7c089c1cc7c"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Fri Feb 08 02:10:01 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:01 2008 +0000"
      },
      "message": "dm: table remove unused variable\n\nSave some bytes.\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "afb24528f9012e5c6361ca9a9128c7c089c1cc7c",
      "tree": "1aa47aca62308becafc05464f5020b4ffbf3ce67",
      "parents": [
        "76c072b48e39e9291fbf02d6c912cf27d65e093d"
      ],
      "author": {
        "name": "Paul Jimenez",
        "email": "pj@place.org",
        "time": "Fri Feb 08 02:09:59 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:59 2008 +0000"
      },
      "message": "dm: table use list_for_each\n\nThis patch is some minor janitorish cleanup, using some macros\nfrom linux/list.h (already #included via dm.h) to improve\nreadability.\n\nSigned-off-by: Paul Jimenez \u003cpj@place.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "76c072b48e39e9291fbf02d6c912cf27d65e093d",
      "tree": "5f5c523a48c014448b28a1a875ed8432fe79807a",
      "parents": [
        "27238b2bea89b1808b570bece6777ab2abc52fe2"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:09:56 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:56 2008 +0000"
      },
      "message": "dm ioctl: move compat code\n\nMove compat_ioctl handling into dm-ioctl.c.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "27238b2bea89b1808b570bece6777ab2abc52fe2",
      "tree": "ca07380f13018c23932c22c883c0f7ca78a4b261",
      "parents": [
        "b9249e556877643b940e4543824a3de5c85bce49"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:53 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:53 2008 +0000"
      },
      "message": "dm ioctl: remove lock_kernel\n\nRemove lock_kernel() from the device-mapper ioctls - there should\nbe sufficient internal locking already where required.\n\nAlso remove some superfluous casts.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b9249e556877643b940e4543824a3de5c85bce49",
      "tree": "535e9199affe5d79e370abef352ca8396f7deaef",
      "parents": [
        "7e5c1e830b2310359a4cfbbf89895dde4abd996a"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:51 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:51 2008 +0000"
      },
      "message": "dm: mark function lists static\n\nAdd a couple of statics.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7e5c1e830b2310359a4cfbbf89895dde4abd996a",
      "tree": "143d5ff1998b115689347f0346a25b622a888739",
      "parents": [
        "df922075f2a55b1ae71a6fe589c1cc1b91381f4f"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:09:49 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:49 2008 +0000"
      },
      "message": "dm: add missing memory barrier to dm_suspend\n\nAdd memory barrier to fix atomic_read of pending value.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3adbefee6fd58a061b2bf1df4f3769701860fc62",
      "tree": "846b65d2aedbdeabece8e661761960e54bc11f6c",
      "parents": [
        "a76d354629ea46c449705970a2c0b9e9090d6f03"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 05 17:57:39 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:52:39 2008 -0800"
      },
      "message": "SLUB: fix checkpatch warnings\n\nfix checkpatch --file mm/slub.c errors and warnings.\n\n $ q-code-quality-compare\n                                      errors   lines of code   errors/KLOC\n mm/slub.c      [before]                  22            4204           5.2\n mm/slub.c      [after]                    0            4210             0\n\nno code changed:\n\n    text    data     bss     dec     hex filename\n   22195    8634     136   30965    78f5 slub.o.before\n   22195    8634     136   30965    78f5 slub.o.after\n\n   md5:\n     93cdfbec2d6450622163c590e1064358  slub.o.before.asm\n     93cdfbec2d6450622163c590e1064358  slub.o.after.asm\n\n[clameter: rediffed against Pekka\u0027s cleanup patch, omitted\nmoves of the name of a function to the start of line]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n"
    },
    {
      "commit": "a76d354629ea46c449705970a2c0b9e9090d6f03",
      "tree": "b2e1b9db59125e9e9a7866a8aff58165ac2ea1fd",
      "parents": [
        "8ff12cfc009a2a38d87fa7058226fe197bb2696f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Mon Jan 07 23:20:27 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:42 2008 -0800"
      },
      "message": "Use non atomic unlock\n\nSlub can use the non-atomic version to unlock because other flags will not\nget modified with the lock held.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ff12cfc009a2a38d87fa7058226fe197bb2696f",
      "tree": "1358ed247d3c897d8790342a978dd5078354a207",
      "parents": [
        "1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "message": "SLUB: Support for performance statistics\n\nThe statistics provided here allow the monitoring of allocator behavior but\nat the cost of some (minimal) loss of performance. Counters are placed in\nSLUB\u0027s per cpu data structure. The per cpu structure may be extended by the\nstatistics to grow larger than one cacheline which will increase the cache\nfootprint of SLUB.\n\nThere is a compile option to enable/disable the inclusion of the runtime\nstatistics and its off by default.\n\nThe slabinfo tool is enhanced to support these statistics via two options:\n\n-D \tSwitches the line of information displayed for a slab from size\n\tmode to activity mode.\n\n-A\tSorts the slabs displayed by activity. This allows the display of\n\tthe slabs most important to the performance of a certain load.\n\n-r\tReport option will report detailed statistics on\n\nExample (tbench load):\n\nslabinfo -AD\t\t-\u003eShows the most active slabs\n\nName                   Objects    Alloc     Free   %Fast\nskbuff_fclone_cache         33 111953835 111953835  99  99\n:0000192                  2666  5283688  5281047  99  99\n:0001024                   849  5247230  5246389  83  83\nvm_area_struct            1349   119642   118355  91  22\n:0004096                    15    66753    66751  98  98\n:0000064                  2067    25297    23383  98  78\ndentry                   10259    28635    18464  91  45\n:0000080                 11004    18950     8089  98  98\n:0000096                  1703    12358    10784  99  98\n:0000128                   762    10582     9875  94  18\n:0000512                   184     9807     9647  95  81\n:0002048                   479     9669     9195  83  65\nanon_vma                   777     9461     9002  99  71\nkmalloc-8                 6492     9981     5624  99  97\n:0000768                   258     7174     6931  58  15\n\nSo the skbuff_fclone_cache is of highest importance for the tbench load.\nPretty high load on the 192 sized slab. Look for the aliases\n\nslabinfo -a | grep 000192\n:0000192     \u003c- xfs_btree_cur filp kmalloc-192 uid_cache tw_sock_TCP\n\trequest_sock_TCPv6 tw_sock_TCPv6 skbuff_head_cache xfs_ili\n\nLikely skbuff_head_cache.\n\n\nLooking into the statistics of the skbuff_fclone_cache is possible through\n\nslabinfo skbuff_fclone_cache\t-\u003e-r option implied if cache name is mentioned\n\n\n.... Usual output ...\n\nSlab Perf Counter       Alloc     Free %Al %Fr\n--------------------------------------------------\nFastpath             111953360 111946981  99  99\nSlowpath                 1044     7423   0   0\nPage Alloc                272      264   0   0\nAdd partial                25      325   0   0\nRemove partial             86      264   0   0\nRemoteObj/SlabFrozen      350     4832   0   0\nTotal                111954404 111954404\n\nFlushes       49 Refill        0\nDeactivate Full\u003d325(92%) Empty\u003d0(0%) ToHead\u003d24(6%) ToTail\u003d1(0%)\n\nLooks good because the fastpath is overwhelmingly taken.\n\n\nskbuff_head_cache:\n\nSlab Perf Counter       Alloc     Free %Al %Fr\n--------------------------------------------------\nFastpath              5297262  5259882  99  99\nSlowpath                 4477    39586   0   0\nPage Alloc                937      824   0   0\nAdd partial                 0     2515   0   0\nRemove partial           1691      824   0   0\nRemoteObj/SlabFrozen     2621     9684   0   0\nTotal                 5301739  5299468\n\nDeactivate Full\u003d2620(100%) Empty\u003d0(0%) ToHead\u003d0(0%) ToTail\u003d0(0%)\n\n\nDescriptions of the output:\n\nTotal:\t\tThe total number of allocation and frees that occurred for a\n\t\tslab\n\nFastpath:\tThe number of allocations/frees that used the fastpath.\n\nSlowpath:\tOther allocations\n\nPage Alloc:\tNumber of calls to the page allocator as a result of slowpath\n\t\tprocessing\n\nAdd Partial:\tNumber of slabs added to the partial list through free or\n\t\talloc (occurs during cpuslab flushes)\n\nRemove Partial:\tNumber of slabs removed from the partial list as a result of\n\t\tallocations retrieving a partial slab or by a free freeing\n\t\tthe last object of a slab.\n\nRemoteObj/Froz:\tHow many times were remotely freed object encountered when a\n\t\tslab was about to be deactivated. Frozen: How many times was\n\t\tfree able to skip list processing because the slab was in use\n\t\tas the cpuslab of another processor.\n\nFlushes:\tNumber of times the cpuslab was flushed on request\n\t\t(kmem_cache_shrink, may result from races in __slab_alloc)\n\nRefill:\t\tNumber of times we were able to refill the cpuslab from\n\t\tremotely freed objects for the same slab.\n\nDeactivate:\tStatistics how slabs were deactivated. Shows how they were\n\t\tput onto the partial list.\n\nIn general fastpath is very good. Slowpath without partial list processing is\nalso desirable. Any touching of partial list uses node specific locks which\nmay potentially cause list lock contention.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n"
    },
    {
      "commit": "1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c",
      "tree": "d57e305168291f1b0f5f2d42853d2c2419f4140b",
      "parents": [
        "683d0baad3d6e18134927f8c28ee804dbe10fe71"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Jan 07 23:20:30 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "message": "SLUB: Alternate fast paths using cmpxchg_local\n\nProvide an alternate implementation of the SLUB fast paths for alloc\nand free using cmpxchg_local. The cmpxchg_local fast path is selected\nfor arches that have CONFIG_FAST_CMPXCHG_LOCAL set. An arch should only\nset CONFIG_FAST_CMPXCHG_LOCAL if the cmpxchg_local is faster than an\ninterrupt enable/disable sequence. This is known to be true for both\nx86 platforms so set FAST_CMPXCHG_LOCAL for both arches.\n\nCurrently another requirement for the fastpath is that the kernel is\ncompiled without preemption. The restriction will go away with the\nintroduction of a new per cpu allocator and new per cpu operations.\n\nThe advantages of a cmpxchg_local based fast path are:\n\n1. Potentially lower cycle count (30%-60% faster)\n\n2. There is no need to disable and enable interrupts on the fast path.\n   Currently interrupts have to be disabled and enabled on every\n   slab operation. This is likely avoiding a significant percentage\n   of interrupt off / on sequences in the kernel.\n\n3. The disposal of freed slabs can occur with interrupts enabled.\n\nThe alternate path is realized using #ifdef\u0027s. Several attempts to do the\nsame with macros and inline functions resulted in a mess (in particular due\nto the strange way that local_interrupt_save() handles its argument and due\nto the need to define macros/functions that sometimes disable interrupts\nand sometimes do something else).\n\n[clameter: Stripped preempt bits and disabled fastpath if preempt is enabled]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "683d0baad3d6e18134927f8c28ee804dbe10fe71",
      "tree": "a1ef69f9cde406492b5deedc6874312cbeb3b357",
      "parents": [
        "5bb983b0cce9b7b281af15730f7019116dd42568"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Jan 07 23:20:29 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "message": "SLUB: Use unique end pointer for each slab page.\n\nWe use a NULL pointer on freelists to signal that there are no more objects.\nHowever the NULL pointers of all slabs match in contrast to the pointers to\nthe real objects which are in different ranges for different slab pages.\n\nChange the end pointer to be a pointer to the first object and set bit 0.\nEvery slab will then have a different end pointer. This is necessary to ensure\nthat end markers can be matched to the source slab during cmpxchg_local.\n\nBring back the use of the mapping field by SLUB since we would otherwise have\nto call a relatively expensive function page_address() in __slab_alloc().  Use\nof the mapping field allows avoiding a call to page_address() in various other\nfunctions as well.\n\nThere is no need to change the page_mapping() function since bit 0 is set on\nthe mapping as also for anonymous pages.  page_mapping(slab_page) will\ntherefore still return NULL although the mapping field is overloaded.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bb983b0cce9b7b281af15730f7019116dd42568",
      "tree": "858d23397eaffb7023e50918bc0a9f785b79c962",
      "parents": [
        "0afc2edfada50980bec999f94dcea26ebad3dda6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "christoph@stapp.engr.sgi.com",
        "time": "Thu Feb 07 17:47:41 2008 -0800"
      },
      "message": "SLUB: Deal with annoying gcc warning on kfree()\n\ngcc 4.2 spits out an annoying warning if one casts a const void *\npointer to a void * pointer. No warning is generated if the\nconversion is done through an assignment.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n"
    },
    {
      "commit": "e84542f5db655d1ce7b4890832f0e5d19aae965d",
      "tree": "ea5a3e9ca5e9cb0810c91277450413ee89619391",
      "parents": [
        "f8181762a04a3ff7878d3ec5c013bce9c771d4f7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jan 05 15:40:38 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (lm80) Add individual alarm files\n\nThe new libsensors needs these individual alarm files.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "f8181762a04a3ff7878d3ec5c013bce9c771d4f7",
      "tree": "dfb412ff564775da37265495e5a58c1a1674ec45",
      "parents": [
        "6cc37ee536bb90c428c8a7cde91f33ffe1fd27bd"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jan 05 15:37:05 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (lm80) De-macro the sysfs callbacks\n\nUse standard dynamic sysfs callbacks instead of macro-generated\nfunctions. This makes the code more readable, and the binary smaller\n(by about 34%).\n\nAs a side note, another benefit of this type of cleanup is that they\nshrink the build time. For example, this cleanup saves about 29% of\nthe lm80 driver build time.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "6cc37ee536bb90c428c8a7cde91f33ffe1fd27bd",
      "tree": "04e127c56a8750a29a9ce61045082da338b865de",
      "parents": [
        "1c1381076f8c6cf0a2c9918194e3fa6369cdf06a"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jan 05 15:35:09 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (lm80) Various cleanups\n\n* Drop trailing whitespace\n* Fold a long line\n* Rename new_client to client\n* Drop redundant initializations to 0\n* Drop bogus comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "1c1381076f8c6cf0a2c9918194e3fa6369cdf06a",
      "tree": "1b542417e95fe9ccc5911d997681d45fd4d6f1cb",
      "parents": [
        "e3604c626cdcddf37bf5c9663ae75b79dad40000"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:04:55 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (w83627hf) Refactor beep enable handling\n\nWe can handle the beep enable bit as any other beep mask bit for\nslightly smaller code.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "e3604c626cdcddf37bf5c9663ae75b79dad40000",
      "tree": "cf39ceb60e34a69d5ab40657288d7ccbeebc9887",
      "parents": [
        "ef878b11ba245d14b7db7816217a825d6a894182"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:00:30 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (w83627hf) Add individual alarm and beep files\n\nThe new libsensors needs these individual alarm and beep files. The\ncode was copied from the w83781d driver. I\u0027ve tested the alarm files\non a W83627THF. I couldn\u0027t test the beep files as the system in\nquestion doesn\u0027t have a speaker.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "ef878b11ba245d14b7db7816217a825d6a894182",
      "tree": "57a6101f5a9b7ef5a731d3adfb5454bc9b30c989",
      "parents": [
        "cbe311f2a40b8430d8e01b97c11e9e95d888430b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 22:54:13 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (w83627hf) Enable VBAT monitoring\n\nIf VBAT monitoring is disabled, enable it. Bug reported on the\nlm-sensors trac system:\nhttp://lm-sensors.org/ticket/2282\nThis is the exact same patch that was applied to the w83627ehf driver\n6 months ago.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "cbe311f2a40b8430d8e01b97c11e9e95d888430b",
      "tree": "0a9d1acbe72c5b29fbe6d11b15b84be489a938f9",
      "parents": [
        "636866b9f0a72583d2361a897668eb19ff37ded6"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 21:22:44 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:45 2008 -0500"
      },
      "message": "hwmon: (w83627ehf) The W83627DHG has 8 VID pins\n\nWhile the W83627EHF/EHG has only 6 VID pins, the W83627DHG has 8 VID\npins, to support VRD 11.0. Add support for this.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "636866b9f0a72583d2361a897668eb19ff37ded6",
      "tree": "c28196de978facc844e072bb9c22f51b3221ef51",
      "parents": [
        "fad33c5fdae73a75af2f8ecf69147011bd57e28c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:24:24 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (asb100) Add individual alarm files\n\nThe new libsensors needs these individual alarm files.\n\nI did not create alarm files for in5 and in6 as these alarms are documented\nas not working.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "fad33c5fdae73a75af2f8ecf69147011bd57e28c",
      "tree": "29adf7adb4d1a3cb5ec0d3f91b9d556c7e58d803",
      "parents": [
        "af221931519571028c98cf7c7030dd973a524011"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:21:07 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (asb100) De-macro the sysfs callbacks\n\nUse standard dynamic sysfs callbacks instead of macro-generated\nwrappers. This makes the code more readable, and the binary smaller\n(by about 12%).\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "af221931519571028c98cf7c7030dd973a524011",
      "tree": "ebb11bc630f2a5e32f04f982b675e8a162401ab2",
      "parents": [
        "8f74efe81d122c071410fd74f42879ef81439fa4"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:15:49 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (asb100) Various cleanups\n\n* Drop history, it\u0027s incomplete and doesn\u0027t belong there\n* Drop unused version number\n* Drop trailing spaces\n* Coding style fixes\n* Fold long lines\n* Rename new_client to client\n* Drop redundant initializations to 0\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "8f74efe81d122c071410fd74f42879ef81439fa4",
      "tree": "3febd18d58fb42d248ea565d23daa468094797e7",
      "parents": [
        "345a22245451c0fd2c44b2afb5dfb75628b487fa"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Dec 01 11:25:33 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: VRM is not written to registers\n\nWhat was true of reading the VRM value is also true of writing it: not\nbeing a register value, it doesn\u0027t need hardware access, so we don\u0027t\nneed a reference to the i2c client. This allows for a minor code\ncleanup. As gcc appears to be smart enough to simplify the generated\ncode by itself, this cleanup only affects the source code, the\ngenerated binaries are unchanged.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "345a22245451c0fd2c44b2afb5dfb75628b487fa",
      "tree": "79e0e2d9f6307c0359981cc990e6364d31918594",
      "parents": [
        "ff8421f733c91a70d8edadf9ce2842fca66172fa"
      ],
      "author": {
        "name": "Juerg Haefliger",
        "email": "juergh@gmail.com",
        "time": "Sat Jan 26 08:54:24 2008 -0800"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (dme1737) fix Super-IO device ID override\n\nThe dme1737 has a second place where the Super-IO device ID is\nchecked. This has been missed by Jean\u0027s initial patch that adds\nsupport for user-controlled Super-IO device ID override. This patch\nfixes this issue.\n\nSigned-off-by: Juerg Haefliger \u003cjuergh at gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "ff8421f733c91a70d8edadf9ce2842fca66172fa",
      "tree": "28d94de65d92990a215029ad0257806afaa189df",
      "parents": [
        "cb96b8ca11644ee1223e0fb3f1f629ead15203cb"
      ],
      "author": {
        "name": "Juerg Haefliger",
        "email": "juergh@gmail.com",
        "time": "Sun Jan 27 16:39:46 2008 -0800"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (dme1737) fix divide-by-0\n\nThis patch fixes a possible divide-by-0 and a minor bug in the\nFAN_FROM_REG macro (in TPC mode).\n\nSigned-off-by: Juerg Haefliger \u003cjuergh at gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "cb96b8ca11644ee1223e0fb3f1f629ead15203cb",
      "tree": "c42b9d3ccd4f05c902058e6481f0c846d67fde9f",
      "parents": [
        "5812f9283e621370a2d65282b7bcc942bf2c3f1c"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "vsu@altlinux.ru",
        "time": "Tue Jan 15 21:57:44 2008 +0300"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro\n\nAbit IP35 Pro has 6 fan connectors (CPU, SYS and AUX1-4), but the\nentry for AUX4 was missing from the table.\n\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "5812f9283e621370a2d65282b7bcc942bf2c3f1c",
      "tree": "ac5f50f1baa812b6457439a57d8c0801ccab3402",
      "parents": [
        "360f9452def0be1d6e29cee07a0f0640cd1d7b22"
      ],
      "author": {
        "name": "Steve Hardy",
        "email": "steve@linuxrealtime.co.uk",
        "time": "Tue Jan 22 23:00:02 2008 +0000"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: Add support for Texas Instruments/Burr-Brown ADS7828\n\nSigned-off-by: Steve Hardy \u003csteve@linuxrealtime.co.uk\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "360f9452def0be1d6e29cee07a0f0640cd1d7b22",
      "tree": "d891df1462d313852a2a2e772dce4e0b83bcf811",
      "parents": [
        "1f52af0f6940dd4ab96edb9bbc56012ecc6c67e0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Jan 06 15:49:19 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (adm9240) Add individual alarm files\n\nThe new libsensors needs these individual alarm files.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Grant Coady \u003cgcoady.lk@gmail.com\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "1f52af0f6940dd4ab96edb9bbc56012ecc6c67e0",
      "tree": "1299b828a31ff093e3c1c47caef417e69eb8a59f",
      "parents": [
        "7b501b1f53605bec17454dd8bbdbbf3f57a7cf32"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 23:35:33 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: (lm77) Add individual alarm files\n\nThe new libsensors needs this. As the old library never had support for\nthe lm77 driver, I even dropped the legacy \"alarms\" file.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "7b501b1f53605bec17454dd8bbdbbf3f57a7cf32",
      "tree": "3ad4ffe685ebf6a4eca96591012005cf4fa9ed26",
      "parents": [
        "455f791ea3e33a274c098b4a8c2e35d4d1a6d518"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jan 03 19:44:09 2008 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:44 2008 -0500"
      },
      "message": "hwmon: Discard useless I2C driver IDs\n\nMany I2C hwmon drivers define a driver ID but no other code references\nthese, meaning that they are useless. Discard them, along with a few\nIDs which are defined but never used at all.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "455f791ea3e33a274c098b4a8c2e35d4d1a6d518",
      "tree": "b715b700c6173cefd46473f8c9670a94415ea117",
      "parents": [
        "4b4df95dccdd2c6a573c9dedefb747ed663c074d"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 03 23:28:42 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (lm85) Make the pwmN_enable files writable\n\nMake the pwmN_enable files writable. This makes it possible to use\nstandard fan speed control tools (pwmconfig, fancontrol) with the lm85\ndriver.\n\nI left the non-standard pwmN_auto_channels files in place, as they\ngive additional control for the automatic mode, and some users might\nbe used to them by now.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "4b4df95dccdd2c6a573c9dedefb747ed663c074d",
      "tree": "f0a35bc10459af78a33ff543650e3024bdd82b91",
      "parents": [
        "050ab8789869eabb6b2e066aca0d13d86013c315"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 03 23:23:21 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (lm85) Return standard values in pwmN_enable\n\nThe values returned by the lm85 driver in pwmN_enable sysfs files do\nnot match the standard. Fix that.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "050ab8789869eabb6b2e066aca0d13d86013c315",
      "tree": "27b94b247fe647a348ddadb7634826bff6943cd1",
      "parents": [
        "c801082d7d41928b2348507ecdc841d5ebad3490"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 02 23:42:24 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (adm1031) Add individual alarm and fault files\n\nThe new libsensors needs these.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "c801082d7d41928b2348507ecdc841d5ebad3490",
      "tree": "ea463da5f9f0c5d8489fc74fecfa4aec8a66836b",
      "parents": [
        "6d6006b8db5ead05053ccfbc45ab7e5c600a81b1"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 02 23:39:38 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (adm1031) Get rid of macro-generated wrappers\n\nUse the standard dynamic sysfs callbacks instead of macro-generated\nwrappers. It makes the code more simple and the binary smaller (-8% on\nmy system.)\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "6d6006b8db5ead05053ccfbc45ab7e5c600a81b1",
      "tree": "11e944a45b0005300b62b5b6f474fc88dae798e1",
      "parents": [
        "38a1f0e9aed014be66c474ecd9fe8513646de833"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 02 23:33:57 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (adm1031) Various cleanups\n\n* Rename new_client to client\n* Drop redundant initializations to 0\n* Drop trailing space\n* Other whitespace cleanups\n* Split/fold a few long lines\n* Constify static data\n* Optimizations in set_fan_div()\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "38a1f0e9aed014be66c474ecd9fe8513646de833",
      "tree": "d7a4a529cdd6eed323cce893e70c3861ab243b37",
      "parents": [
        "d5b0b5d62823f08ab4988e1b179fd5a9bddced31"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 02 23:32:42 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (adm1031) Fix register overwrite in set_fan_div()\n\nDon\u0027t rely on the register cache when setting a new fan clock divider.\nFor one thing, the cache might not have been initialized at all if the\ndriver has just been loaded. For another, the cached values may be old\nand you never know what can happen in the driver\u0027s back.\n\nAlso invalidate the cache instead of trying to adjust the measured fan\nspeed: the whole point of changing the clock divider is to get a better\nreading.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "d5b0b5d62823f08ab4988e1b179fd5a9bddced31",
      "tree": "b31d804d906adfd0d43b0672892efeb857aa4aec",
      "parents": [
        "293c09971631d22f8e91402f58955ccaada9dbde"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Dec 14 14:41:53 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (it87) Delete pwmN_freq files on driver removal\n\nIn commit f8d0c19a93cea3a26a90f2462295e1e01a4cd250 I forgot to delete\nthe pwmN_freq files on driver removal, here\u0027s the fix.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Riku Voipio \u003criku.voipio@movial.fi\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "293c09971631d22f8e91402f58955ccaada9dbde",
      "tree": "c5cdf121b455df519cc18f4daeefdaf112df3c91",
      "parents": [
        "05663368d2138c14fa1b9aa8eeca4ca9a33d7c77"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Nov 30 23:52:44 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (w83781d) Misc cleanups\n\n* Drop unused defines\n* Drop unused driver ID\n* Remove trailing whitespace\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "05663368d2138c14fa1b9aa8eeca4ca9a33d7c77",
      "tree": "63d2ec28352f62273dafc812e90e870b8a331143",
      "parents": [
        "5b34dbcd88251508d02e48ad9b0f9b8232a13ee0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Nov 30 23:51:24 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (w83781d) Drop W83627HF support\n\nThe W83627HF hardware monitoring features are supported by the\nw83627hf driver for several years now. Support by the w83781d has\nbeen advertised as deprecated 6 months ago, it\u0027s about time to see\nit go.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "5b34dbcd88251508d02e48ad9b0f9b8232a13ee0",
      "tree": "fdc0d9d1cfbf22240a73a13b08dae3ecf91cb33d",
      "parents": [
        "f67fdabfb94b0bb96623a4b48d22be5329a06277"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Nov 29 23:47:54 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:43 2008 -0500"
      },
      "message": "hwmon: (adm1026) Don\u0027t create files for missing inputs\n\nOn the ADM1026, pins 27 and 28 can be used for two different functions:\neither temp3, or in8+in9. We should only create the sysfs files for the\nfunction that is configured, otherwise it is confusing for the user.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "f67fdabfb94b0bb96623a4b48d22be5329a06277",
      "tree": "5947d33eaddce3ce50e21a300913d89dbc67cf1e",
      "parents": [
        "cb01a2312f56c93d2740e827718966b92b7cbb91"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Dec 01 11:24:17 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (adm1026) More cleanups (updated)\n\nVarious cleanups:\n* Drop an unused define.\n* Drop unused struct member \"type\".\n* Drop one useless instruction.\n* Drop redundant initializations to 0.\n* Rename new_client to client.\n* Drop a useless cast.\n* Minor code cleanup.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "cb01a2312f56c93d2740e827718966b92b7cbb91",
      "tree": "dfbc86f540a011171b8ee77781d6b32166abfbbb",
      "parents": [
        "a9273cb8eea503f6b8e28bd5f613962ecba278c5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Nov 29 23:46:42 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (adm1026) Whitespace cleanups\n\nWhitespace cleanups only:\n* Trim trailing whitespace.\n* Use tabs for indentation and alignment.\n* Add missing space after commas.\n* Remove extra spaces.\n\nNo functional change, binary is identical before and after this patch.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "a9273cb8eea503f6b8e28bd5f613962ecba278c5",
      "tree": "3a8723a095c4e8d1a608e074a913d849d62d4626",
      "parents": [
        "0124dd78e28eec6c030f8d02929e81f05e1ce4e6"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Nov 29 23:45:22 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (adm1026) Add individual alarm files\n\nThe new libsensors needs these.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "0124dd78e28eec6c030f8d02929e81f05e1ce4e6",
      "tree": "f1b5ab7a50dd4d132bfe09dd6ea7a01752144105",
      "parents": [
        "f1d8e33263abb6a3a2265ba59344c7eb002b2389"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 25 16:16:41 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (it87) Add individual alarm files\n\nThe new libsensors needs this.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "f1d8e33263abb6a3a2265ba59344c7eb002b2389",
      "tree": "76e2091b18ed54c80692bb750c234d959802336f",
      "parents": [
        "fe03f28cf35bf8dd0d3cba5e0c00a22530b73bfb"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 25 16:14:44 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (it87) Discard a dead e-mail address\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "fe03f28cf35bf8dd0d3cba5e0c00a22530b73bfb",
      "tree": "f23fe5f248345fcc9abfed993b26d5a953a59e3d",
      "parents": [
        "7845cd791d87b9d5e6171452143dbef15aba00dc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Wed Dec 19 14:11:25 2007 -0800"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (adt7470) Support per-sensor alarm files\n\nRemove the old alarms hack and replace it with per-sensor alarm files.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "7845cd791d87b9d5e6171452143dbef15aba00dc",
      "tree": "c07576a2f0200742daf19c098c9ed0c8bd1b8f69",
      "parents": [
        "67b671bceb4a8340a30929e9642620d99ed5ad76"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "j.w.r.degoede@hhs.nl",
        "time": "Thu Dec 20 16:42:59 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (fschmd) Read voltage scaling factors from BIOS DMI\n\nThis patch adds support to the fschmd driver for reading the voltage scaling\nfactors from BIOS DMI tables, as specified in the Siemens datasheet.\n\nSigned-off-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "67b671bceb4a8340a30929e9642620d99ed5ad76",
      "tree": "d302333633bdbd752151933366aaaabfdc60e719",
      "parents": [
        "b20ff13a6ad64f07ce78c75e6a335c185270d73c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Dec 06 23:13:42 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: Let the user override the detected Super-I/O device ID\n\nWhile it is possible to force SMBus-based hardware monitoring chip\ndrivers to drive a not officially supported device, we do not have this\npossibility for Super-I/O-based drivers. That\u0027s unfortunate because\nsometimes newer chips are fully compatible and just forcing the driver\nto load would work. Instead of that we have to tell the users to\nrecompile the kernel driver, which isn\u0027t an easy task for everyone.\n\nSo, I propose that we add a module parameter to all Super-I/O based\nhardware monitoring drivers, letting advanced users force the driver\nto load on their machine. The user has to provide the device ID of a\nsupposedly compatible device. This requires looking at the source code or\na datasheet, so I am confident that users can\u0027t randomly force a driver\nwithout knowing what they are doing. Thus this should be relatively safe.\n\nAs you can see from the code, the implementation is pretty simple and\nunintrusive.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "b20ff13a6ad64f07ce78c75e6a335c185270d73c",
      "tree": "f7cac2f8c8a45d8f867a43b0738f787b057d170d",
      "parents": [
        "ec1d86c457c0d1a530914290d0bbd3ecce022272"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 17:48:07 2007 -0800"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (vt8231) Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "ec1d86c457c0d1a530914290d0bbd3ecce022272",
      "tree": "215168284451ccd2bdde247c7070dde41e94ae71",
      "parents": [
        "e86a776093cffef993841ab7dbb4b1611ebf9686"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 18 23:46:10 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: Update the lm-sensors website address\n\nIt\u0027s about time to reflect the move of the lm-sensors project to\nlm-sensors.org.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "e86a776093cffef993841ab7dbb4b1611ebf9686",
      "tree": "68566463e2d6e5c4f5ef3765199d0b18ebd331aa",
      "parents": [
        "86d47f127d740b891da29daff5799d91b6bd2e17"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 04 23:45:41 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (gl520sm) Add individual alarm and beep files\n\nlibsensors 3.0 needs these.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "86d47f127d740b891da29daff5799d91b6bd2e17",
      "tree": "f9e8431c06d82fe866f592983b612eb33d9d4298",
      "parents": [
        "8b4b0ab41bb0a5e72b6fceb9a7aff303c88960b4"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 04 23:45:14 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:42 2008 -0500"
      },
      "message": "hwmon: (gl520sm) De-macro the sysfs callbacks\n\nUse standard dynamic sysfs callbacks instead of macro-generated\nwrappers. This makes the code more readable, and the binary smaller\n(by about 11%).\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "8b4b0ab41bb0a5e72b6fceb9a7aff303c88960b4",
      "tree": "2d01ab14c447fe9b415e81a872854930ee1ac614",
      "parents": [
        "f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 04 23:44:52 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl520sm) Put register addresses in arrays\n\nThis allows for some code refactoring, making the binary slightly\nsmaller. This is also required to use dynamic sysfs callbacks for\nvoltage and temperature files.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    }
  ],
  "next": "f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664"
}
