)]}'
{
  "commit": "015487b89f27d91d95a056cdc3c85e6c729bff12",
  "tree": "0cecb2acc903154e25abb23e8f345f301fcd1ef5",
  "parents": [
    "effc6cc8828257c32c37635e737f14fd6e19ecd7"
  ],
  "author": {
    "name": "Roland Dreier",
    "email": "roland@purestorage.com",
    "time": "Mon Feb 13 16:18:17 2012 -0800"
  },
  "committer": {
    "name": "Nicholas Bellinger",
    "email": "nab@linux-iscsi.org",
    "time": "Sat Feb 25 14:37:49 2012 -0800"
  },
  "message": "target: Untangle front-end and back-end meanings of max_sectors attribute\n\nse_dev_attrib.max_sectors currently has two independent meanings:\n\n - It is reported in the block limits VPD page as the maximum transfer\n   length, ie the largest IO that the front-end (fabric) can handle.\n   Also the target core doesn\u0027t enforce this maximum transfer length.\n\n - It is used to hold the size of the largest IO that the back-end can\n   handle, so we know when to split SCSI commands into multiple tasks.\n\nFix this by adding a new se_dev_attrib.fabric_max_sectors to hold the\nmaximum transfer length, and checking incoming IOs against that limit.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f65b258cc257d76da60aa2fe76bb76b9e6ca599",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_cdb.c",
      "new_id": "41ca2d43377bdea8a4797403e372eeb3ac678fe8",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_cdb.c"
    },
    {
      "type": "modify",
      "old_id": "0700d3b3d1c0b57106b0df52178ebcd32a17bdb1",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_configfs.c",
      "new_id": "ac0ee5021c294852dd5ef60a65fb7693fccd2889",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_configfs.c"
    },
    {
      "type": "modify",
      "old_id": "0b25b50900e93991480767d26909e1990ca5e1e1",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_device.c",
      "new_id": "27da4e4e07c64507c71c92b1ca7787a17bf7b131",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_device.c"
    },
    {
      "type": "modify",
      "old_id": "b026dedb8184f8021b9965dab902c1e110ea8f90",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_internal.h",
      "new_id": "21c05638f1587dc5328ccca291bf94553ebc1ec8",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_internal.h"
    },
    {
      "type": "modify",
      "old_id": "19804b6fdbaa11a5b4b5a9b0f98280e16a55b4a6",
      "old_mode": 33188,
      "old_path": "drivers/target/target_core_transport.c",
      "new_id": "b79c6a2824ee027459d261e31cb2b03e06bf10df",
      "new_mode": 33188,
      "new_path": "drivers/target/target_core_transport.c"
    },
    {
      "type": "modify",
      "old_id": "99d7373ef8340bff603e8bae72d85f891136cddf",
      "old_mode": 33188,
      "old_path": "include/target/target_core_base.h",
      "new_id": "1641dea0c282cb6795518752cf3dcd9313ff7539",
      "new_mode": 33188,
      "new_path": "include/target/target_core_base.h"
    }
  ]
}
