)]}'
{
  "commit": "9abe16c670bd3d4ab5519257514f9f291383d104",
  "tree": "2c3015288e282a95a82e5a6198fe9df78b0d1478",
  "parents": [
    "07c861d6d9ca3dc58e225bcfe2da0f378af6fa6c"
  ],
  "author": {
    "name": "Kai Makisara",
    "email": "Kai.Makisara@kolumbus.fi",
    "time": "Sat Feb 03 13:21:29 2007 +0200"
  },
  "committer": {
    "name": "James Bottomley",
    "email": "jejb@mulgrave.il.steeleye.com",
    "time": "Sat Feb 03 08:05:47 2007 -0600"
  },
  "message": "[SCSI] st: fix Tape dies if wrong block size used, bug 7919\n\nOn Thu, 1 Feb 2007, Andrew Morton wrote:\n\u003e On Thu, 1 Feb 2007 15:34:29 -0800\n\u003e bugme-daemon@bugzilla.kernel.org wrote:\n\u003e\n\u003e \u003e http://bugzilla.kernel.org/show_bug.cgi?id\u003d7919\n\u003e \u003e\n\u003e \u003e            Summary: Tape dies if wrong block size used\n\u003e \u003e     Kernel Version: 2.6.20-rc5\n\u003e \u003e             Status: NEW\n\u003e \u003e           Severity: normal\n\u003e \u003e              Owner: scsi_drivers-other@kernel-bugs.osdl.org\n\u003e \u003e          Submitter: dmartin@sccd.ctc.edu\n\u003e \u003e\n\u003e \u003e\n\u003e \u003e Most recent kernel where this bug did *NOT* occur: 2.6.17.14\n\u003e \u003e\n\u003e \u003e Other Kernels Tested and Results:\n\u003e \u003e\n\u003e \u003e     OK 2.6.15.7\n\u003e \u003e     OK 2.6.16.37\n\u003e \u003e     OK 2.6.17.14\n\u003e \u003e     BAD 2.6.18.6\n\u003e \u003e     BAD 2.6.18-1.2869.fc6\n\u003e \u003e     BAD 2.6.19.2 +\n\u003e \u003e     BAD 2.6.20-rc5\n\u003e \u003e\n\u003e \u003e NOTE: 2.6.18-1.2869.fc6 is a Fedora modified kernel, all others are from kernel.org\n\u003e \u003e\n...\n\u003e \u003e Steps to reproduce:\n\u003e \u003e Get a Adaptec AHA-2940U/UW/D / AIC-7881U card and a tape drive,\n\u003e \u003e install a recent kernel\n\u003e \u003e set the tape block size - mt setblk 4096\n\u003e \u003e read from or write to tape using wrong block size - tar -b 7 -cvf /dev/tape foo\n\u003e \u003e\nWrite does not trigger this bug because the driver refuses in fixed block\nmode writes that are not a multiple of the block size. Read does trigger\nit in my system.\n\nThe bug is not associated with any specific HBA. st tries to do direct i/o\nin fixed block mode with reads that are not a multiple of tape block size.\n\nThe patch in this message fixes the st problem by switching to using the\ndriver buffer up to the next close of the device file in fixed block mode\nif the user asks for a read like this.\n\nI don\u0027t know why the bug has surfaced only after 2.6.17 although the st\nproblem is old. There may be another bug in the block subsystem and this\npatch works around it. However, the patch fixes a problem in st and in\nthis way it is a valid fix.\n\nThis patch may also fix the bug 7900.\n\nThe patch compiles and is lightly tested.\n\nSigned-off-by: Kai Makisara \u003ckai.makisara@kolumbus.fi\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e016e0906e1a99aa2a26728e3b9238213aafd97b",
      "old_mode": 33188,
      "old_path": "drivers/scsi/st.c",
      "new_id": "fba8b204e3104a8897170f556d84c36c85b6db0e",
      "new_mode": 33188,
      "new_path": "drivers/scsi/st.c"
    },
    {
      "type": "modify",
      "old_id": "05a5cae126ec06e8c75c632821f8a6d8548236eb",
      "old_mode": 33188,
      "old_path": "drivers/scsi/st.h",
      "new_id": "50f3deb1f9ed92fcaf06bcc8c62329e966db8750",
      "new_mode": 33188,
      "new_path": "drivers/scsi/st.h"
    }
  ]
}
