)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3fd8f0e169e72a85eb388cdc537a79dd423c319f",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-ioctl.c",
      "new_id": "4702f380cb456f10bad1389576b75774dab93845",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-ioctl.c"
    },
    {
      "type": "modify",
      "old_id": "f3cc5d99fe8dcd6064a6c6880de3b3a90b12b6ef",
      "old_mode": 33188,
      "old_path": "drivers/md/dm.c",
      "new_id": "345e94c10c659f5bd8edbf92b5188f8121d1b4fd",
      "new_mode": 33188,
      "new_path": "drivers/md/dm.c"
    },
    {
      "type": "modify",
      "old_id": "8223671e4901b3e1b8fe3fc1bac93e49b8d7d74b",
      "old_mode": 33188,
      "old_path": "drivers/md/dm.h",
      "new_id": "1db782530ce67beeedb791f2a2fb8a4431c6dead",
      "new_mode": 33188,
      "new_path": "drivers/md/dm.h"
    },
    {
      "type": "modify",
      "old_id": "2c445e11379026041cb795844711379546da2a20",
      "old_mode": 33188,
      "old_path": "include/linux/dm-ioctl.h",
      "new_id": "43b2de17449b5ed8fda18b94b84cf402109ec066",
      "new_mode": 33188,
      "new_path": "include/linux/dm-ioctl.h"
    }
  ]
}
