)]}'
{
  "log": [
    {
      "commit": "7e507eb6432afdd798d4c6dccf949b8c43ef151c",
      "tree": "a9c91e310bfd8e26c326f094eade79f5baf1ee25",
      "parents": [
        "57cba5d3658d9fdc019c6af14a2d80aefa651e56"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Aug 12 04:14:05 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:05 2010 +0100"
      },
      "message": "dm: allow autoloading of dm mod\n\nAdd devname:mapper/control and MAPPER_CTRL_MINOR module alias\nto support dm-mod module autoloading.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Peter Rajnoha \u003cprajnoha@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "26803b9f06d365122fae82e7554a66ef8278e0bb",
      "tree": "83f77be2b09bbaa6d97105509d54955b2eec7147",
      "parents": [
        "b1d5552838334c600b068c9c8cc18638e5a8cb47"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Thu Aug 12 04:14:03 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:03 2010 +0100"
      },
      "message": "dm ioctl: refactor dm_table_complete\n\nThis change unifies the various checks and finalization that occurs on a\ntable prior to use.  By doing so, it allows table construction without\ntraversing the dm-ioctl interface.\n\nSigned-off-by: Will Drewry \u003cwad@chromium.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4a0b4ddf261fc89c050fe0a10ec57a61251d7ac0",
      "tree": "23854bb6d42e7cedec9100fcdd63c307ee5d1332",
      "parents": [
        "a5664dad7e1a278d2915c2bf79cf42250e12d7db"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Aug 12 04:14:02 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:02 2010 +0100"
      },
      "message": "dm: do not initialise full request queue when bio based\n\nChange bio-based mapped devices no longer to have a fully initialized\nrequest_queue (request_fn, elevator, etc).  This means bio-based DM\ndevices no longer register elevator sysfs attributes (\u0027iosched/\u0027 tree\nor \u0027scheduler\u0027 other than \"none\").\n\nIn contrast, a request-based DM device will continue to have a full\nrequest_queue and will register elevator sysfs attributes.  Therefore\na user can determine a DM device\u0027s type by checking if elevator sysfs\nattributes exist.\n\nFirst allocate a minimalist request_queue structure for a DM device\n(needed for both bio and request-based DM).\n\nInitialization of a full request_queue is deferred until it is known\nthat the DM device is request-based, at the end of the table load\nsequence.\n\nFactor DM device\u0027s request_queue initialization:\n- common to both request-based and bio-based into dm_init_md_queue().\n- specific to request-based into dm_init_request_based_queue().\n\nThe md-\u003etype_lock mutex is used to protect md-\u003equeue, in addition to\nmd-\u003etype, during table_load().\n\nA DM device\u0027s first table_load will establish the immutable md-\u003etype.\nBut md-\u003equeue initialization, based on md-\u003etype, may fail at that time\n(because blk_init_allocated_queue cannot allocate memory).  Therefore\nany subsequent table_load must (re)try dm_setup_md_queue independently of\nestablishing md-\u003etype.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nAcked-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a5664dad7e1a278d2915c2bf79cf42250e12d7db",
      "tree": "3bdbe17f12376c63ea05100c2597757e01dc95e2",
      "parents": [
        "708e929513502fb050c0a3c3ee267cab5b056ded"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Aug 12 04:14:01 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:01 2010 +0100"
      },
      "message": "dm ioctl: make bio or request based device type immutable\n\nDetermine whether a mapped device is bio-based or request-based when\nloading its first (inactive) table and don\u0027t allow that to be changed\nlater.\n\nThis patch performs different device initialisation in each of the two\ncases.  (We don\u0027t think it\u0027s necessary to add code to support changing\nbetween the two types.)\n\nAllowed md-\u003etype transitions:\n  DM_TYPE_NONE to DM_TYPE_BIO_BASED\n  DM_TYPE_NONE to DM_TYPE_REQUEST_BASED\n\nWe now prevent table_load from replacing the inactive table with a\nconflicting type of table even after an explicit table_clear.\n\nIntroduce \u0027type_lock\u0027 into the struct mapped_device to protect md-\u003etype\nand to prepare for the next patch that will change the queue\ninitialization and allocate memory while md-\u003etype_lock is held.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nAcked-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n\n drivers/md/dm-ioctl.c    |   15 +++++++++++++++\n drivers/md/dm.c          |   37 ++++++++++++++++++++++++++++++-------\n drivers/md/dm.h          |    5 +++++\n include/linux/dm-ioctl.h |    4 ++--\n 4 files changed, 52 insertions(+), 9 deletions(-)\n"
    },
    {
      "commit": "402ab352c2c00ba8f90c724565f8cf31210d99cf",
      "tree": "d24566917708f1624a7af33bc049aa5dfb24e96c",
      "parents": [
        "3f77316de0ec0fd208467fbee8d9edc70e2c73b2"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@relay.de.ibm.com",
        "time": "Thu Aug 12 04:13:57 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:57 2010 +0100"
      },
      "message": "dm ioctl: use nonseekable_open\n\nThe dm control device does not implement read/write, so it has no use for\nseeking.  Using no_llseek prevents falling back to default_llseek, which\nrequires the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3f77316de0ec0fd208467fbee8d9edc70e2c73b2",
      "tree": "73a91aa53eefe9537432a344ebf116cc7d106e51",
      "parents": [
        "98f332855effef02aeb738e4d62e9a5b903c52fd"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Aug 12 04:13:56 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:56 2010 +0100"
      },
      "message": "dm: separate device deletion from dm_put\n\nThis patch separates the device deletion code from dm_put()\nto make sure the deletion happens in the process context.\n\nBy this patch, device deletion always occurs in an ioctl (process)\ncontext and dm_put() can be called in interrupt context.\nAs a result, the request-based dm\u0027s bad dm_put() usage pointed out\nby Mikulas below disappears.\n    http://marc.info/?l\u003ddm-devel\u0026m\u003d126699981019735\u0026w\u003d2\n\nWithout this patch, I confirmed there is a case to crash the system:\n    dm_put() \u003d\u003e dm_table_destroy() \u003d\u003e vfree() \u003d\u003e BUG_ON(in_interrupt())\n\nSome more backgrounds and details:\nIn request-based dm, a device opener can remove a mapped_device\nwhile the last request is still completing, because bios in the last\nrequest complete first and then the device opener can close and remove\nthe mapped_device before the last request completes:\n  CPU0                                          CPU1\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  \u003c\u003cINTERRUPT\u003e\u003e\n  blk_end_request_all(clone_rq)\n    blk_update_request(clone_rq)\n      bio_endio(clone_bio) \u003d\u003d end_clone_bio\n        blk_update_request(orig_rq)\n          bio_endio(orig_bio)\n                                                \u003c\u003cI/O completed\u003e\u003e\n                                                dm_blk_close()\n                                                dev_remove()\n                                                  dm_put(md)\n                                                    \u003c\u003cFree md\u003e\u003e\n   blk_finish_request(clone_rq)\n     ....\n     dm_end_request(clone_rq)\n       free_rq_clone(clone_rq)\n       blk_end_request_all(orig_rq)\n       rq_completed(md)\n\nSo request-based dm used dm_get()/dm_put() to hold md for each I/O\nuntil its request completion handling is fully done.\nHowever, the final dm_put() can call the device deletion code which\nmust not be run in interrupt context and may cause kernel panic.\n\nTo solve the problem, this patch moves the device deletion code,\ndm_destroy(), to predetermined places that is actually deleting\nthe mapped_device in ioctl (process) context, and changes dm_put()\njust to decrement the reference count of the mapped_device.\nBy this change, dm_put() can be used in any context and the symmetric\nmodel below is introduced:\n    dm_create():  create a mapped_device\n    dm_destroy(): destroy a mapped_device\n    dm_get():     increment the reference count of a mapped_device\n    dm_put():     decrement the reference count of a mapped_device\n\ndm_destroy() waits for all references of the mapped_device to disappear,\nthen deletes the mapped_device.\n\ndm_destroy() uses active waiting with msleep(1), since deleting\nthe mapped_device isn\u0027t performance-critical task.\nAnd since at this point, nobody opens the mapped_device and no new\nreference will be taken, the pending counts are just for racing\ncompleting activity and will eventually decrease to zero.\n\nFor the unlikely case of the forced module unload, dm_destroy_immediate(),\nwhich doesn\u0027t wait and forcibly deletes the mapped_device, is also\nintroduced and used in dm_hash_remove_all().  Otherwise, \"rmmod -f\"\nmay be stuck and never return.\nAnd now, because the mapped_device is deleted at this point, subsequent\naccesses to the mapped_device may cause NULL pointer references.\n\nCc: stable@kernel.org\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "98f332855effef02aeb738e4d62e9a5b903c52fd",
      "tree": "b10d7f632022415ddb047c2bacbaa1f861a76161",
      "parents": [
        "abdc568b0540bec6d3e0afebac496adef1189b77"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Aug 12 04:13:55 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:55 2010 +0100"
      },
      "message": "dm ioctl: release _hash_lock between devices in remove_all\n\nThis patch changes dm_hash_remove_all() to release _hash_lock when\nremoving a device.  After removing the device, dm_hash_remove_all()\ntakes _hash_lock and searches the hash from scratch again.\n\nThis patch is a preparation for the next patch, which changes device\ndeletion code to wait for md reference to be 0.  Without this patch,\nthe wait in the next patch may cause AB-BA deadlock:\n  CPU0                                CPU1\n  -----------------------------------------------------------------------\n  dm_hash_remove_all()\n    down_write(_hash_lock)\n                                      table_status()\n                                        md \u003d find_device()\n                                               dm_get(md)\n                                                 \u003cincrement md-\u003eholders\u003e\n                                        dm_get_live_or_inactive_table()\n                                          dm_get_inactive_table()\n                                            down_write(_hash_lock)\n    \u003cin the md deletion code\u003e\n      \u003cwait for md-\u003eholders to be 0\u003e\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "856a6f1dbd8940e72755af145ebcd806408ecedd",
      "tree": "e9fcdd440e5a4dbc58ffe59699b918d34b1cdd21",
      "parents": [
        "094ea9a071f68bd6f56c3f8cdeb5263727b68ce9"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Aug 12 04:13:53 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:53 2010 +0100"
      },
      "message": "dm ioctl: return uevent flag after rename\n\nAll the dm ioctls that generate uevents set the DM_UEVENT_GENERATED flag so\nthat userspace knows whether or not to wait for a uevent to be processed\nbefore continuing,\n\nThe dm rename ioctl sets this flag but was not structured to return it\nto userspace.  This patch restructures the rename ioctl processing to\nbehave like the other ioctls that return data and so fix this.\n\nSigned-off-by: Peter Rajnoha \u003cprajnoha@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "094ea9a071f68bd6f56c3f8cdeb5263727b68ce9",
      "tree": "26455271959efc8241adaee9f49c31e87606c9ff",
      "parents": [
        "6be544940109b4c45f560785fe5798ce3fdc1922"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:52 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:52 2010 +0100"
      },
      "message": "dm ioctl: make __dev_status void\n\n__dev_status() cannot fail so make it void and simplify callers.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6be544940109b4c45f560785fe5798ce3fdc1922",
      "tree": "46307861cfa5d9cc00ba936a0db76aa5feac5226",
      "parents": [
        "c24110450650f17f7d3ba4fbe01f01ac5a115456"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Aug 12 04:13:52 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:13:52 2010 +0100"
      },
      "message": "dm ioctl: remove __dev_status from geometry and target message\n\nRemove useless __dev_status call while processing an ioctl that sets up\ndevice geometry and target message.  The data is not returned to\nuserspace so there is no point collecting it and in the case of\ntarget_message it is collected before processing the message so if it\ndid return it might be stale.\n\nSigned-off-by: Peter Rajnoha \u003cprajnoha@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3abf85b5b5851b5f28d3d8a920ebb844edd08352",
      "tree": "b59e5c9322cc116b0ce5dc183d3b8286080c6031",
      "parents": [
        "a97f925a32aad2a37971d7bfb657006acf04e42d"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Sat Mar 06 02:32:31 2010 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Mar 06 02:32:31 2010 +0000"
      },
      "message": "dm ioctl: introduce flag indicating uevent was generated\n\nSet a new DM_UEVENT_GENERATED_FLAG when returning from ioctls to\nindicate that a uevent was actually generated.  This tells the userspace\ncaller that it may need to wait for the event to be processed.\n\nSigned-off-by: Peter Rajnoha \u003cprajnoha@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0f3649a9e305ea22eb196a84a2d7520afcaa6060",
      "tree": "10e5c845bcb2af0c5d9a7d79b231474983500a60",
      "parents": [
        "ede5ea0b8b815560dc54c712536fdf0b456b6ad0"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Sat Mar 06 02:32:24 2010 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Mar 06 02:32:24 2010 +0000"
      },
      "message": "dm ioctl: only issue uevent on resume if state changed\n\nOnly issue a uevent on a resume if the state of the device changed,\ni.e. if it was suspended and/or its table was replaced.\n\nSigned-off-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4f186f8bbfa92bf1a2b39f7a8674348bfdba9437",
      "tree": "9fd65776c0314abf6774f30e542d565e22ae4698",
      "parents": [
        "4d4471cb5c1ec426c0f24818b270dc7b3ad7e655"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Dec 10 23:52:26 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:26 2009 +0000"
      },
      "message": "dm: rename dm_suspended to dm_suspended_md\n\nThis patch renames dm_suspended() to dm_suspended_md() and\nkeeps it internal to dm.\nNo functional change.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "042d2a9bcd80fe12d4b0871706aa9dd2231e8238",
      "tree": "69a7b6675e2cd020807729de50cd99747f6470f4",
      "parents": [
        "a794015597a2d9b437470c7692aac77e5fc08cd2"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:24 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:24 2009 +0000"
      },
      "message": "dm: keep old table until after resume succeeded\n\nWhen swapping a new table into place, retain the old table until\nits replacement is in place.\n\nAn old check for an empty table is removed because this is enforced\nin populate_table().\n\n__unbind() becomes redundant when followed by __bind().\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "1d0f3ce83200edc5d43723c77c62b09ad6560294",
      "tree": "dd7f0306c14334d8cb2fbcabe18243c94da4b869",
      "parents": [
        "12fc0f49dc994d8d90dcf3df13f5b1ee5441288d"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Dec 10 23:52:22 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:22 2009 +0000"
      },
      "message": "dm ioctl: retrieve status from inactive table\n\nAdd the flag DM_QUERY_INACTIVE_TABLE_FLAG to the ioctls to return\ninfomation about the loaded-but-not-yet-active table instead of the live\ntable.  Prior to this patch it was impossible to obtain this information\nuntil the device had been \u0027resumed\u0027.\n\nUserspace dmsetup and libdevmapper support the flag as of version 1.02.40.\ne.g. dmsetup info --inactive vg1-lv1\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c50abeb38026ea721a812cf8a9b2fac5d3b7684b",
      "tree": "755a412a2aa8bacf35a278f1009229c64424b03c",
      "parents": [
        "432a212c0dd0f4ca386cf37c5b740ac9dbda4479"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Thu Dec 10 23:52:20 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:20 2009 +0000"
      },
      "message": "dm ioctl: forbid messages to devices being deleted\n\nOnce we begin deleting a device, prevent any further messages being sent\nto targets of its table (to avoid races).\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7c6664114b7342a36f14a6836564e865669b3cea",
      "tree": "0f00dcd89bec3ae1e4003b23018a2b1bf5464ff0",
      "parents": [
        "d0bcb8786532b01206f04258eb6b7d4ac858436a"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:19 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:19 2009 +0000"
      },
      "message": "dm: rename dm_get_table to dm_get_live_table\n\nRename dm_get_table to dm_get_live_table.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a518b86d0b1b6a474f154697dc6f33e0a317ae72",
      "tree": "759b2ddb2a6a7f3745ee88d817652de5568da509",
      "parents": [
        "5339fc2d47d1d720e027b9b832bf5aae8fba2ac0"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Dec 10 23:52:07 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:07 2009 +0000"
      },
      "message": "dm ioctl: prefer strlcpy over strncpy\n\nstrlcpy() will always null terminate the string.\n\n    The code should already guarantee this as the last bytes are already\n    NULs and the string lengths were restricted before being stored in\n    hc.  Removing the \u0027-1\u0027 becomes necessary so strlcpy() doesn\u0027t\n    lose the last character of a maximum-length string.\n\t- agk\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6076905b5ef39e0ea58db32583c9e0036c05e47b",
      "tree": "918a8da9778d93e8ff6aff6497eb698d7a45edab",
      "parents": [
        "3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:51:52 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:51:52 2009 +0000"
      },
      "message": "dm: avoid _hash_lock deadlock\n\nFix a reported deadlock if there are still unprocessed multipath events\non a device that is being removed.\n\n_hash_lock is held during dev_remove while trying to send the\noutstanding events.  Sending the events requests the _hash_lock\nagain in dm_copy_name_and_uuid.\n\nThis patch introduces a separate lock around regions that modify the\nlink to the hash table (dm_set_mdptr) or the name or uuid so that\ndm_copy_name_and_uuid no longer needs _hash_lock.\n\nAdditionally, dm_copy_name_and_uuid can only be called if md exists\nso we can drop the dm_get() and dm_put() which can lead to a BUG()\nwhile md is being freed.\n\nThe deadlock:\n #0 [ffff8106298dfb48] schedule at ffffffff80063035\n #1 [ffff8106298dfc20] __down_read at ffffffff8006475d\n #2 [ffff8106298dfc60] dm_copy_name_and_uuid at ffffffff8824f740\n #3 [ffff8106298dfc90] dm_send_uevents at ffffffff88252685\n #4 [ffff8106298dfcd0] event_callback at ffffffff8824c678\n #5 [ffff8106298dfd00] dm_table_event at ffffffff8824dd01\n #6 [ffff8106298dfd10] __hash_remove at ffffffff882507ad\n #7 [ffff8106298dfd30] dev_remove at ffffffff88250865\n #8 [ffff8106298dfd60] ctl_ioctl at ffffffff88250d80\n #9 [ffff8106298dfee0] do_ioctl at ffffffff800418c4\n#10 [ffff8106298dff00] vfs_ioctl at ffffffff8002fab9\n#11 [ffff8106298dff40] sys_ioctl at ffffffff8004bdaf\n#12 [ffff8106298dff80] tracesys at ffffffff8005d28d (via system_call)\n\nCc: stable@kernel.org\nReported-by: guy keren \u003cchoo@actcom.co.il\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e6ee8c0b767540f59e20da3ced282601db8aa502",
      "tree": "101cb830994734eb45a4a47cd5988f24da67fa4f",
      "parents": [
        "cec47e3d4a861e1d942b3a580d0bbef2700d2bb2"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Mon Jun 22 10:12:36 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:36 2009 +0100"
      },
      "message": "dm: enable request based option\n\nThis patch enables request-based dm.\n\no Request-based dm and bio-based dm coexist, since there are\n  some target drivers which are more fitting to bio-based dm.\n  Also, there are other bio-based devices in the kernel\n  (e.g. md, loop).\n  Since bio-based device can\u0027t receive struct request,\n  there are some limitations on device stacking between\n  bio-based and request-based.\n\n                     type of underlying device\n                   bio-based      request-based\n   ----------------------------------------------\n    bio-based         OK                OK\n    request-based     --                OK\n\n  The device type is recognized by the queue flag in the kernel,\n  so dm follows that.\n\no The type of a dm device is decided at the first table binding time.\n  Once the type of a dm device is decided, the type can\u0027t be changed.\n\no Mempool allocations are deferred to at the table loading time, since\n  mempools for request-based dm are different from those for bio-based\n  dm and needed mempool type is fixed by the type of table.\n\no Currently, request-based dm supports only tables that have a single\n  target.  To support multiple targets, we need to support request\n  splitting or prevent bio/request from spanning multiple targets.\n  The former needs lots of changes in the block layer, and the latter\n  needs that all target drivers support merge() function.\n  Both will take a time.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "60935eb21d3c5bac79618000f38f92c249d153c4",
      "tree": "0fcd78d7d69e23cd062e5214ddf2959d5c74e605",
      "parents": [
        "486d220fe4909b5745c4faa67faddd30a707abe2"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Mon Jun 22 10:12:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:30 2009 +0100"
      },
      "message": "dm ioctl: support cookies for udev\n\nAdd support for passing a 32 bit \"cookie\" into the kernel with the\nDM_SUSPEND, DM_DEV_RENAME and DM_DEV_REMOVE ioctls.  The (unsigned)\nvalue of this cookie is returned to userspace alongside the uevents\nissued by these ioctls in the variable DM_COOKIE.\n\nThis means the userspace process issuing these ioctls can be notified\nby udev after udev has completed any actions triggered.\n\nTo minimise the interface extension, we pass the cookie into the\nkernel in the event_nr field which is otherwise unused when calling\nthese ioctls.  Incrementing the version number allows userspace to\ndetermine in advance whether or not the kernel supports the cookie.\nIf the kernel does support this but userspace does not, there should\nbe no impact as the new variable will just get ignored.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d405640539555b601e52f7d18f1f0b1345d18bf5",
      "tree": "6a748c0acea0fa72c732d2f188e57153418395e0",
      "parents": [
        "6fcf53acccf85b4b0d0260e66c692a341760f464"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: misc: add nodename support for misc devices.\n\nThis adds support for misc devices to report their requested nodename to\nuserspace.  It also updates a number of misc drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9c47008d13add50ec4597a8b9eee200c515282c8",
      "tree": "debd8ebb2fef2687d4548a177505ec30bda95503",
      "parents": [
        "577c9c456f0e1371cbade38eaf91ae8e8a308555"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Apr 09 00:27:12 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 09 00:27:12 2009 +0100"
      },
      "message": "dm: add integrity support\n\nThis patch provides support for data integrity passthrough in the device\nmapper.\n\n - If one or more component devices support integrity an integrity\n   profile is preallocated for the DM device.\n\n - If all component devices have compatible profiles the DM device is\n   flagged as capable.\n\n - Handle integrity metadata when splitting and cloning bios.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f80a557008462a0a4adef25407f1872e793d8dd5",
      "tree": "41c0d0b924dc392adb413ef4ebe35bb42ef24727",
      "parents": [
        "bc0fd67feba2e0770aad85393500ba77c6489f1c"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Mar 16 17:44:26 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Mar 16 17:44:26 2009 +0000"
      },
      "message": "dm table: rework reference counting fix\n\nFix an error introduced in dm-table-rework-reference-counting.patch.\n\nWhen there is failure after table initialization, we need to use\ndm_table_destroy, not dm_table_put, to free the table.\n\ndm_table_put may be used only after dm_table_get.\n\nCc: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nReviewed-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bc0fd67feba2e0770aad85393500ba77c6489f1c",
      "tree": "898f91bc16492588dc74f191979dcca5462cdc36",
      "parents": [
        "5bee17f18b595937e6beafeee5197868a3f74a06"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Mon Mar 16 16:56:01 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Mar 16 16:56:01 2009 +0000"
      },
      "message": "dm ioctl: validate name length when renaming\n\nWhen renaming a mapped device validate the length of the new name.\n\nThe rename ioctl accepted any correctly-terminated string enclosed\nwithin the data passed from userspace.  The other ioctls enforce a\nsize limit of DM_NAME_LEN.  If the name is changed and becomes longer\nthan that, the device can no longer be addressed by name.\n\nFix it by properly checking for device name length (including\nterminating zero).\n\nCc: stable@kernel.org\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReviewed-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d58168763f74d1edbc296d7038c60efe6493fdd4",
      "tree": "03866d641211fe16961a5b8aab6d9132bf07d9c8",
      "parents": [
        "ab4c1424882be9cd70b89abf2b484add355712fa"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:05:10 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:10 2009 +0000"
      },
      "message": "dm table: rework reference counting\n\nRework table reference counting.\n\nThe existing code uses a reference counter. When the last reference is\ndropped and the counter reaches zero, the table destructor is called.\nTable reference counters are acquired/released from upcalls from other\nkernel code (dm_any_congested, dm_merge_bvec, dm_unplug_all).\nIf the reference counter reaches zero in one of the upcalls, the table\ndestructor is called from almost random kernel code.\n\nThis leads to various problems:\n* dm_any_congested being called under a spinlock, which calls the\n  destructor, which calls some sleeping function.\n* the destructor attempting to take a lock that is already taken by the\n  same process.\n* stale reference from some other kernel code keeps the table\n  constructed, which keeps some devices open, even after successful\n  return from \"dmsetup remove\". This can confuse lvm and prevent closing\n  of underlying devices or reusing device minor numbers.\n\nThe patch changes reference counting so that the table destructor can be\ncalled only at predetermined places.\n\nThe table has always exactly one reference from either mapped_device-\u003emap\nor hash_cell-\u003enew_map. After this patch, this reference is not counted\nin table-\u003eholders.  A pair of dm_create_table/dm_destroy_table functions\nis used for table creation/destruction.\n\nTemporary references from the other code increase table-\u003eholders. A pair\nof dm_table_get/dm_table_put functions is used to manipulate it.\n\nWhen the table is about to be destroyed, we wait for table-\u003eholders to\nreach 0. Then, we call the table destructor.  We use active waiting with\nmsleep(1), because the situation happens rarely (to one user in 5 years)\nand removing the device isn\u0027t performance-critical task: the user doesn\u0027t\ncare if it takes one tick more or not.\n\nThis way, the destructor is called only at specific points\n(dm_table_destroy function) and the above problems associated with lazy\ndestruction can\u0027t happen.\n\nFinally remove the temporary protection added to dm_any_congested().\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "23d39f63aa87e812fd879b8bc32ee6ccfe733de3",
      "tree": "3535af0aff56260cdbf573a704e3f0122c6cfc8b",
      "parents": [
        "ac1f0ac22c7be908fd33407273b9808bfaedada4"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:04 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:04 2009 +0000"
      },
      "message": "dm ioctl: allow dm_copy_name_and_uuid to return only one field\n\nAllow NULL buffer in dm_copy_name_and_uuid if you only want to return one of\nthe fields.\n\n(Required by a following patch that adds these fields to sysfs.)\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b0af205afb111e17ac8db64c3b9c4f2c332de92a",
      "tree": "3999a2ffbd36e9d1cc6ca30e6b9d6280f4e50116",
      "parents": [
        "73f6aa4d44ab6157badc456ddfa05b31e58de5f0",
        "0c2322e4ce144e130c03d813fe92de3798662c5e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 11:11:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 11:11:47 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm: detect lost queue\n  dm: publish dm_vcalloc\n  dm: publish dm_table_unplug_all\n  dm: publish dm_get_mapinfo\n  dm: export struct dm_dev\n  dm crypt: avoid unnecessary wait when splitting bio\n  dm crypt: tidy ctx pending\n  dm crypt: fix async inc_pending\n  dm crypt: move dec_pending on error into write_io_submit\n  dm crypt: remove inc_pending from write_io_submit\n  dm crypt: tidy write loop pending\n  dm crypt: tidy crypt alloc\n  dm crypt: tidy inc pending\n  dm exception store: use chunk_t for_areas\n  dm exception store: introduce area_location function\n  dm raid1: kcopyd should stop on error if errors handled\n  dm mpath: remove is_active from struct dm_path\n  dm mpath: use more error codes\n\nFixed up trivial conflict in drivers/md/dm-mpath.c manually.\n"
    },
    {
      "commit": "82b1519b345d61dcfae526e3fcb08128f39f9bcc",
      "tree": "240bc646da63557ed7fa81fa3c17d05b95853f45",
      "parents": [
        "933f01d43326fb12a978a8e0bb062c28a2de4d5a"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Oct 10 13:37:09 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Oct 10 13:37:09 2008 +0100"
      },
      "message": "dm: export struct dm_dev\n\nSplit struct dm_dev in two and publish the part that other targets need in\ninclude/linux/device-mapper.h.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b7db9956e57c8151b930d5e5fe5c766e6aad3ff7",
      "tree": "d663a8687fff481abb1498c2ea0eac01ef81cb26",
      "parents": [
        "e56105214943ce5f0901d20e972a7cfd0d1d0656"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:10 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move policy from disk to part0\n\nMove disk-\u003epolicy to part0-\u003epolicy.  Implement and use get_disk_ro().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.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": "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": "69267a30bed1fabec658058c63845528a8b813d4",
      "tree": "d6c527bc0d456089f1eaf0998fe39ef899b8c1fc",
      "parents": [
        "adfe47702c4726b3e045f9f83178def02833be4c"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 13 14:15:57 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:11 2007 +0000"
      },
      "message": "dm: trigger change uevent on rename\n\nInsert a missing KOBJ_CHANGE notification when a device is renamed.\n\nCc: Scott James Remnant \u003cscott@ubuntu.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "512875bd9661368da6f993205a61213b79ba1df0",
      "tree": "7a2e010060b6233cd02e2e36b62f5dcaa96c2c36",
      "parents": [
        "fbdcf18df73758b2e187ab94678b30cd5f6ff9f9"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Dec 13 14:15:25 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:08 2007 +0000"
      },
      "message": "dm: table detect io beyond device\n\nThis patch fixes a panic on shrinking a DM device if there is\noutstanding I/O to the part of the device that is being removed.\n(Normally this doesn\u0027t happen - a filesystem would be resized first,\nfor example.)\n\nThe bug is that __clone_and_map() assumes dm_table_find_target()\nalways returns a valid pointer.  It may fail if a bio arrives from the\nblock layer but its target sector is no longer included in the DM\nbtree.\n\nThis patch appends an empty entry to table-\u003etargets[] which will\nbe returned by a lookup beyond the end of the device.\n\nAfter calling dm_table_find_target(), __clone_and_map() and target_message()\ncheck for this condition using\ndm_target_is_valid().\n\nSample test script to trigger oops:\n"
    },
    {
      "commit": "96a1f7dba6e464155c0d1dc69c6c2efa96b644ac",
      "tree": "8051a11c07624c9e5f9b049273462c307c447624",
      "parents": [
        "aa5617c55357d86c9082ba1d66fa9795370c9954"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:47:59 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:23 2007 +0100"
      },
      "message": "dm: export name and uuid\n\nThis patch adds a function to obtain a copy of a mapped device\u0027s name and uuid.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bb56acf840600421e68f49bb037d1c659fcb37f8",
      "tree": "f95ff0498bff166b86b9d3684223504d3976c7ca",
      "parents": [
        "9e4e5f87ebcadb7ad9aca640bbe1038e1545e9f8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Oct 19 22:38:54 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:10 2007 +0100"
      },
      "message": "dm io:ctl remove vmalloc void cast\n\nIn drivers/md/dm-ioctl.c::copy_params() there\u0027s a call to vmalloc()\nwhere we currently cast the return value, but that\u0027s pretty pointless\ngiven that vmalloc() returns \"void *\".\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "027d50f92ea26fd065aeb141ebfcbbbe010825e3",
      "tree": "e02900d49590ece0e43e21b006c39de08b1178be",
      "parents": [
        "c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:36 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:00:58 2007 +0100"
      },
      "message": "dm io:ctl use constant struct size\n\nMake size of dm_ioctl struct always 312 bytes on all supported\narchitectures.\n\nThis change retains compatibility with already-compiled code because\nit uses an embedded offset to locate the payload that follows the\nstructure.\n\nOn 64-bit architectures there is no change at all; on 32-bit\nwe are increasing the size of dm-ioctl from 308 to 312 bytes.\n\nCurrently with 32-bit userspace / 64-bit kernel on x86_64\nsome ioctls (including rename, message) are incorrectly rejected\nby the comparison against \u0027param + 1\u0027.  This breaks userspace\nlvrename and multipath \u0027fail_if_no_path\u0027 changes, for example.\n\n(BTW Device-mapper uses its own versioning and ignores the ioctl\nsize bits.  Only the generic ioctl compat code on mixed arches\nchecks them, and that will continue to accept both sizes for now,\nbut we intend to list 308 as deprecated and eventually remove it.)\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Guido Guenther \u003cagx@sigxcpu.org\u003e\nCc: Kevin Corry \u003ckevcorry@us.ibm.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4",
      "tree": "64a6b20c6c6e19a731882f830bd70ca5c8d99943",
      "parents": [
        "2b8693c0617e972fc0b2fd1ebf8de97e15b656c3"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:33 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 4\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\n[akpm@sdl.org: dvb fix]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81fdb096dbcedcc3b94c7e47b59362b5214891e2",
      "tree": "ce40376d3c16e3105e73d84b0129ab4bfb06dedf",
      "parents": [
        "d2a7ad29a810441e9dacbaddcc2f0c6045390008"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Fri Dec 08 02:41:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:09 2006 -0800"
      },
      "message": "[PATCH] dm: ioctl: add noflush suspend\n\nProvide a dm ioctl option to request noflush suspending.  (See next patch for\nwhat this is for.) As the interface is extended, the version number is\nincremented.\n\nOther than accepting the new option through the interface, There is no change\nto existing behaviour.\n\nTest results:\nConfirmed the option is given from user-space correctly.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3d77d35be6f416a250c528c3ed5c70013a915e8",
      "tree": "6aaecdf78b4da52f8a3b3ded2bd320812e3db6df",
      "parents": [
        "74859364633963cb660c4fa518adca9ab1ca4229"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Fri Dec 08 02:41:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:09 2006 -0800"
      },
      "message": "[PATCH] dm: suspend: parameter change\n\nChange the interface of dm_suspend() so that we can pass several options\nwithout increasing the number of parameters.  The existing \u0027do_lockfs\u0027 integer\nparameter is replaced by a flag DM_SUSPEND_LOCKFS_FLAG.\n\nThere is no functional change to the code.\n\nTest results:\nI have tested \u0027dmsetup suspend\u0027 command with/without the \u0027--nolockfs\u0027\noption and confirmed the do_lockfs value is correctly set.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfc5ecdf48b529f6a2bd98ba26bfac39ca8cd8a5",
      "tree": "4b62c928d685a9badbdcb1a1048479ee9b8594f9",
      "parents": [
        "c06cb8b1c4d25e5b4d7a2d7c2462619de1e0dbc4"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Nov 08 17:44:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] dm: fix find_device race\n\nThere is a race between dev_create() and find_device().\n\nIf the mdptr has not yet been stored against a device, find_device() needs to\nbehave as though no device was found.  It already returns NULL, but there is a\ndm_put() missing: it must drop the reference dm_get_md() took.\n\nThe bug was introduced by dm-fix-mapped-device-ref-counting.patch.\n\nIt manifests itself if another dm ioctl attempts to reference a newly-created\ndevice while the device creation ioctl is still running.  The consequence is\nthat the device cannot be removed until the machine is rebooted.  Certain udev\nconfigurations can lead to this happening.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: \u003cdm-devel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96192ff1a9d0c6ef365d21667080259d83ea2f5b",
      "tree": "b13caa3bedb3cde8bd1beecfc3c76bac894df42a",
      "parents": [
        "ff23eca3e8f613034e0d20ff86f6a89b62f5a14e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the miscdevice devfs_name field as it\u0027s no longer needed\n\nAlso fixes all drivers that set this field.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ff23eca3e8f613034e0d20ff86f6a89b62f5a14e",
      "tree": "826285f5daa660001d38cac6baaf34411fd40131",
      "parents": [
        "8ab5e4c15b53e147c08031a959d9f776823dbe73"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree\n\nAlso fixes up all files that #include it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ab5e4c15b53e147c08031a959d9f776823dbe73",
      "tree": "b851d4c1fdbd396379279e4475f7f778a667a208",
      "parents": [
        "7c69ef79741910883d5543caafa06aca3ebadbd1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:07 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_remove() function from the kernel tree\n\nRemoves the devfs_remove() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1a715c5cf917326a285533d1116d725f5f2593c2",
      "tree": "23833b5463940023bd4074a3a465c245adaff9fa",
      "parents": [
        "79021a625c36162d24c852bbbdb04f0c1cb32db3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:06 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree\n\nRemoves the devfs_mk_bdev() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "95dc112a5770dc670a1b45a3d9ee346fdd2b2697",
      "tree": "899cd99bdc928ade94ddc7b003b0de7d275cac48",
      "parents": [
        "0e6c62da7cd929b0389fc4a7e41464bb738647dc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:06 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree\n\nRemoves the devfs_mk_dir() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "72d9486169a2a8353e022813185ba2f32d7dde69",
      "tree": "2fe6c382feb3f21d829abf543c54be486007557c",
      "parents": [
        "5c6bd75d06db512515a3781aa97e42df2faf0815"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: improve error message consistency\n\nTidy device-mapper error messages to include context information\nautomatically.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c6bd75d06db512515a3781aa97e42df2faf0815",
      "tree": "43d68c6d3174e1ae8a778acd834665c122f8b2a4",
      "parents": [
        "c2ade42dd35466d90aa6fc7cc717f396e165492f"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: prevent removal if open\n\nIf you misuse the device-mapper interface (or there\u0027s a bug in your userspace\ntools) it\u0027s possible to end up with \u0027unlinked\u0027 mapped devices that cannot be\nremoved until you reboot (along with uninterruptible processes).\n\nThis patch prevents you from removing a device that is still open.\n\nIt introduces dm_lock_for_deletion() which is called when a device is about to\nbe removed to ensure that nothing has it open and nothing further can open it.\n It uses a private open_count for this which also lets us remove one of the\nproblematic bdget_disk() calls elsewhere.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2b06cfff12f0f87c4bc4d4c4dd76997e72c360ba",
      "tree": "68e9085593ef64b78a60daec94898e620bf716c3",
      "parents": [
        "814d68629b40e863997fa0eea459be4cc99a06cc"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: consolidate creation functions\n\nMerge dm_create() and dm_create_with_minor() by introducing the special value\nDM_ANY_MINOR to request the allocation of the next available minor number.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ec75f254742766eb729f1d1024a5b4e6692fc5f",
      "tree": "67cf98f49397c4f7a71e12afc82c04c7dedbe17f",
      "parents": [
        "fba9f90e568e17c326257ee293207b75880b39d6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Jun 26 00:27:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:35 2006 -0700"
      },
      "message": "[PATCH] dm: fix mapped device ref counting\n\nTo avoid races, _minor_lock must be held while changing mapped device\nreference counts.\n\nThere are a few paths where a mapped_device pointer is returned before a\nreference is taken.  This patch fixes them.\n\n[akpm: too late for 2.6.17 - suitable for 2.6.17.x after it has settled]\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ac51e741a46af7a20f55e79d3e3aeaa93c6c544",
      "tree": "cab595a4d9691d7602616337b7862a1a3d692b97",
      "parents": [
        "1134e5ae79bab61c05657ca35a6297cf87202e35"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Mar 27 01:17:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm store geometry\n\nAllow drive geometry to be stored with a new DM_DEV_SET_GEOMETRY ioctl.\nDevice-mapper will now respond to HDIO_GETGEO.  If the geometry information is\nnot available, zero will be returned for all of the parameters.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1134e5ae79bab61c05657ca35a6297cf87202e35",
      "tree": "16d5e9c722fbe17dc343c65b85628c8e6ee36199",
      "parents": [
        "9ade92a9a5b0a3a10efa6551b8c67a9277bf0438"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@us.ibm.com",
        "time": "Mon Mar 27 01:17:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm table: store md\n\nStore an up-pointer to the owning struct mapped_device in every table when it\nis created.\n\nAccess it with:\n  struct mapped_device *dm_table_get_md(struct dm_table *t)\n\nTables linked to md must be destroyed before the md itself.\n\nSigned-off-by: Mike Anderson \u003candmike@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ade92a9a5b0a3a10efa6551b8c67a9277bf0438",
      "tree": "976b3d4f8a90d08cf9db1f7afb40423570360d85",
      "parents": [
        "7e51f257e87297a5b6fe6d136a8ef67206aaf3a8"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Mar 27 01:17:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm: tidy mdptr\n\nChange dm_get_mdptr() to take a struct mapped_device instead of dev_t.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dab6a42915554f70220e5a2ff55c59c749582c7b",
      "tree": "cd8c11b9d8c2c57cc36b1920d21f787bd8cdd83b",
      "parents": [
        "a4fc4717fc55a3bcd3cfdafa285b7af164b83051"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Feb 01 03:04:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:10 2006 -0800"
      },
      "message": "[PATCH] device-mapper ioctl: reduce PF_MEMALLOC usage\n\nReduce substantially the amount of code using PF_MEMALLOC, as envisaged in the\noriginal FIXME.\n\nIf you\u0027re using lvm2, for this patch to work correctly you should update to\nlvm2 version 2.02.01 or later and device-mapper version 1.02.02 or later.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6da487dcc0c6f4c827779687a20016efeffc4d60",
      "tree": "824d14e18cbb81bf45c6d17104993acfa47c9c36",
      "parents": [
        "aa8d7c2fbe619d8c0837296d2eaf4c14cebac198"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jan 06 00:20:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] device-mapper ioctl: add skip lock_fs flag\n\nAdd ioctl DM_SKIP_LOCKFS_FLAG for userspace to request that lock_fs is\nbypassed when suspending a device.\n\nThere\u0027s no change to the behaviour of existing code that doesn\u0027t know about\nthe new flag.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa8d7c2fbe619d8c0837296d2eaf4c14cebac198",
      "tree": "88b63e397b0c2dbdf2b8feb3920d565d352412d6",
      "parents": [
        "e39e2e95eb8bd536b61654e8fda1516d0a6a3cd1"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Jan 06 00:20:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] device-mapper: make lock_fs optional\n\nDevices only needs syncing when creating snapshots, so make this optional when\nsuspending a device.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81f1777a55e8c631b61e5fa5980fb7a2004287af",
      "tree": "e63c43ce8951e316f21a85554d867dd25a2ceb6c",
      "parents": [
        "d229a9589ff3b988d3f999cdcfa350f97a372673"
      ],
      "author": {
        "name": "goggin, edward",
        "email": "egoggin@emc.com",
        "time": "Fri Jan 06 00:20:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:00 2006 -0800"
      },
      "message": "[PATCH] device-mapper ioctl: event on rename\n\nAfter changing the name of a mapped device, trigger a dm event.  (For\nuserspace multipath tools.)\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4cc66351a24da5feec298be2da59a85f68dd3ea",
      "tree": "76b03b0bfa3d6db905b9b7e26997263b01cbe3ee",
      "parents": [
        "b6fcc80d03b41162ed88c3fb542aca9b654bc414"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Nov 21 21:32:33 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:14:31 2005 -0800"
      },
      "message": "[PATCH] device-mapper: list_versions fix\n\nIn some circumstances the LIST_VERSIONS output is truncated because the size\ncalculation forgets about a \u0027uint32_t\u0027 in each structure - but the inclusion\nof the whole of ALIGN_MASK frequently compensates for the omission.\n\nThis is a quick workaround to use an upper bound.  (The code ought to be fixed\nto supply the actual size.)\n\nRunning \u0027dmsetup targets\u0027 may demonstrate the problem: when I run it, the last\nline comes out as \u0027erro\u0027 instead of \u0027error\u0027.  Consequently, \u0027lvcreate --type\nerror\u0027 doesn\u0027t work.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6fcc80d03b41162ed88c3fb542aca9b654bc414",
      "tree": "c716876fbad9a69472e7dd7e92d1e9021e249b91",
      "parents": [
        "98766fbe604bc198ced93c57220c2d4a78ad6c11"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Mon Nov 21 21:32:32 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:14:30 2005 -0800"
      },
      "message": "[PATCH] device-mapper dm-ioctl: missing put in table load error case\n\nAn error path in table_load() forgets to release a table that won\u0027t now be\nreferenced.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "269fd2a6f84828fd96218d164dace8c413fa5c03",
      "tree": "20496da0d4e5c5a6096a0e690b5b603ace6f7baf",
      "parents": [
        "0f7347c20c410c300be0db4c132945fd02e54110"
      ],
      "author": {
        "name": "goggin, edward",
        "email": "egoggin@emc.com",
        "time": "Tue Sep 27 21:45:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:42 2005 -0700"
      },
      "message": "[PATCH] device-mapper: Trigger an event when a table is deleted\n\nIf anything is waiting on a device\u0027s table when the device is removed, we\nmust first wake it up so it will release its reference.  Otherwise the\ntable\u0027s reference count will not drop to zero and the table will not get\nremoved.\n\nSigned-Off-By: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\n\nSigned-off-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
