)]}'
{
  "log": [
    {
      "commit": "1edee60e9d994f2b9a79b1333be39790683541fe",
      "tree": "f180358d478d5f9366267afd8c9ff2104a2cb930",
      "parents": [
        "a7bbd20b50fb12b3a604c396b3d8a3449a43edcc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "message": "ide: merge flagged_taskfile() into do_rw_taskfile()\n\nBased on the earlier work by Tejun Heo.\n\ntask-\u003edata_phase \u003d\u003d TASKFILE_MULTI_{IN,OUT} vs drive-\u003emult_count \u003d\u003d 0\ncheck is needed also for ide_taskfile_ioctl() requests that don\u0027t have\nIDE_TFLAG_FLAGGED taskfile flag set.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a7bbd20b50fb12b3a604c396b3d8a3449a43edcc",
      "tree": "aa71ed012ed9dc627fd607e262fa8993d01a4815",
      "parents": [
        "cf77249ee1a37aab37f39ea1dde9a53c23693655"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "message": "ide-disk: guarantee 400ns delay after writing command register\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cf77249ee1a37aab37f39ea1dde9a53c23693655",
      "tree": "0e980426d5821e700230be3549517d494dc792be",
      "parents": [
        "7c0e26661dd104aaeb1391063cc986ddc0ac4aa4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "message": "ide-disk: fix __ide_do_rw_disk() to use -\u003eOUTBSYNC\n\nFix __ide_do_rw_disk() to use -\u003eOUTBSYNC instead of -\u003eOUTB\n(needed for pmac and scc_pata host drivers).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7c0e26661dd104aaeb1391063cc986ddc0ac4aa4",
      "tree": "979e1d72ba8ba383bf195bb0cb5711c90d861c7d",
      "parents": [
        "866e2ec9ce525de0e7c10d02ead8d85af27adffd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "sc1200: remove pointless hwif lookup loop\n\nSave PCI regs values for both IDE ports in one buffer, in order to eliminate\na needless and ugly loop across all hwifs, searching for our PCI device.\n\nPartially based on the previous patch by Jeff Garzik.\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "866e2ec9ce525de0e7c10d02ead8d85af27adffd",
      "tree": "a8bdbcd6405bc9eb5aecaeb68fdcf899e205401c",
      "parents": [
        "ac026ff254b32915bb14ba97a23b4019d137f181"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove \u0027tf_in_flags\u0027 field from ide_task_t\n\n* Add IDE_TFLAG_IN_DATA taskfile flag to indicate the need of reading\n  IDE_DATA_REG in ide_end_drive_cmd().\n\n  Set the new flag in ide_taskfile_ioctl() if -\u003ein_flags.b.data is set.\n\n* Add IDE_TFLAG_FLAGGED_SET_IN_FLAGS taskfile flag to indicate the\n  need of modifying -\u003ein_flags in ide_taskfile_ioctl().\n\n  Set the new flag in flagged_taskfile() and move the code modifying\n  -\u003etf_in_flags to ide_taskfile_ioctl().\n\n  While at it remove the bogus comment: -\u003etf_in_flags (except .b.data)\n  have no effect on selection of registers to read.\n\n* Remove no longer needed \u0027tf_in_flags\u0027 field from ide_task_t.\n\nAs the result we finally have the internals of HDIO_DRIVE_TASKFILE ioctl\nseparated from the core IDE code.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ac026ff254b32915bb14ba97a23b4019d137f181",
      "tree": "ab5687be210c4016d16fae7a8e51bfc1c41c4c42",
      "parents": [
        "7299a3918442dc9a5abb71b9f65b1dd17637c8c0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove \u0027command_type\u0027 field from ide_task_t\n\n* Add \u0027data_buf\u0027 and \u0027nsect\u0027 variables in ide_taskfile_ioctl()\n  to cache data buffer pointer and number of sectors to transfer\n  (this allows us to have only one ide_diag_taskfile() call).\n\n* Add IDE_TFLAG_WRITE taskfile flag and use it to check whether\n  the REQ_RW request flag should be set.\n\n* Move -\u003ecommand_type handling from ide_diag_taskfile() to\n  ide_taskfile_ioctl() and use -\u003ereq_cmd instead of -\u003ecommand_type.\n\n* Add \u0027nsect\u0027 parameter to ide_raw_taskfile().\n\n* Merge ide_diag_taskfile() into ide_raw_taskfile().\n\n* Initialize -\u003edata_phase explicitly in idedisk_prepare_flush(),\n  ide_start_power_step() and ide_disk_special().\n\n* Remove no longer needed \u0027command_type\u0027 field from ide_task_t.\n\n* Add #ifndef/#endif __KERNEL__ to \u003clinux/hdreg.h\u003e around no\n  longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7299a3918442dc9a5abb71b9f65b1dd17637c8c0",
      "tree": "50ace6bed3d1cc73a184270743d5c5d46ab4f2c7",
      "parents": [
        "f919790f8c929ab1b392ad1a0c2e1b53337b5071"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove hwif-\u003eintrproc\n\nGiven that:\n\n* hpt366.c::hpt3xx_intrproc() is the only user of hwif-\u003eintrproc\n\n* hpt366.c::hpt3xx_quirkproc() sets drive-\u003equirk_list to 1 for quirky drives\n  which is a value unique to hpt366 host driver\n\nwe can remove hwif-\u003eintproc and just check for drive-\u003equirk_list \u003d\u003d 1\nin ide_do_request().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f919790f8c929ab1b392ad1a0c2e1b53337b5071",
      "tree": "3b81af4512e5e4232af74f1bb1df6ede9a19a5fb",
      "parents": [
        "cd3dbc99da337f2130f3cb2691fbb65c8bf22337"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: remove SELECT_INTERRUPT()\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cd3dbc99da337f2130f3cb2691fbb65c8bf22337",
      "tree": "c50ae590f17dc7f68d884b0f02c09c860c76c0e3",
      "parents": [
        "2fc573881957337c4ea1c84b92d2f27d076cad57"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: remove QUIRK_LIST()\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2fc573881957337c4ea1c84b92d2f27d076cad57",
      "tree": "790726063934a7ea8c384f2314d44bc03b22f779",
      "parents": [
        "932aead6d21b631b2058255981824008a6eae32e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: add ide_pktcmd_tf_load() helper\n\nAdd ide_pktcmd_tf_load() helper and convert ATAPI device drivers to use it.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "932aead6d21b631b2058255981824008a6eae32e",
      "tree": "9b5296135df4eec2878bc25e90631d4f784bdab7",
      "parents": [
        "3a6a3549afe7dfe212b6384106bec957bb393f3a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide-{floppy,tape,scsi}: fix register loading order when issuing packet command\n\nLoad IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command.\n\nIt shouldn\u0027t affect anything (just a usual paranoia to separate changes\nwhich change the way in which hardware is accessed from code cleanups).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3a6a3549afe7dfe212b6384106bec957bb393f3a",
      "tree": "b007158eb759fc0a9d3561a939d19acfc443efb9",
      "parents": [
        "8e7657ae0f56c14882e53ffdae8055c2b1624de1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide-cd: fix register loading order in cdrom_start_packet_command()\n\nLoad IDE_CONTROL_REG before other registers in cdrom_start_packet_command().\n\nIt shouldn\u0027t affect anything (just a usual paranoia to separate changes\nwhich change the way in which hardware is accessed from code cleanups).\n\nWhile at it move misplaced FIXME comment in the right place.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8e7657ae0f56c14882e53ffdae8055c2b1624de1",
      "tree": "93e8fbbf66d0a9f877b13d4534c6052713f3a268",
      "parents": [
        "790d1239898d4f893112280decd344d90f43ee96"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_ireason_t (take 3)\n\nRemove atapi_ireason_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027 (or just \u0027hwif\u0027 where possible)\n\nv2:\n* v1 had CD and IO bits reversed in many places.\n\n* Use CD and IO defines from \u003clinux/hdreg.h\u003e.\n\nv3:\n* Fix incorrect \"(ireason \u0026 IO) \u003d\u003d test_bit()\". (Noticed by Sergei)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "790d1239898d4f893112280decd344d90f43ee96",
      "tree": "a8ed2d8fedc4d62b28249d84db4c2904f738cbb3",
      "parents": [
        "e5f9f5a89a01abc2b9c09747452aeb9218d6bffd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove ata_nsector_t, ata_data_t and atapi_bcount_t\n\nRemove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027hwif\u0027\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e5f9f5a89a01abc2b9c09747452aeb9218d6bffd",
      "tree": "6a09f9be2ccbc27ef0baf0001719a70240c02537",
      "parents": [
        "0e38a66a1e69821ab57a06d5a7b11f0df9275bf4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_feature_t\n\nRemove atapi_feature_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027hwif\u0027\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0e38a66a1e69821ab57a06d5a7b11f0df9275bf4",
      "tree": "e287752203edfe30f3bdc5966eb8f4c91b508c45",
      "parents": [
        "22c525b976778cce5bb6f8fdcc70046168c54b1a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_error_t (take 2)\n\nRemove atapi_error_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027\n\nv2:\n* Add {ILI,EOM,LFS}_ERR defines to \u003clinux/hdreg.h\u003e.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "22c525b976778cce5bb6f8fdcc70046168c54b1a",
      "tree": "40ab6ef79aa8e059d55e8c55d19fdc4dfe7fdce3",
      "parents": [
        "6a2144146aa2e0eb60e48ba73ac0e1c51346edf6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: remove ata_status_t and atapi_status_t\n\nRemove ata_status_t (unused) and atapi_status_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027 (or just \u0027hwif\u0027 where possible)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6a2144146aa2e0eb60e48ba73ac0e1c51346edf6",
      "tree": "2fef7223ef38b8bd35b16b4006f6504370eb72c8",
      "parents": [
        "918337a85366ad0f1c4c08ebe45e4fb1e3a3c15f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: CPU endianness doesn\u0027t matter for special_t\n\nspecial_t is used only internally by the IDE subsystem (it isn\u0027t\nrelated to hardware registers and isn\u0027t exported to the user-space).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "918337a85366ad0f1c4c08ebe45e4fb1e3a3c15f",
      "tree": "6a129b9ef76358a84ae5f6d667e3f39617999fe7",
      "parents": [
        "29ed2a5f8c4380959f18e9cbaff13bc61e09889c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide-floppy: remove dead code\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "29ed2a5f8c4380959f18e9cbaff13bc61e09889c",
      "tree": "a248e118820c47d8286808643d42fcecd72e978e",
      "parents": [
        "14b89ef9814614f18a1fcae51e601e7e16a82ef7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: remove REQ_TYPE_ATA_TASK\n\nBased on the earlier work by Tejun Heo.\n\nAll users are gone so we can finally remove it.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "14b89ef9814614f18a1fcae51e601e7e16a82ef7",
      "tree": "5644683de9d1024594b22a129f368bf8c21c5e5a",
      "parents": [
        "813a0eb233ee67d7166241a8b389b6a76f2247f9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: switch ide_task_ioctl() to use REQ_TYPE_ATA_TASKFILE requests\n\nBased on the earlier work by Tejun Heo.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "813a0eb233ee67d7166241a8b389b6a76f2247f9",
      "tree": "846033daa66a3cdc7644ae94ef629b3817d9b33f",
      "parents": [
        "1f2564b8b56b305ab9acf5d387abca950180dff6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests\n\nBased on the earlier work by Tejun Heo.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1f2564b8b56b305ab9acf5d387abca950180dff6",
      "tree": "b0c939c2e1856fefe421bf0539168f72441e325d",
      "parents": [
        "a3bbb9d882dc94fe3a1361596ab9ce55d84059ea"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: extend timeout for REQ_TYPE_ATA_{CMD,TASK} requests\n\nExtend timeout for REQ_TYPE_ATA_{CMD,TASK} requests from WAIT_CMD (10sec)\nto WAIT_WORSTCASE (30sec, already used for REQ_TYPE_ATA_TASKFILE).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a3bbb9d882dc94fe3a1361596ab9ce55d84059ea",
      "tree": "b2b7af290b6300be00a2cbd6c5d0dba19905dc65",
      "parents": [
        "868e672ac8db650dde695a5707a6caf5a757e7d9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: remove unnecessary writes to HOB taskfile registers\n\n* Set taskfile flags for REQ_TYPE_ATA_TASKFILE requests before\n  adding the request to the queue.\n\n* Cleanup execute_drive_cmd().\n\n* Remove unnecessary writes to HOB taskfile registers when using\n  LBA48 disk for the following cases:\n\n  - Power Management requests\n    (WIN_FLUSH_CACHE[_EXT], WIN_STANDBYNOW1, WIN_IDLEIMMEDIATE commands)\n\n  - special commands (WIN_SPECIFY, WIN_RESTORE, WIN_SETMULT)\n\n  - Host Protected Area support (WIN_READ_NATIVE_MAX, WIN_SET_MAX)\n\n  - /proc/ide/ SMART support (WIN_SMART with SMART_ENABLE,\n    SMART_READ_VALUES and SMART_READ_THRESHOLDS subcommands)\n\n  - write cache enabling/disabling in ide-disk\n    (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_WCACHE)\n\n  - write cache flushing in ide-disk (WIN_FLUSH_CACHE[_EXT])\n\n  - acoustic management in ide-disk\n    (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_AAM)\n\n  - door (un)locking in ide-disk (WIN_DOORLOCK, WIN_DOORUNLOCK)\n\n  - /proc/ide/hd?/identify support (WIN_IDENTIFY)\n\n  - ACPI _GTF taskfiles\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "868e672ac8db650dde695a5707a6caf5a757e7d9",
      "tree": "90163ca8ef773fd4147e31da7de70e2e2b6acd37",
      "parents": [
        "807e35d695690011faa1ce3ad67dfc23c1e39bdc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests\n\n* Use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests in ide_end_drive_cmd()\n  to decide whether we need to read HOB taskfile registers.\n\n* Update execute_drive_cmd() accordingly.\n\nThis is a preparation for the next patch which removes unnecessary writes to\nHOB taskfile registers for some ATA commands.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "807e35d695690011faa1ce3ad67dfc23c1e39bdc",
      "tree": "4b9b8328ea27896ea6050a90949d79f6e158d573",
      "parents": [
        "54688aa372cbc83c4361bfb9236f9bfe02168e19"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: use ide_tf_load() in execute_drive_cmd()\n\n* Add IDE_TFLAG_OUT_DEVICE taskfile flag to indicate the need of writing\n  the Device register and handle it in ide_tf_load().\n\n  Update ide_tf_load() and {do_rw,flagged}_taskfile() users accordingly.\n\n* Use struct ide_taskfile and ide_tf_load() in execute_drive_cmd().\n\n* Make the debugging code dump all taskfile registers for both\n  REQ_ATA_TYPE_{CMD,TASK} requests and move it to ide_tf_load()\n  so it also covers REQ_ATA_TYPE_TASKFILE requests.\n\nThere should be no functionality changes caused by this patch\n(unless DEBUG is defined).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "54688aa372cbc83c4361bfb9236f9bfe02168e19",
      "tree": "35f17f7e5431823e784ae61722742bc6d122d479",
      "parents": [
        "21d535c91362a1a3bbb299b2e7214c1a6971ef95"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "message": "ide: remove ide_cmd() helper\n\n* Remove ide_cmd() helper.\n\n* Clear nIEN and call SELECT_MASK() before writing taskfile registers.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "21d535c91362a1a3bbb299b2e7214c1a6971ef95",
      "tree": "0f9cd3b473caec8d926770ba565b2e8261c289bd",
      "parents": [
        "6dd87233bccc6416dac3b78ac912fd017918efe6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "message": "ide: execute_drive_cmd() cleanup\n\n* Rename \u0027args\u0027 variable in \u0027if (rq-\u003ecmd_type \u003d\u003d REQ_TYPE_ATA_TASKFILE)\u0027\n  block to \u0027task\u0027.\n\n* execute_drive_cmd() is used only for REQ_TYPE_ATA_{CMD,TASK,TASKFILE} so\n  we can move the common code out from \u0027if (rq-\u003ecmd_type \u003d\u003d REQ_TYPE_ATA_CMD)\u0027\n  and \u0027if (rq-\u003ecmd_type \u003d\u003d REQ_TYPE_ATA_TASK)\u0027 blocks.\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6dd87233bccc6416dac3b78ac912fd017918efe6",
      "tree": "6d36a6288c863afb3ba34fc8c62ee6a3a3086954",
      "parents": [
        "46f26c362d5109459f04f99e93fc0413d88516c8"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "message": "ide: fix registers loading order for IDE_NSECTOR_REG in execute_drive_cmd()\n\nMove loading of IDE_NSECTOR_REG from ide_cmd() to execute_drive_cmd()\n(load the IDE_NSECTOR_REG just after IDE_FEATURE_REG).\n\nThis also allows us to drop \u0027nsect\u0027 argument from ide_cmd() and simplify\nexecute_drive_cmd() code for REQ_TYPE_ATA_CMD case a bit.\n\nIt shouldn\u0027t affect anything (just a usual paranoia to separate changes\nwhich change the way in which hardware is accessed from code cleanups).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "46f26c362d5109459f04f99e93fc0413d88516c8",
      "tree": "85587fec4a44c7bd6bdef3244edc8237821ab7c6",
      "parents": [
        "d3bb03438c58b2a00f07a59175d4156a9952d825"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:09 2008 +0100"
      },
      "message": "ide: fix registers loading order for WIN_SMART in execute_drive_cmd()\n\nFix registers loading order for REQ_TYPE_ATA_CMD request with WIN_SMART\ncommand in execute_drive_cmd() (load IDE_FEATURE_REG and IDE_SECTOR_REG\nbefore loading IDE_LCYL_REG and IDE_HCYL_REG).\n\nIt shouldn\u0027t affect anything (just a usual paranoia to separate changes\nwhich change the way in which hardware is accessed from code cleanups).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d3bb03438c58b2a00f07a59175d4156a9952d825",
      "tree": "23bbef53b6b778d66676dee0f1c5b964933da5c2",
      "parents": [
        "4ee06b7e677da4c75f2fcc5fd850543852d18bf2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "message": "ide-tape: remove dead USE_IOTRACE code\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4ee06b7e677da4c75f2fcc5fd850543852d18bf2",
      "tree": "0c7c4b1e2be3179cc25e95f4148577cd9047e398",
      "parents": [
        "f1ca6d37f991347b87d86430db42e2ab139d1b1d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "message": "ide: remove stale ide.h \"configuration options\"\n\nRemove stale ide.h \"configuration options\":\n\n* INITIAL_MULT_COUNT - always defined to 0\n\n* SUPPORT_SLOW_DATA_PORTS - unused\n\n* OK_TO_RESET_CONTROLLER - always defined to 1\n\n* DISABLE_IRQ_NOSYNC - always defined to 0\n\nLeave SUPPORT_VLB_SYNC (defined to 0 for CRIS and FRV, otherwise to 1)\nfor now but disallow overriding it by \u003casm/ide.h\u003e.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f1ca6d37f991347b87d86430db42e2ab139d1b1d",
      "tree": "2d18b6a9098a8a4c10f746d7ddc43dcf8e587728",
      "parents": [
        "7b5da4be3718c6b4cd771fb82e3e481b04790f0e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "message": "ide: remove CONFIG_IDEPCI_SHARE_IRQ config option\n\nWe can safely remove CONFIG_IDEPCI_SHARE_IRQ and always support\nPCI IRQ sharing.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7b5da4be3718c6b4cd771fb82e3e481b04790f0e",
      "tree": "f3b0cb74ae90d64e80bb1ea29ef29d1a13745e2d",
      "parents": [
        "d26805fd025abe1ab8785b23a7942cfb6ceffd75"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "message": "ide: remove IRQF_DISABLED from IRQ flags for IDE IRQ handler\n\nIRQF_DISABLED is not needed because the first thing that ide_intr()\n(IDE IRQ handler) does is calling spin_lock_irqsave() which disables\nlocal IRQs (IRQ unmasking is later handled by drive-\u003eunmask).\n\nkernel/irq/handle.c:\n\nirqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)\n...\n\tif (!(action-\u003eflags \u0026 IRQF_DISABLED))\n\t\tlocal_irq_enable_in_hardirq();\n\n\tdo {\n\t\tret \u003d action-\u003ehandler(irq, action-\u003edev_id);\n\t\tif (ret \u003d\u003d IRQ_HANDLED)\n\t\t\tstatus |\u003d action-\u003eflags;\n\t\tretval |\u003d ret;\n\t\taction \u003d action-\u003enext;\n\t} while (action);\n...\n\ndrivers/ide/ide-io.c:\n\nirqreturn_t ide_intr (int irq, void *dev_id)\n...\n\tspin_lock_irqsave(\u0026ide_lock, flags);\n...\n\tspin_unlock(\u0026ide_lock);\n...\n\tif (drive-\u003eunmask)\n\t\tlocal_irq_enable_in_hardirq();\n...\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d26805fd025abe1ab8785b23a7942cfb6ceffd75",
      "tree": "8073aed22acd6865c4bf4c6a6e5a016295c6998a",
      "parents": [
        "74095a91ed02f6727b62d4416be00a041f2d7436"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide-pmac: fix pmac_ide_init_hwif_ports()\n\n* pmac_ide_init_hwif_ports() can be called by ide_init_hwif_ports()\n  (through ppc_ide_md.ide_init_hwif hook) for non IDE PMAC interfaces.\n  If this is the case the hw-\u003eio_ports[] should be already setup by\n  ide_init_hwif_ports()-\u003eide_std_init_ports() so remove redundant code\n  from pmac_ide_init_hwif_ports().\n\n  As side-effect this change fixes ctl_addr \u003d\u003d 0 special handling in\n  ide_init_hwif_ports().\n\n* Fix misleading comment while at it.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "74095a91ed02f6727b62d4416be00a041f2d7436",
      "tree": "033cc52877103739c5b55a2cfdd3bfaf6996d5d3",
      "parents": [
        "9a3c49be5c5f7388eefb712be9a383904140532e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: use do_rw_taskfile() in flagged_taskfile()\n\nBased on the earlier work by Tejun Heo.\n\n* Move setting IDE_TFLAG_LBA48 taskfile flag from do_rw_taskfile()\n  function to the callers.\n\n* Add IDE_TFLAG_FLAGGED taskfile flag for flagged taskfiles coming\n  from ide_taskfile_ioctl().  Check it instead of -\u003etf_out_flags.all.\n\n* Add IDE_TFLAG_OUT_DATA taskfile flag to indicate the need to load\n  IDE data register in ide_tf_load().\n\n* Add IDE_TFLAG_OUT_* taskfile flags to indicate the need to load\n  particular IDE taskfile registers in ide_tf_load().\n\n* Update do_rw_taskfile() and ide_tf_load() users to set respective\n  IDE_TFLAG_OUT_* taksfile flags.\n\n* Add task_dma_ok() helper.\n\n* Use IDE_TFLAG_FLAGGED taskfile flag to select HIHI mask in ide_tf_load().\n\n* Use do_rw_taskfile() in flagged_taskfile().\n\n* Remove no longer needed \u0027tf_out_flags\u0027 field from ide_task_t.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9a3c49be5c5f7388eefb712be9a383904140532e",
      "tree": "5dc16604e155dcc6c14e65dc3cfce8605f2c8f82",
      "parents": [
        "9e42237f26cf517a3f682505f03a3a8d89b3b35d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: add ide_no_data_taskfile() helper\n\n* Add ide_no_data_taskfile() helper and convert ide_raw_taskfile() w/ NO DATA\n  protocol users to use it instead.\n\n* Set -\u003edata_phase explicitly in ide_no_data_taskfile()\n  (TASKFILE_NO_DATA is defined as 0x0000).\n\n* Unexport task_no_data_intr().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9e42237f26cf517a3f682505f03a3a8d89b3b35d",
      "tree": "93b94dd8e1b1d9e257ed3ef84682bf4c0a22ad11",
      "parents": [
        "2bd06b23e2a099abbf550202f62cd433e01f83e7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: add ide_tf_load() helper\n\nBased on the earlier work by Tejun Heo.\n\n* Add \u0027tf_flags\u0027 field (for taskfile flags) to ide_task_t.\n\n* Add IDE_TFLAG_LBA48 taskfile flag for LBA48 taskfiles.\n\n* Add IDE_TFLAG_NO_SELECT_MASK taskfile flag for __ide_do_rw_disk()\n  which doesn\u0027t use SELECT_MASK() (looks like a bug but it requires\n  some more investigation).\n\n* Split off ide_tf_load() helper from do_rw_taskfile().\n\n* Convert __ide_do_rw_disk() to use ide_tf_load().\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2bd06b23e2a099abbf550202f62cd433e01f83e7",
      "tree": "4398eefdff59ee14d9a5783222e08e8bf21f4423",
      "parents": [
        "d00e42dd26bbda6a39aead6a47c59221e03a08f8"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide-disk: use struct ide_taskfile in __ide_do_rw_disk()\n\nBased on the earlier work by Tejun Heo.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d00e42dd26bbda6a39aead6a47c59221e03a08f8",
      "tree": "5aac741e8318f52f6fde8a3b180a774bf355719c",
      "parents": [
        "7a3b7512d0d7e78353e99f4538eb6d3354019d92"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide-disk: fix taskfile registers loading order in __ide_do_rw_disk()\n\nLoad IDE_SECTOR_REG after IDE_FEATURE_REG and IDE_NSECTOR_REG when using CHS.\n\nThis patch is basically a preparation for the next one which converts\n__ide_do_rw_disk() to use struct ide_taskfile.\n\nIt shouldn\u0027t affect anything (just a usual paranoia to separate changes\nwhich change the way in which hardware is accessed from code cleanups).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7a3b7512d0d7e78353e99f4538eb6d3354019d92",
      "tree": "678b3fee02297f3dea5df8182198ecd701e69649",
      "parents": [
        "650d841d9e053a618dd8ce753422f91b493cf2f6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide-disk: merge LBA28 and LBA48 Host Protected Area support code (take 2)\n\n* Merge idedisk_{read_native,set}_max_address_ext() into\n  idedisk_{read_native,set}_max_address().\n\nv2:\n* Remove LBA48 code leftover from idedisk_read_native_max_address()\n  (\u0027high\u0027 variable initialization).  (Noticed by Sergei).\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "650d841d9e053a618dd8ce753422f91b493cf2f6",
      "tree": "70f81acbf856e4a4d8126bdf6d60144b374cc1a9",
      "parents": [
        "cd2a2d969761c26542095c01324201ca0b3ee896"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide: add struct ide_taskfile (take 2)\n\n* Don\u0027t set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]\n  in idedisk_set_max_address_ext().\n\n* Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]\n  and hobRegister[].\n\n* Remove no longer needed IDE_CONTROL_OFFSET_HOB define.\n\n* Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.\n\nWhile at it:\n\n* Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.\n\nv2:\n* Add missing newlines. (Noticed by Sergei)\n\n* Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)\n\n* Use unnamed unions for error/feature and status/command.\n  (Suggested by Sergei).\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cd2a2d969761c26542095c01324201ca0b3ee896",
      "tree": "fa95d329ac2f2ae3fca30833b8b0ec91aefbd243",
      "parents": [
        "1c029fd658baa2442e8e51dc9c819301cad95777"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide: remove task_ioreg_t typedef (take 2)\n\nRemove task_ioreg_t typedef from the kernel code (but leave it\nin \u003clinux/hdreg.h\u003e for #ifndef/#endif __KERNEL__ case).\n\nWhile at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__.\n\nv2:\nRemove name of the second parameter from ide_execute_command() declaration.\n(Noticed by Sergei).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1c029fd658baa2442e8e51dc9c819301cad95777",
      "tree": "fbbfe6bb774001c9346ea0f772e5f4b0d469b989",
      "parents": [
        "866664d79f6a920af07e6503f64366f4c5b2d41f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "message": "ide: remove -\u003edma_master field from ide_hwif_t (take 5)\n\n* Convert cmd64x, hpt366 and pdc202xx_old host drivers to use\n  pci_resource_start(hwif-\u003epci_dev, 4) instead of hwif-\u003edma_master.\n\n* Remove no longer needed -\u003edma_master field from ide_hwif_t.\n\nv2:\n* Use the more readable \u0027hwif-\u003edma_base - (hwif-\u003echannel * 8)\u0027 instead of\n  pci_resource_start(hwif-\u003epci_dev, 4).\n\nv3:\n* Use hwif-\u003eextra_base in hpt366/pdc20xx_old + some cosmetic fixups over v2\n  (suggested by Sergei).\n\nv4:\n* Correct offsets in hpt3xxn_set_clock().\n\nv5:\n* Use hwif-\u003eextra_base in hpt366 for _real_ this time. (Noticed by Sergei)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "866664d79f6a920af07e6503f64366f4c5b2d41f",
      "tree": "74a6b06d79be8f3b0bb195657c37b386a21ac9cf",
      "parents": [
        "a488f34e0dc7180f35fe48a60596fc82fe69d3ef"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "message": "hpt366: merge set_dma_mode() methods\n\nGroup the array of pointers to the timing tables with the timing register masks\nwhich allows us to merge HPT36x/HPT37x set_dma_mode() methods into one.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a488f34e0dc7180f35fe48a60596fc82fe69d3ef",
      "tree": "ad3f6781f451652d6211f2f96886ee49acf59109",
      "parents": [
        "ceb1b2c583a9503e3ae68c4e7c652637971e3768"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "message": "hpt366: kill set_dma_mode() method wrapper\n\nThere\u0027s no reason to keep the set_dma_mode() method wrapper for two different\nchip families, so get rid of it...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ceb1b2c583a9503e3ae68c4e7c652637971e3768",
      "tree": "dd4893e9e8e643aa80ce991af2d99683af67e60b",
      "parents": [
        "b5e1a4e2869af5ffaa102535ad63d184d86e66ec"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jan 25 22:17:04 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:04 2008 +0100"
      },
      "message": "hpt366: change timing register masks\n\nSince PIO autotuning is now done always, there\u0027s no need anymore to program\nthe taskfile timings also on DMA modes, so change the IDE timing register\nmasks accordingly, \"inverting the polarity\" of the masks while at it...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b5e1a4e2869af5ffaa102535ad63d184d86e66ec",
      "tree": "4a4c5aa628126c0ef91e7427cc3f7b51c54efa75",
      "parents": [
        "b47711bfbcd4eb77ca61ef0162487b20e023ae55"
      ],
      "author": {
        "name": "Aristeu Rozanski",
        "email": "arozansk@redhat.com",
        "time": "Fri Jan 25 22:17:04 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:04 2008 +0100"
      },
      "message": "ide-io: set REQ_FAILED when drive is dead\n\nCurrently it\u0027s possible to ide-cd to set an incorrect blocksize by\nreading garbage if the drive is dead:\n\nide_cd_probe()\n -\u003e cdrom_read_toc()\n     -\u003e cdrom_read_capacity()\n         -\u003e cdrom_queue_packet_command()\n             -\u003e ide_do_drive_cmd()\n                 -\u003e ide_do_request()\n                     -\u003e start_request()\n\non start_request():\n\n        /* bail early if we\u0027ve exceeded max_failures */\n        if (drive-\u003emax_failures \u0026\u0026 (drive-\u003efailures \u003e drive-\u003emax_failures)) {\n                goto kill_rq;\n        }\n(...)\nkill_rq:\n        ide_kill_rq(drive, rq);\n        return ide_stopped;\n\nide_kill_rq() and the next calls won\u0027t set REQ_FAILED on rq-\u003ecmd_flags and thus\ncdrom_queue_packet_command() won\u0027t return an error. then:\n\n        stat \u003d cdrom_queue_packet_command(drive, \u0026req);\n        if (stat \u003d\u003d 0) {\n                *capacity \u003d 1 + be32_to_cpu(capbuf.lba);\n                *sectors_per_frame \u003d\n                        be32_to_cpu(capbuf.blocklen) \u003e\u003e SECTOR_BITS;\n        }\n\ncdrom_read_capacity() ends believing capbuf is valid but in fact it\u0027s just\nuninitialized data. back to cdrom_read_toc():\n\n        /* Try to get the total cdrom capacity and sector size. */\n        stat \u003d cdrom_read_capacity(drive, \u0026toc-\u003ecapacity, \u0026sectors_per_frame,\n                                   sense);\n        if (stat)\n                toc-\u003ecapacity \u003d 0x1fffff;\n\n        set_capacity(info-\u003edisk, toc-\u003ecapacity * sectors_per_frame);\n        /* Save a private copy of te TOC capacity for error handling */\n        drive-\u003eprobed_capacity \u003d toc-\u003ecapacity * sectors_per_frame;\n\n        blk_queue_hardsect_size(drive-\u003equeue,\n                                sectors_per_frame \u003c\u003c SECTOR_BITS);\n\nthat will set drive-\u003equeue-\u003ehardsect_size to be the random value.\nhardsect_size is used to calculate inode-\u003ei_blkbits. later on, on a read\npath:\n\nvoid create_empty_buffers(struct page *page,\n                        unsigned long blocksize, unsigned long b_state)\n{       \n        struct buffer_head *bh, *head, *tail;\n\n        head \u003d alloc_page_buffers(page, blocksize, 1);\n        bh \u003d head;\n        do {    \n                bh-\u003eb_state |\u003d b_state;\n                tail \u003d bh;\n                bh \u003d bh-\u003eb_this_page;\n        } while (bh);\n        tail-\u003eb_this_page \u003d head;\n\nalloc_page_buffers() will return NULL if blocksize \u003e 4096. blocksize is\ncalculed based on inode-\u003ei_blkbits. that will trigger a null\ndereference on create_empty_buffers().\n\nSigned-off-by: Aristeu Rozanski \u003carozansk@redhat.com\u003e\nCc: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b47711bfbcd4eb77ca61ef0162487b20e023ae55",
      "tree": "b2a695dbd40f7ca2333664cf946ef34eda7b7dba",
      "parents": [
        "7556afa0e0e436cad4f560ee83e5fbd5dac9359a",
        "2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  selinux: make mls_compute_sid always polyinstantiate\n  security/selinux: constify function pointer tables and fields\n  security: add a secctx_to_secid() hook\n  security: call security_file_permission from rw_verify_area\n  security: remove security_sb_post_mountroot hook\n  Security: remove security.h include from mm.h\n  Security: remove security_file_mmap hook sparse-warnings (NULL as 0).\n  Security: add get, set, and cloning of superblock security information\n  security/selinux: Add missing \"space\"\n"
    },
    {
      "commit": "7556afa0e0e436cad4f560ee83e5fbd5dac9359a",
      "tree": "c1500918b4b7c8b760feab1c8eeb8a815d2135ca",
      "parents": [
        "e07dd2ad305f6b29b47d713600aa8b722ef2a9f7",
        "d6c49a7a78fc841418bbd58bda504076f80ec51d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:40:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:40:02 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  [AVR32] extint: Set initial irq type to low level\n  [AVR32] extint: change set_irq_type() handling\n  [AVR32] NMI debugging\n  [AVR32] constify function pointer tables\n  [AVR32] ATNGW100: Update defconfig\n  [AVR32] ATSTK1002: Update defconfig\n  [AVR32] Kconfig: Choose daughterboard instead of CPU\n  [AVR32] Add support for ATSTK1003 and ATSTK1004\n  [AVR32] Clean up external DAC setup code\n  [AVR32] ATSTK1000: Move gpio-leds setup to setup.c\n  [AVR32] Add support for AT32AP7001 and AT32AP7002\n  [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg\n  [AVR32] Oprofile support\n  [AVR32] Include instrumentation menu\n  Disable VGA text console for AVR32 architecture\n  [AVR32] Enable debugging only when needed\n  ptrace: Call arch_ptrace_attach() when request\u003dPTRACE_TRACEME\n  [AVR32] Remove redundant try_to_freeze() call from do_signal()\n  [AVR32] Drop GFP_COMP for DMA memory allocations\n"
    },
    {
      "commit": "e07dd2ad305f6b29b47d713600aa8b722ef2a9f7",
      "tree": "4815808e538ec625bf2766b1eb9d91c7b3beaead",
      "parents": [
        "eba0e319c12fb098d66316a8eafbaaa9174a07c3",
        "7bc5c414fe6627ec518c82d154c796f0981f5b02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:39:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:39:18 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (56 commits)\n  [GFS2] Allow journal recovery on read-only mount\n  [GFS2] Lockup on error\n  [GFS2] Fix page_mkwrite truncation race path\n  [GFS2] Fix typo\n  [GFS2] Fix write alloc required shortcut calculation\n  [GFS2] gfs2_alloc_required performance\n  [GFS2] Remove unneeded i_spin\n  [GFS2] Reduce inode size by moving i_alloc out of line\n  [GFS2] Fix assert in log code\n  [GFS2] Fix problems relating to execution of files on GFS2\n  [GFS2] Initialize extent_list earlier\n  [GFS2] Allow page migration for writeback and ordered pages\n  [GFS2] Remove unused variable\n  [GFS2] Fix log block mapper\n  [GFS2] Minor correction\n  [GFS2] Eliminate the no longer needed sd_statfs_mutex\n  [GFS2] Incremental patch to fix compiler warning\n  [GFS2] Function meta_read optimization\n  [GFS2] Only fetch the dinode once in block_map\n  [GFS2] Reorganize function gfs2_glmutex_lock\n  ...\n"
    },
    {
      "commit": "eba0e319c12fb098d66316a8eafbaaa9174a07c3",
      "tree": "b2703117db9e36bb3510654efd55361f61c54742",
      "parents": [
        "df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e",
        "15e7b4452b72ae890f2fcb027b4c4fa63a1c9a7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (125 commits)\n  [CRYPTO] twofish: Merge common glue code\n  [CRYPTO] hifn_795x: Fixup container_of() usage\n  [CRYPTO] cast6: inline bloat--\n  [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long\n  [CRYPTO] tcrypt: Make xcbc available as a standalone test\n  [CRYPTO] xcbc: Remove bogus hash/cipher test\n  [CRYPTO] xcbc: Fix algorithm leak when block size check fails\n  [CRYPTO] tcrypt: Zero axbuf in the right function\n  [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation\n  [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h\n  [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20\n  [CRYPTO] tcrypt: Add select of AEAD\n  [CRYPTO] salsa20: Add x86-64 assembly version\n  [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version)\n  [CRYPTO] gcm: Introduce rfc4106\n  [CRYPTO] api: Show async type\n  [CRYPTO] chainiv: Avoid lock spinning where possible\n  [CRYPTO] seqiv: Add select AEAD in Kconfig\n  [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy\n  [CRYPTO] null: Allow setkey on digest_null \n  ...\n"
    },
    {
      "commit": "df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e",
      "tree": "bc3799a43e8b94fa84b32e37b1c124d5e4868f50",
      "parents": [
        "556a169dab38b5100df6f4a45b655dddd3db94c1",
        "4a3ad20ccd8f4d2a0535cf98fa83f7b561ba59a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:34:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:35:13 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\nThis can be broken down into these major areas:\n - Documentation updates (language translations and fixes, as\n   well as kobject and kset documenatation updates.)\n - major kset/kobject/ktype rework and fixes.  This cleans up the\n   kset and kobject and ktype relationship and architecture,\n   making sense of things now, and good documenation and samples\n   are provided for others to use.  Also the attributes for\n   kobjects are much easier to handle now.  This cleaned up a LOT\n   of code all through the kernel, making kobjects easier to use\n   if you want to.\n - struct bus_type has been reworked to now handle the lifetime\n   rules properly, as the kobject is properly dynamic.\n - struct driver has also been reworked, and now the lifetime\n   issues are resolved.\n - the block subsystem has been converted to use struct device\n   now, and not \"raw\" kobjects.  This patch has been in the -mm\n   tree for over a year now, and finally all the issues are\n   worked out with it.  Older distros now properly work with new\n   kernels, and no userspace updates are needed at all.\n - nozomi driver is added.  This has also been in -mm for a long\n   time, and many people have asked for it to go in.  It is now\n   in good enough shape to do so.\n - lots of class_device conversions to use struct device instead.\n   The tree is almost all cleaned up now, only SCSI and IB is the\n   remaining code to fix up...\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (196 commits)\n  Driver core: coding style fixes\n  Kobject: fix coding style issues in kobject c files\n  Kobject: fix coding style issues in kobject.h\n  Driver core: fix coding style issues in device.h\n  spi: use class iteration api\n  scsi: use class iteration api\n  rtc: use class iteration api\n  power supply : use class iteration api\n  ieee1394: use class iteration api\n  Driver Core: add class iteration api\n  Driver core: Cleanup get_device_parent() in device_add() and device_move()\n  UIO: constify function pointer tables\n  Driver Core: constify the name passed to platform_device_register_simple\n  driver core: fix build with SYSFS\u003dn\n  sysfs: make SYSFS_DEPRECATED depend on SYSFS\n  Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init\n  kobject: add sample code for how to use ksets/ktypes/kobjects\n  kobject: add sample code for how to use kobjects in a simple manner.\n  kobject: update the kobject/kset documentation\n  kobject: remove old, outdated documentation.\n  ...\n"
    },
    {
      "commit": "556a169dab38b5100df6f4a45b655dddd3db94c1",
      "tree": "c7788980db8dfb401dd4cf28f4445e1ab98f51d2",
      "parents": [
        "eb36f4fc019835cecf0788907f6cab774508087b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jan 25 08:20:51 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:30:36 2008 -0800"
      },
      "message": "slab: fix bootstrap on memoryless node\n\nIf the node we\u0027re booting on doesn\u0027t have memory, bootstrapping kmalloc()\ncaches resorts to fallback_alloc() which requires -\u003enodelists set for all\nnodes.  Fix that by calling set_up_list3s() for CACHE_CACHE in\nkmem_cache_init().\n\nAs kmem_getpages() is called with GFP_THISNODE set, this used to work before\nbecause of breakage in 2.6.22 and before with GFP_THISNODE returning pages from\nthe wrong node if a node had no memory. So it may have worked accidentally and\nin an unsafe manner because the pages would have been associated with the wrong\nnode which could trigger bug ons and locking troubles.\n\nTested-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Olaf Hering \u003colaf@aepfle.de\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n[ With additional one-liner by Olaf Hering  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb36f4fc019835cecf0788907f6cab774508087b",
      "tree": "b834e3213c822735006c25f0c4f6e4ed6cafc181",
      "parents": [
        "49914084e797530d9baaf51df9eda77babc98fa8"
      ],
      "author": {
        "name": "Karsten Keil",
        "email": "kkeil@suse.de",
        "time": "Fri Jan 25 11:55:28 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:26:10 2008 -0800"
      },
      "message": "fix oops on rmmod capidrv\n\nFix overwriting the stack with the version string\n(it is currently 10 bytes + zero) when unloading the\ncapidrv module. Safeguard against overwriting it\nshould the version string grow in the future.\n\nShould fix Kernel Bug Tracker Bug 9696.\n\nSigned-off-by: Gerd v. Egidy \u003cgerd.von.egidy@intra2net.com\u003e\nAcked-by: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bc5c414fe6627ec518c82d154c796f0981f5b02",
      "tree": "affd4857934df6c86b6fde572de0370700e6fe9a",
      "parents": [
        "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Jan 18 14:06:37 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:22 2008 +0000"
      },
      "message": "[GFS2] Allow journal recovery on read-only mount\n\nThis patch allows gfs2 to perform journal recovery even if it is mounted\nread-only. Strictly speaking, a read-only mount should not be writing to\nthe filesystem, but we do this only to perform journal recovery. A\nread-only mount will fail if we don\u0027t recover the dirty journal. Also,\nwhen gfs2 is used as a root filesystem, it will be mounted read-only\nbefore being mounted read-write during the boot sequence. A failed\nread-only mount will panic the machine during bootup.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489",
      "tree": "f0bd7d9446dd5d6a90eada749ebb129caa4c6c0a",
      "parents": [
        "b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Sat Jan 19 21:50:24 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:04 2008 +0000"
      },
      "message": "[GFS2] Lockup on error\n\nI spotted this bug while I was digging around.  Looks like it could cause\na lockup in some rare error condition.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb",
      "tree": "4a5d141ffd4ae77dc6ce1a47b0bb8ce9d6d7c685",
      "parents": [
        "3e5cd0877e6d2f059dc36b8206cb7e93938151db"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 17 15:12:03 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:20:15 2008 +0000"
      },
      "message": "[GFS2] Fix page_mkwrite truncation race path\n\nThere was a bug in the truncation/invalidation race path for\n-\u003epage_mkwrite for gfs2. It ought to return 0 so that the effect is the\nsame as if the page was truncated at any of the other points at which\nthe page_lock is dropped. This will result in the restart of the whole\npage fault path. If it was due to a real truncation (as opposed to an\ninvalidate because we let a glock go) then the -\u003efault path will pick\nthat up when it gets called again.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3e5cd0877e6d2f059dc36b8206cb7e93938151db",
      "tree": "ac4de94b84c94d06864c7256bbc50dd264a62998",
      "parents": [
        "1af535727bbf68e1da7ac232de47315da4c66ade"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Jan 16 08:45:39 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:51 2008 +0000"
      },
      "message": "[GFS2] Fix typo\n\nThis patch fixes a minor typo.  Surprisingly, it still compiled.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1af535727bbf68e1da7ac232de47315da4c66ade",
      "tree": "ab24a9bc1271179fdae558d4f66e7ee0e401ce4c",
      "parents": [
        "05220535196d413db434527a3edcba79b7187df8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 16 14:24:05 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:28 2008 +0000"
      },
      "message": "[GFS2] Fix write alloc required shortcut calculation\n\nThe comparison was being made against the wrong quantity.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "05220535196d413db434527a3edcba79b7187df8",
      "tree": "5811b6f1caeac55102afb993f0b1538bbe9ed2b8",
      "parents": [
        "598278bd4808ed81b0e6fa445458a7d549f72a32"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Jan 11 13:44:50 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:03 2008 +0000"
      },
      "message": "[GFS2] gfs2_alloc_required performance\n\nThis is a small I/O performance enhancement to gfs2.  (Actually, it is a rework of\nan earlier version I got wrong).  The idea here is to check if the write extends\npast the last block in the file.  If so, the function can save itself a lot of\ntime and trouble because it knows an allocate will be required.  Benchmarks like\niozone should see better performance.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "598278bd4808ed81b0e6fa445458a7d549f72a32",
      "tree": "92a49c8fc86b2d87e853cc5a5c5407d1c8d6ae7e",
      "parents": [
        "6dbd822487d0a9f14432cb4680415b80656b63a2"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Jan 11 13:31:12 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:44 2008 +0000"
      },
      "message": "[GFS2] Remove unneeded i_spin\n\nThis patch removes a vestigial variable \"i_spin\" from the gfs2_inode\nstructure.  This not only saves us memory (\u003e300000 of these in memory\nfor the oom test) it also saves us time because we don\u0027t have to\nspend time initializing it (i.e. slightly better performance).\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6dbd822487d0a9f14432cb4680415b80656b63a2",
      "tree": "f0391d598c27cd7c39c67cfa13799a784f4c389a",
      "parents": [
        "ac39aadd0440ae696e6dacaa8006ce1737b17008"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 10 15:18:55 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:25 2008 +0000"
      },
      "message": "[GFS2] Reduce inode size by moving i_alloc out of line\n\nIt is possible to reduce the size of GFS2 inodes by taking the i_alloc\nstructure out of the gfs2_inode. This patch allocates the i_alloc\nstructure whenever its needed, and frees it afterward. This decreases\nthe amount of low memory we use at the expense of requiring a memory\nallocation for each page or partial page that we write. A quick test\nwith postmark shows that the overhead is not measurable and I also note\nthat OCFS2 use the same approach.\n\nIn the future I\u0027d like to solve the problem by shrinking down the size\nof the members of the i_alloc structure, but for now, this reduces the\nimmediate problem of using too much low-memory on x86 and doesn\u0027t add\ntoo much overhead.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ac39aadd0440ae696e6dacaa8006ce1737b17008",
      "tree": "d2a6784809c6bec674879dc865de4150e8b0fb01",
      "parents": [
        "9656b2c14c6ee0806c90a6be41dec71117fc8f50"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 10 14:49:43 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:03 2008 +0000"
      },
      "message": "[GFS2] Fix assert in log code\n\nAlthough the values were all being calculated correctly, there was a\nrace in the assert due to the way it was using atomic variables. This\nchanges the value we assert on so that we get the same effect by testing\na different variable. This prevents the assert triggering when it shouldn\u0027t.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9656b2c14c6ee0806c90a6be41dec71117fc8f50",
      "tree": "3e093571e695bf780885f36caec9594392da31fc",
      "parents": [
        "0811a127cb83ad2e0355e5e3e30164d7ef0f2d65"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 08 08:14:30 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:17:31 2008 +0000"
      },
      "message": "[GFS2] Fix problems relating to execution of files on GFS2\n\nThis patch fixes a couple of problems which affected the execution of files\non GFS2. The first is that there was a corner case where inodes were not\nalways uptodate at the point at which permissions checks were being carried\nout, this was resulting in refusal of execute permission, but only on the\nfirst lookup, subsequent requests worked correctly. The second was a problem\nrelating to incorrect updating of file sizes which was introduced with the\nwrite_begin/end code for GFS2 a little while back.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "0811a127cb83ad2e0355e5e3e30164d7ef0f2d65",
      "tree": "f1e7eacb1a8a30e47299137db25be673621b9ee0",
      "parents": [
        "e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Jan 03 09:24:53 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:17:04 2008 +0000"
      },
      "message": "[GFS2] Initialize extent_list earlier\n\nHere is a patch for the latest upstream GFS2 code:\nThe journal extent map needs to be initialized sooner than it\ncurrently is.  Otherwise failed mount attempts (e.g. not enough\njournals, etc.) may panic trying to access the uninitialized list.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd",
      "tree": "f984562ccb3b29f31fa1e63d4dfe1f01d8e74be7",
      "parents": [
        "65a6290998f3d38b5c5e84423ae9e08bdd957095"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 03 11:31:38 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:16:41 2008 +0000"
      },
      "message": "[GFS2] Allow page migration for writeback and ordered pages\n\nTo improve performance on NUMA, we use the VM\u0027s standard page\nmigration for writeback and ordered pages. Probably we could\nalso do the same for journaled data, but that would need a\ncareful audit of the code, so will be the subject of a later\npatch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "65a6290998f3d38b5c5e84423ae9e08bdd957095",
      "tree": "2263af7252e61281429115d63eaa8e019224e678",
      "parents": [
        "ff91cc9bb41b62bc4ea7d5ced396fabf97539df9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:16:56 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:16:19 2008 +0000"
      },
      "message": "[GFS2] Remove unused variable\n\nThe go_drop_th function is never called or referenced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ff91cc9bb41b62bc4ea7d5ced396fabf97539df9",
      "tree": "8e14975bba539c796cddb30853d76f0a0c2d060e",
      "parents": [
        "fa3742fa8545df20e54aa0953a1873cca3a9bd92"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Dec 14 14:04:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:58 2008 +0000"
      },
      "message": "[GFS2] Fix log block mapper\n\nA missing offset in the calculation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fa3742fa8545df20e54aa0953a1873cca3a9bd92",
      "tree": "12a52441aa753408af536919583ad3cfe59848ec",
      "parents": [
        "c3f60b6e3a7667f78a63b15cf09655ecfca757fc"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 17:52:13 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:37 2008 +0000"
      },
      "message": "[GFS2] Minor correction\n\nThis is a small correction to my previously posted patch1.\nIt just changes a divide to a shift.  It\u0027s faster and doesn\u0027t\nintroduce odd dependencies on 32-bit compiles.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c3f60b6e3a7667f78a63b15cf09655ecfca757fc",
      "tree": "8dbe2656098c1fa69a9e149248533e1fba131ac5",
      "parents": [
        "b3513fca7e41965d85125c9770ce5f8fd4ff509a"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 11:44:41 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:15:16 2008 +0000"
      },
      "message": "[GFS2] Eliminate the no longer needed sd_statfs_mutex\n\nThis patch eliminates the unneeded sd_statfs_mutex mutex but preserves\nthe ordering as discussed.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3513fca7e41965d85125c9770ce5f8fd4ff509a",
      "tree": "3747019335ccd0f91bf30bd4a85609db455d7214",
      "parents": [
        "15c7cee7995a9013f1b2f31a15b70e1d2e8ae501"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Dec 12 09:24:08 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:53 2008 +0000"
      },
      "message": "[GFS2] Incremental patch to fix compiler warning\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "15c7cee7995a9013f1b2f31a15b70e1d2e8ae501",
      "tree": "22646442ffd942d77fc34f168d270e7bd2668643",
      "parents": [
        "b0d5fd307463405fe1f57494fbb37f810715ed6d"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:29:17 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:33 2008 +0000"
      },
      "message": "[GFS2] Function meta_read optimization\n\nThis patch optimizes function gfs2_meta_read.  Basically, gfs2_meta_wait\nwas being called regardless of whether a disk read was requested.\nThis just pulls that wait into the if that triggers the read.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b0d5fd307463405fe1f57494fbb37f810715ed6d",
      "tree": "2a627d7362a6db7eea4c388b0e0f0ceed8362fb5",
      "parents": [
        "398bbe68321947f6763fbc259a01eb548ce19408"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:16:09 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:13 2008 +0000"
      },
      "message": "[GFS2] Only fetch the dinode once in block_map\n\nFunction gfs2_block_map was often looking up the disk inode twice.\nThis optimizes it so that only does it once.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "398bbe68321947f6763fbc259a01eb548ce19408",
      "tree": "64cf07eb0f461aa5d26c2abdc873c8727d8a2bad",
      "parents": [
        "5fdc2eeb5d1d3800367f471690b01fcd1fd5b963"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:13:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:52 2008 +0000"
      },
      "message": "[GFS2] Reorganize function gfs2_glmutex_lock\n\nThis patch optimizes the function gfs2_glmutex_lock.\nThe basic theory is: Why bother initializing a holder, setting up\nwait bits and then waiting on them, if you know the glock can be\nyours.  So the holder stuff is placed inside the if checking if the\nglock is locked.  This one needs careful scrutiny because changing\nanything to do with locking should strike terror into one\u0027s heart.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5fdc2eeb5d1d3800367f471690b01fcd1fd5b963",
      "tree": "d1e138b18a74541570736f933d938aa7f6e2d376",
      "parents": [
        "0d0868bde33273a200b33e54f4fad6099ad0c566"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:00:16 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:31 2008 +0000"
      },
      "message": "[GFS2] Run through full bitmaps quicker in gfs2_bitfit\n\nI eliminated the passing of an unused parameter into gfs2_bitfit called rgd.\n\nThis also changes the gfs2_bitfit code that searches for free (or used) blocks.\nBefore, the code was trying to check for bytes that indicated 4 blocks in\nthe undesired state.  The problem is, it was spending more time trying to\ndo this than it actually was saving.  This version only optimizes the case\nwhere we\u0027re looking for free blocks, and it checks a machine word at a time.\nSo on 32-bit machines, it will check 32-bits (16 blocks) and on 64-bit\nmachines, it will check 64-bits (32 blocks) at a time.  The compiler\noptimizes that quite well and we save some time, especially when running\nthrough full bitmaps (like the bitmaps allocated for the journals).\n\nThere\u0027s probably a more elegant or optimized way to do this, but I haven\u0027t\nthought of it yet.  I\u0027m open to suggestions.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0d0868bde33273a200b33e54f4fad6099ad0c566",
      "tree": "482f3c72e582ce48b54c67760ca21e190f278ed4",
      "parents": [
        "da6dd40d59fa9617ed697b90114e197036901632"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 18:51:25 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:13:01 2008 +0000"
      },
      "message": "[GFS2] Get rid of useless \"found\" variable in quota.c\n\nThis just eliminates an unused variable from the quota code.\nNot likely to be a time saver.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "da6dd40d59fa9617ed697b90114e197036901632",
      "tree": "49e869021ed1f911bf3cdf185e9c4ce75c67f42a",
      "parents": [
        "e9e1ef2b6ee401d7c1e1eb38052857b4b206d172"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 18:49:21 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:11:46 2008 +0000"
      },
      "message": "[GFS2] Journal extent mapping\n\nThis patch saves a little time when gfs2 writes to the journals by\nkeeping a mapping between logical and physical blocks on disk.\nThat\u0027s better than constantly looking up indirect pointers in\nbuffers, when the journals are several levels of indirection\n(which they typically are).\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9e1ef2b6ee401d7c1e1eb38052857b4b206d172",
      "tree": "68dff93cf4058eb06b162d800f08ff7752cd1a55",
      "parents": [
        "2066b58b0a038d7aedd24133677efb8856cac3a1"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Dec 10 14:13:27 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:25 2008 +0000"
      },
      "message": "[GFS2] Remove function gfs2_get_block\n\nThis patch is just a cleanup.  Function gfs2_get_block() just calls\nfunction gfs2_block_map reversing the last two parameters.  By\nreversing the parameters, gfs2_block_map() may be called directly\nand function gfs2_get_block may be eliminated altogether.\nSince this function is done for every block operation,\nthis streamlines the code and makes it a little bit more efficient.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2066b58b0a038d7aedd24133677efb8856cac3a1",
      "tree": "0afb8a5ee7a9c1a0e4f618b818f8bd05ccd8c3a9",
      "parents": [
        "dbee2199c37336e89060fbe9abdfd1ca8454372a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Dec 06 09:35:25 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:23 2008 +0000"
      },
      "message": "[GFS2] use pid for plock owner for nfs clients\n\nThe fl_owner is that of lockd when posix locks arrive from nfs\nclients, so it can\u0027t be used to distinguish between lock holders.\nUse fl_pid as owner instead; it\u0027s the pid of the process on the\nnfs client.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dbee2199c37336e89060fbe9abdfd1ca8454372a",
      "tree": "9005d78b7e6064016b8bc6c8ab8ae79442eb80ff",
      "parents": [
        "292c8c14cace19c94c6abe25506310239daf949e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 30 08:17:15 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:20 2008 +0000"
      },
      "message": "[GFS2] Remove unused variable\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "292c8c14cace19c94c6abe25506310239daf949e",
      "tree": "3b1b1407e00abc154768dc2f5a684b0fcf0cbd1f",
      "parents": [
        "c97bfe4351771675963e02f34d31e206fd2d7150"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Thu Nov 29 14:13:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:18 2008 +0000"
      },
      "message": "[GFS2] patch to check for recursive lock requests in gfs2_rename code path\n\nA certain scenario in the rename code path triggers a kernel BUG()\nbecause it accidentally does recursive locking The first lock is\nrequested to unlink an already existing inode (replacing a file) and the\nsecond lock is requested when the destination directory needs to alloc\nsome space. It is rare that these two\nevents happen during the same rename call, and even more rare that these\ntwo instances try to lock the same rgrp. It is, however, possible.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d404711\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c97bfe4351771675963e02f34d31e206fd2d7150",
      "tree": "9ee4de86cacc54f3e49135a4ce39cf7a236efb31",
      "parents": [
        "bcd405599faa16cf32a3d3f1ce6a1e12cb37fede"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Nov 29 17:56:51 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:15 2008 +0000"
      },
      "message": "[GFS2] Remove lock methods for lock_nolock protocol\n\nGFS2 supports two modes of locking - lock_nolock for single node filesystem\nand lock_dlm for cluster mode locking. The gfs2 lock methods are removed from\nfile operation table for lock_nolock protocol. This would allow VFS to handle\nposix lock and flock logics just like other in-tree filesystems without\nduplication.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bcd405599faa16cf32a3d3f1ce6a1e12cb37fede",
      "tree": "216771f3a69086c8ccafa58a6d4449926f455336",
      "parents": [
        "6a69a23f7df18f39e4a084e10b62ff4a144b05a5"
      ],
      "author": {
        "name": "Fabio M. Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Wed Nov 28 16:22:09 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:13 2008 +0000"
      },
      "message": "[GFS2] Remove unrequired code\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a69a23f7df18f39e4a084e10b62ff4a144b05a5",
      "tree": "d5bc744a43f2f05aea7a419b3c93ea314397d311",
      "parents": [
        "002ef1dc63ded14507c110d3cf83d0c3f51374ab"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Nov 27 06:16:42 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:11 2008 +0000"
      },
      "message": "[GFS2] Fix build warnings\n\nHi Steven,\n\nSteven Whitehouse wrote:\n\u003e Hi,\n\u003e\n\u003e Now in the -nmw git tree. Thanks,\n\u003e\n\u003e Steve.\n\u003e\n\u003e On Wed, 2007-11-21 at 11:54 -0600, Ryan O\u0027Hara wrote:\n\nthis patch introduces a bunch of build warnings by leaving around\n\nstruct inode *inode \u003d \u0026ip-\u003ei_inode;\n\nThe patch in attachment cleans them up. Please apply.\n\nSigned-off-by: Fabio Massimo Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "002ef1dc63ded14507c110d3cf83d0c3f51374ab",
      "tree": "c81a66cdd0b8bf49a515141c669a2600e7b01140",
      "parents": [
        "1a2781cfa5ed8eb82bb311d684f268c1822dae69"
      ],
      "author": {
        "name": "Ryan O\u0027Hara",
        "email": "rohara@redhat.com",
        "time": "Wed Nov 21 11:54:54 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:08 2008 +0000"
      },
      "message": "[GFS2] remove unnecessary permission checks\n\nRemove read/write permission() checks from xattr operations.\nVFS layer is already handling permission for xattrs via the\nxattr_permission() call, so there is no need for gfs2 to\ncheck permissions. Futhermore, using permission() for SELinux\nxattrs ops is incorrect.\n\nSigned-off-by: Ryan O\u0027Hara \u003crohara@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1a2781cfa5ed8eb82bb311d684f268c1822dae69",
      "tree": "d65a551d4e0b8b12365fd150fe70cfd9f14f80e2",
      "parents": [
        "00c134756c5ad570a1ad3d6f93a67fc9c25a67ea"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Fri Nov 16 09:50:40 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:06 2008 +0000"
      },
      "message": "[GFS2] Fix runtime issue with UP kernels\n\nThe issue is indeed UP vs SMP and it is totally random.\n\nspin_is_locked() is a bad assertion because there is no correct answer on UP.\non UP spin_is_locked() has to return either one value or another, always.\n\nThis means that in my setup I am lucky enough to trigger the issue and your you\nare lucky enough not to.\n\nthe patch in attachment removes the bogus calls to BUG_ON and according to David\n(in CC and thanks for the long explanation on the problem) we can rely upon\nthings like lockdep to find problem that might be trying to catch.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "00c134756c5ad570a1ad3d6f93a67fc9c25a67ea",
      "tree": "36176240919582d17d4655a1838e1b934ede9cb8",
      "parents": [
        "0b7580c786a5feda6291fe68ead3a1b92b6b35b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Nov 15 09:01:13 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:04 2008 +0000"
      },
      "message": "[GFS2] tidy up error message\n\nPrint error with log_error() to be consistent with others.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0b7580c786a5feda6291fe68ead3a1b92b6b35b8",
      "tree": "baa74404abb5166fd7a3f3601c724ff1d9fc94db",
      "parents": [
        "e35b921185728850c5db3b5d5b356178f931a157"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Thu Nov 15 13:48:52 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:01 2008 +0000"
      },
      "message": "[GFS2] Check for installation of mount helpers for DLM mounts\n\nThe patch is a fix to abort mount if the mount.gfs* and possible\numount.* are missing from /sbin.\n\nWhile we do what we can to guarantee that they are installed properly in\nuserland (CVS HEAD), we want to make sure that mount still aborts properly.\n\nThe only sign of missing helpers is that lock_dlm will receive no mount options\nat all. According to David the problem does not exist for lock_nolock as the\nhelpers are not required.\n\nThe patch has been tested for both gfs and gfs2 and it works as expected. The\nlack of mount.gfs* will generate an error that is propagated to mount:\n\noot@node1:~# mount -t  gfs2 /dev/nbd2 /mnt/\nmount: wrong fs type, bad option, bad superblock on /dev/nbd2,\n       missing codepage or helper program, or other error\n       In some cases useful info is found in syslog - try\n       dmesg | tail  or so\n\n[ 3513.303346] GFS2: fsid\u003d: Trying to join cluster \"lock_dlm\", \"gutsy:gfs2\"\n[ 3513.304546] DLM/GFS2/GFS ERROR: (u)mount helpers are not installed properly!\n[ 3513.306290] GFS2: fsid\u003d: can\u0027t mount proto\u003dlock_dlm, table\u003dgutsy:gfs2, hostdata\u003d\n\nYou might want to notice that it will also avoid mount to hang or fail silently\nor with strange errors that will require the cluster to reboot/restart before\nyou can actually mount the filesystem again.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e35b921185728850c5db3b5d5b356178f931a157",
      "tree": "1f5586886b1a81fe961425da3ccc9fde8f40b538",
      "parents": [
        "ec69b188837a347769e187997d040e84a683b38a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 09 10:07:21 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:59 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t periodically update the jindex\n\nWe only care about the content of the jindex in two cases,\none is when we mount the fs and the other is when we need\nto recover another journal. In both cases we have to update\nthe jindex anyway, so there is no point in updating it\nperiodically between times, so this removes it to simplify\ngfs2_logd.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ec69b188837a347769e187997d040e84a683b38a",
      "tree": "d16ebc9b83807f99a114efe3a093315f9839b81c",
      "parents": [
        "fd041f0b4045db8646b36d393cbb274db60649f5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 09 10:01:41 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:56 2008 +0000"
      },
      "message": "[GFS2] Move gfs2_logd into log.c\n\nThis means that we can mark gfs2_ail1_empty static and prepares\nthe way for further changes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fd041f0b4045db8646b36d393cbb274db60649f5",
      "tree": "dd09e7317eb471d45c685e3269bd3c20dc686f3e",
      "parents": [
        "2bcd610d2fdea608a8fdac32788fc35a32a2327c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 08 14:55:03 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:54 2008 +0000"
      },
      "message": "[GFS2] Use atomic_t for journal free blocks counter\n\nThis patch changes the counter which keeps track of the free\nblocks in the journal to an atomic_t in preparation for the\nfollowing patch which will update the log reservation code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2bcd610d2fdea608a8fdac32788fc35a32a2327c",
      "tree": "5b3753ff18c1da54bb860dbd67211e6abea78ca7",
      "parents": [
        "8cbc4342478311c2a85260a7ca54d96cb7f71f7b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 08 14:25:12 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:52 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t add glocks to the journal\n\nThe only reason for adding glocks to the journal was to keep track\nof which locks required a log flush prior to release. We add a\nflag to the glock to allow this check to be made in a simpler way.\n\nThis reduces the size of a glock (by 12 bytes on i386, 24 on x86_64)\nand means that we can avoid extra work during the journal flush.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8cbc4342478311c2a85260a7ca54d96cb7f71f7b",
      "tree": "23a8ab6a4a2c154274d01cfe0e69715cd7ad4d86",
      "parents": [
        "c7227e46423a57b4df27a2d75b5869bd3ae654d0"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Nov 07 09:03:56 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:49 2008 +0000"
      },
      "message": "[GFS2] check kthread_should_stop when waiting\n\nUse wait_event_interruptible() in the lock_dlm thread instead\nof an open coded equivalent, and include a kthread_should_stop()\ncheck in the wait test so we don\u0027t miss a kthread_stop().\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c7227e46423a57b4df27a2d75b5869bd3ae654d0",
      "tree": "e0d1ce8a49d766f119358a721c38837776dcdaf5",
      "parents": [
        "e589665eb97b297412fb16b4c1737a01a91db903"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Nov 02 09:37:15 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:47 2008 +0000"
      },
      "message": "[GFS2] Given device ID rather than s_id in \"id\" sysfs file\n\nThis patch changes the /sys/fs/gfs2/\u003cs_id\u003e/id file to give the device\nid \"major:minor\" rather than the s_id.  That enables gfs2_tool to\nmatch devices properly (by id, not name) when locating the tuning files.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e589665eb97b297412fb16b4c1737a01a91db903",
      "tree": "139a302a47bda6241d40a61bec1d7239de0e7108",
      "parents": [
        "3042a2ccd68d2b609d283219e51cba363aa35c1d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 02 09:14:31 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:44 2008 +0000"
      },
      "message": "[GFS2] Remove flags no longer required\n\nThe HIF_MUTEX and HIF_PROMOTE flags were set on the glock holders\ndepending upon which of the two waiters lists they were going to\nbe queued upon. They were then tested when the holders were taken\noff the lists to ensure that the right type of holder was being\ndequeued.\n\nSince we are already using separate lists, there doesn\u0027t seem a\nlot of point having these flags as well, and since setting them\nand testing them is in the fast path for locking and unlocking\nglock, this patch removes them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3042a2ccd68d2b609d283219e51cba363aa35c1d",
      "tree": "032653f2111bf20c1f4610d3801c42020c3a1abd",
      "parents": [
        "52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 02 08:39:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:42 2008 +0000"
      },
      "message": "[GFS2] Reorder writeback for glock sync\n\nPreviously we were doing (write data, wait for data, write metadata, wait\nfor metadata). After this patch we so (write metadata, write data, wait for\ndata, wait for metadata) which should be more efficient.\n\nAlso I noticed that the drop_bh and xmote_bh functions were almost\nidentical. In fact the only difference was a single test, and that\ntest is such that in the drop_bh case, it would always evaluate to\nthe correct result. As such we can use the xmote_bh functions in\nall the places where we were using the drop_bh function and remove\nthe drop_bh functions.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685",
      "tree": "3454c250947bc4b19ee5410345d00fef20c98c8d",
      "parents": [
        "c2932e03dbcfe7ea9052953dbd5f3157183c1e9b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 01 09:34:14 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:40 2008 +0000"
      },
      "message": "[GFS2] Add sync_page to metadata address space operations\n\nThis set of address space operations was missing a sync_page\noperation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c2932e03dbcfe7ea9052953dbd5f3157183c1e9b",
      "tree": "4d72603f5fc136a0ad0fd65b423045d5d30e69ef",
      "parents": [
        "60b0d0877986b8fa70148f06055422d2ed858e88"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 01 09:26:54 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:37 2008 +0000"
      },
      "message": "[GFS2] Remove \"reclaim limit\"\n\nThis call to reclaim glocks is not needed, and in particular we don\u0027t want it\nin the fast path for locking glocks. The limit was entirely arbitrary anyway\nand we can\u0027t expect users to adjust things like this, the remaining code will\ndo the right thing on its own.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "60b0d0877986b8fa70148f06055422d2ed858e88",
      "tree": "a3046f15ed803570554bad905ce690332dae8da8",
      "parents": [
        "47e83b509127f5e83ae5d93afd5c7cb9241acc38"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 31 14:24:33 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:35 2008 +0000"
      },
      "message": "[GFS2] Remove unused variables\n\nThese haven\u0027t been used for some time, remove them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ],
  "next": "47e83b509127f5e83ae5d93afd5c7cb9241acc38"
}
