)]}'
{
  "log": [
    {
      "commit": "3057ac3c1a992ee135cbb7b7d1a12e58d81f0739",
      "tree": "38d83a88ee949b9db8f6655f90f98d88f8a5f2fd",
      "parents": [
        "39b07ce6d9f7cd4da8567baed844801e0aaa7b1a"
      ],
      "author": {
        "name": "zhao, forrest",
        "email": "forrest.zhao@intel.com",
        "time": "Mon Jun 12 12:01:34 2006 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 12 00:18:35 2006 -0400"
      },
      "message": "[PATCH] Snoop SET FEATURES - WRITE CACHE ENABLE/DISABLE command(v5)\n\nThis patch makes libata snoop \u0027SET FEATURES - WRITE CACHE\nENABLE/DISABLE\u0027 command, executing requisite revalidation processes\nto update cached data.\n\nSigned-off-by: Forrest Zhao \u003cforrest.zhao@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d87fa38e70853a9607dc34a02d15cf5f149f49f2",
      "tree": "6afc6f8b9ff9c2c441efd61829d5d6fa6eb5698d",
      "parents": [
        "52783c5dcc8d317bc8c3e2692d366e8a305abada"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:24 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:24 2006 +0900"
      },
      "message": "[PATCH] libata-hp: move ata_do_reset() to libata-eh.c\n\nWith ops-\u003eprobe_init() gone, no user is left in libata-core.c.  Move\nata_do_reset() to libata-eh.c and make it static.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "580b2102327ab8444af5bde4e70b50d268a1d558",
      "tree": "01389e898e09dbaddb06405b182116b9be0e6d59",
      "parents": [
        "084fe639b81c4d418a2cf714acb0475e3713cb73"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:05 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:05 2006 +0900"
      },
      "message": "[PATCH] libata-hp: implement SCSI part of hotplug\n\nImplement SCSI part of hotplug.\n\nThis must be done in a separate context as SCSI makes use of EH during\nprobing.  SCSI scan fails silently if EH is in progress.  In such\ncases, libata pauses briefly and retries until every device is\nattached.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "0ea035a3d1ad948096e205f08f350c03d5cea453",
      "tree": "fd003f929ab079f0852e3709436ca30a18265a39",
      "parents": [
        "e8e008e7b5ed8c65675cc9b3e778b8bb909f65ab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:01 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:28:01 2006 +0900"
      },
      "message": "[PATCH] libata-hp: implement ata_eh_detach_dev()\n\nImplement ata_eh_detach_dev().  This function is responsible for\ndetaching an ATA device and offlining the associated SCSI device\natomically so that the detached device is not accessed after ATA\ndetach is complete.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "a9beec95352ff675f27d74c3cb97dc258d022497",
      "tree": "f301e31e3a9648bd6e2f4050a44b4e89aebe0f18",
      "parents": [
        "453b07accb47c5b54aa2f156ebffac63c543027b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:44 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:44 2006 +0900"
      },
      "message": "[PATCH] libata-hp-prep: make probing related functions global\n\nHotplug will be implemented in libata-eh.c.  Make ata_dev_read_id()\nand ata_dev_configure() global.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "453b07accb47c5b54aa2f156ebffac63c543027b",
      "tree": "a08ee98bab64b1d92a9856e086c87de53012b6fc",
      "parents": [
        "3edebac41bab7e146578ad9e723ee7fff71c99c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:42 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:42 2006 +0900"
      },
      "message": "[PATCH] libata-hp-prep: add ata_aux_wq\n\nIt\u0027s best to run ATA hotplug from EH but attaching SCSI devices needs\nworking EH.  ata_aux_wq is used to give SCSI hotplug operations a\nseparate context.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3ef3b43d5633d30fa3f033f62094ec2e9c5b8376",
      "tree": "815ba1afeb202834667e1dff08fa69b63ec0628f",
      "parents": [
        "abdda7331d469fa965167365f011d05e226008fb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:30 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:30 2006 +0900"
      },
      "message": "[PATCH] libata-hp-prep: implement ata_dev_init()\n\nMove initialization of struct ata_device into ata_dev_init() in\npreparation for hotplug.  This patch calls ata_dev_init() from\nata_host_init() and thus makes no functional difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c6cf9e99d1de5ca6a08fb639bb73031ffe50d802",
      "tree": "555a47d45b5b80ef14ff53ccb4c6d1439460e251",
      "parents": [
        "7395acb2c840fd4d0cacc91d6fb71440057141ab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:27 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed May 31 18:27:27 2006 +0900"
      },
      "message": "[PATCH] libata: implement ata_eh_wait()\n\nImplement ata_eh_wait().  On return from this function, it\u0027s\nguaranteed that the EH which was pending or in progress when the\nfunction was called is complete - including the tailing part of SCSI\nEH.  This will be used by hotplug and others to synchronize with EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "7b70fc039824bc7303e4007a5f758f832de56611",
      "tree": "d973a40055dec97fedc5ae87852667ed2d30ea71",
      "parents": [
        "f686bcb8078ac7505ec88818886c2c72639f4fc5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:07 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:07 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement ata_port_schedule_eh() and ata_port_abort()\n\nata_port_schedule_eh() directly schedules EH for @ap without\nassociated qc.  Once EH scheduled, no further qc is allowed and EH\nkicks in as soon as all currently active qc\u0027s are drained.\n\nata_port_abort() schedules all currently active commands for EH by\nqc_completing them with ATA_QCFLAG_FAILED set.  If ata_port_abort()\ndoesn\u0027t find any qc to abort, it directly schedule EH using\nata_port_schedule_eh().\n\nThese two functions provide ways to invoke EH for conditions which\naren\u0027t directly related to any specfic qc.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f686bcb8078ac7505ec88818886c2c72639f4fc5",
      "tree": "7c563e0032b2d85b631b617b8bb2a7a648607468",
      "parents": [
        "f69499f42caf74194df678c9c293f2ee0fe90bc3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:05 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:05 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement new EH scheduling via error completion\n\nThere are several ways a qc can get schedule for EH in new EH.  This\npatch implements one of them - completing a qc with ATA_QCFLAG_FAILED\nset or with non-zero qc-\u003eerr_mask.  ALL such qc\u0027s are examined by EH.\n\nNew EH schedules a qc for EH from completion iff -\u003eerror_handler is\nimplemented, qc is marked as failed or qc-\u003eerr_mask is non-zero and\nthe command is not an internal command (internal cmd is handled via\n-\u003epost_internal_cmd).  The EH scheduling itself is performed by asking\nSCSI midlayer to schedule EH for the specified scmd.\n\nFor drivers implementing old-EH, nothing changes.  As this change\nmakes ata_qc_complete() rather large, it\u0027s not inlined anymore and\n__ata_qc_complete() is exported to other parts of libata for later\nuse.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3373efd89dead4ce7818d685729e0431448357c9",
      "tree": "d7e7a1afd83e269c3c0978f924cd8c54d9be7f5a",
      "parents": [
        "38d87234d6c47ca487fc6344100323d5adc6f32c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:53 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:53 2006 +0900"
      },
      "message": "[PATCH] libata: use dev-\u003eap\n\nUse dev-\u003eap where possible and eliminate superflous @ap from functions\nand structures.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "96bd39ec295e49443c8b0c25a6b69fdace18780f",
      "tree": "02b80f3a37f3b75b68f41e6243fab513aed30b32",
      "parents": [
        "3adcebb2b59d590d572844815c906ca30477b14a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:38 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:38 2006 +0900"
      },
      "message": "[PATCH] libata: remove postreset handling from ata_do_reset()\n\nMake ata_do_reset() deal only with reset.  postreset is now the\nresponsibility of the caller.  This is simpler and eases later\nprereset addition.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3c567b7d1137633f3ff67cd1df94abc5fd497a85",
      "tree": "085d98f696a0b8a2440bac4686929731769a6760",
      "parents": [
        "c44078c03f018c8cc9d7463b0db4c6c7fb316792"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "message": "[PATCH] libata: rename ata_down_sata_spd_limit() and friends\n\nRename ata_down_sata_spd_limit() and friends to sata_down_spd_limit()\nand likewise for simplicity \u0026 consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "2bf2cb26b2512c6a609bb152982c388329bedff6",
      "tree": "9f1f3ea5000304fd946f34b24d9904c2a1027480",
      "parents": [
        "db70fef0750e5f8dbb64f9fadb333d2c7caf26a1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 11 22:16:45 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:12:46 2006 -0400"
      },
      "message": "[PATCH] libata: kill @verbose from ata_reset_fn_t\n\n@verbose was added to ata_reset_fn_t because AHCI complained during\nprobing if no device was attached to the port.  However, muting\nfailure message isn\u0027t the correct approach.  Reset methods are\nresponsible for detecting no device condition and finishing\nsuccessfully.  Now that AHCI softreset is fixed, kill @verbose.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "381544bba3ae6f2f1004b267da34f840b469033c",
      "tree": "e748d5da19d3fa79bee2ad5b40b44722cdf64184",
      "parents": [
        "10a5fd5e6b7e2d464c9f95f67cade4ddbd63f4e1"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:04:39 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:04:39 2006 -0400"
      },
      "message": "libata: Fix EH merge difference between this branch and upstream.\n"
    },
    {
      "commit": "95de719adc94392a95c3c4d0a2d6b8b1ea39d236",
      "tree": "d8196f39ca64a2c727ff6eff94b28d10013c6564",
      "parents": [
        "c16226a1c75042bfdc50bd2921d5919f6267ba51"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Tue Apr 04 10:57:18 2006 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 04 08:44:24 2006 -0400"
      },
      "message": "[PATCH] libata: convert ATAPI_ENABLE_DMADIR to module parameter\n\nConvert the ATAPI_ENABLE_DMADIR compile time option needed\nby some SATA-PATA bridge to runtime module parameter.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "af64371ada9452632c349563d688d30d94e918ba",
      "tree": "0b6b451ba75c18bff270ab31eedffcfa5f941d67",
      "parents": [
        "4bced2d40555eebf8d685f174aa6d58ace353655"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 20:41:36 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 20:41:36 2006 -0400"
      },
      "message": "[libata] bump versions\n"
    },
    {
      "commit": "1ad8e7f9eb051b040880e45337ed74bfd916ef7f",
      "tree": "010f563b369b0d00a280aa6545790c95a7b5a8a5",
      "parents": [
        "ece1d63619df010b8c4f08e43755e2a03f3b6eed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:21 2006 -0400"
      },
      "message": "[PATCH] libata: make some libata-core routines extern\n\nMake libata-core routines which will be used by EH implementation\nextern.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ece1d63619df010b8c4f08e43755e2a03f3b6eed",
      "tree": "c6474fe7541d479bf19c36c79700dfa9f6093a8d",
      "parents": [
        "35e86b53b1a38e78ff0d70dae4aeb25f4572e433"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:21 2006 -0400"
      },
      "message": "[PATCH] libata: separate out libata-eh.c\n\nA lot of EH codes are about to be added to libata.  Separate out\nlibata-eh.c.  ata_scsi_timed_out(), ata_scsi_error(),\nata_qc_timeout(), ata_eng_timeout(), ata_eh_qc_complete() and\nata_eh_qc_retry() are moved.  No code is changed by this patch.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "8e0e694a3a48212bfe29a9ad3cd592bf68dfec81",
      "tree": "82f2b114160c8f1a6537c471fea7b41e50a80814",
      "parents": [
        "e4a70e76add280db6068426716a9b2a74099144f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Mar 31 20:41:11 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 31 10:14:42 2006 -0500"
      },
      "message": "[PATCH] libata: make ata_qc_issue complete failed qcs\n\nThere is no reason for the issuer to diddle with a failed qc as the\nissuer has complete control over when a qc gets freed (usually in\n-\u003ecomplete_fn).  Make ata_qc_issue() responsible for completing qcs\nwhich failed to issue.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "30afc84cf7325e88fb9746340eba3c161080ff49",
      "tree": "829ea31d6ab095bd7a35651cd6018205a2b21d11",
      "parents": [
        "d04cdb64212eb5ae6a98026a97dda626e40e8e9a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Mar 18 18:40:14 2006 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 21 13:07:05 2006 -0600"
      },
      "message": "[SCSI] libata: implement minimal transport template for -\u003eeh_timed_out\n\nSCSI midlayer has moved hostt-\u003eeh_timed_out to transport template.  As\nlibata doesn\u0027t need full-blown transport support yet, implement\nminimal transport for libata.  No transport class or whatsoever, just\nempty transport template with -\u003eeh_timed_out hook.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "86e45b6bd6900c4a0b3666fb18b46e215f775c4f",
      "tree": "5b86ebd0b0b17d05bdfdd07b7683f7348577b52a",
      "parents": [
        "d7fc3ca1cd0ecce82263299c6b1631fc83b0ec79"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 05 15:29:09 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 11 17:57:20 2006 -0500"
      },
      "message": "[PATCH] libata: implement port_task\n\nImplement port_task.  LLDD\u0027s can schedule a function to be executed\nwith context after specified delay.  libata core takes care of\nsynchronization against EH.  This is generalized form of pio_task and\npacket_task which are tied to PIO hsm implementation.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d2dbaad8555b9a078830ac1aab7ef7a37461c640",
      "tree": "6d455666df51db6a24834e6551e246e0c0d0d078",
      "parents": [
        "cccc65a3b60edaf721cdee5a14f68ba009341822",
        "71efa38c0eef581c69c221ceb8645f61d1e93270"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 01 14:45:47 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 01 14:45:47 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "c3c013a2c218cdede2d2e73df01ed4f813538941",
      "tree": "1e7bfa4c687bb54fd328f06ac141937de1bb0470",
      "parents": [
        "e95a9ec1bb66e07b138861c743192f06e7b3e4de"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Feb 27 22:31:19 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Feb 27 22:31:19 2006 -0500"
      },
      "message": "[libata] Disable FUA\n\nUntil problems are sorted.\n"
    },
    {
      "commit": "76014427e60f7ecfdc689dfbcb48e9760e1da4fb",
      "tree": "cf885f718315ed7819fd8f6f4a375540847baf2f",
      "parents": [
        "cbefa3258eade263dbc9ae2c1f1ea2ca96e6b457"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Feb 11 15:13:49 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Feb 11 17:51:56 2006 -0500"
      },
      "message": "[PATCH] libata: inline ata_qc_complete()\n\nThis patch inlines ata_qc_complete() and uninlines __ata_qc_complete()\nas suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "341963b909a01d2f38d86f5db8dd1f8c80bd6dbf",
      "tree": "b19def143135b45b64d62e4e048aaae5b711696f",
      "parents": [
        "1fdffbce0332b3e00993d741e76935e7f4f0d40f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 10 15:10:48 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Feb 10 06:50:45 2006 -0500"
      },
      "message": "[PATCH] libata: add ATA_QCFLAG_EH_SCHEDULED\n\nAdd ATA_QCFLAG_EH_SCHEDULED.  If this flag is set, the qc is owned by\nEH and normal completion path is not allowed to finish it.  This patch\ndoesn\u0027t actually use this flag.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "9a3d9eb0177eb10500d49cd283b35576082a522d",
      "tree": "3a8279ea3f263338cd02918131a36ee716cad1a8",
      "parents": [
        "11a56d2439259892319df81cf1582687d7e7fde5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jan 23 13:09:36 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 22:36:27 2006 -0500"
      },
      "message": "[PATCH] libata: return AC_ERR_* from issue functions\n\nReturn AC_ERR_* mask from issue fuctions instead of 0/-1.  This\nenables things like failing a qc with AC_ERR_HSM when the device\ndoesn\u0027t set DRDY when the qc is about to be issued.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "9a3dccc42556537a48f39ee9a9e7ab90a933f766",
      "tree": "e67d7b314d4e0732bfa5558bef4f1941ea80cb58",
      "parents": [
        "93c9338713d4e11102cd09b4670ad42a336b06a3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "message": "[BLOCK] add FUA support to libata\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "82033adf0a4b26eb0c0c90e224848431e2a59bc6",
      "tree": "b995909cbf2de7dca994db13de3f157ace164905",
      "parents": [
        "a012370322eafee642369784ff71afe81f5a8592"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 13 14:50:38 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 01:34:45 2005 -0500"
      },
      "message": "[PATCH] libata: remove unused functions\n\nThere is no user of ata_qc_wait_err() and ata_qc_complete_noop() after\nata_exec_internal() changes.  Remove unused functions.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a22e2eb0710798009b8e696ae911aef745089dd6",
      "tree": "93421443499249db0301868e07f24156c456cf7a",
      "parents": [
        "c14b8331ec4843e4f2b67a4d847a0d812a50e43c"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Dec 05 15:38:02 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 06 04:49:22 2005 -0500"
      },
      "message": "[PATCH] libata: move err_mask to ata_queued_cmd\n\n  - remove err_mask from the parameter list of the complete functions\n  - move err_mask to ata_queued_cmd\n  - initialize qc-\u003eerr_mask when needed\n  - for each function call to ata_qc_complete(), replace the err_mask parameter with qc-\u003eerr_mask.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "7bdd720869ff75700b48b132ee71852615b55808",
      "tree": "5d42dddd1cda8462fe1b2739a40ab28df28c227d",
      "parents": [
        "c2cd76ff106b8bd9c0a754c6439c74e86fd2aba7"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Nov 16 11:06:59 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Nov 16 11:06:59 2005 -0500"
      },
      "message": "[libata] bump versions\n"
    },
    {
      "commit": "c6e6e666cbfe40f0d7fb1a293ff6332973acac37",
      "tree": "21609c228d8aaf1f9a2217f7fd08266ed669f5bc",
      "parents": [
        "2c13b7cee045af689b36349c2bc6a9ed6e3d73fa"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:50:05 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:50:05 2005 -0500"
      },
      "message": "[libata] REQUEST SENSE handling fixes\n\n- Move ATAPI check-condition handling out of the timeout handler\n- Use multi-qc-issue feature to issue REQUEST SENSE ATAPI PACKET\n  command upon receiving an ATAPI check-condition.\n\nThis cleans things up a lot, and eliminates a nasty recursion bug.\n"
    },
    {
      "commit": "e533825447dcb60a82b7cc9d73d06423c849b9a2",
      "tree": "c838f16f023e24118a0e5669b2dbcfb70f666504",
      "parents": [
        "6e9d6b8ee4e0c37d3952256e6472c57490d6780d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 21:37:17 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 21:37:17 2005 -0500"
      },
      "message": "[libata] ata_tf_to_host cleanups\n\nIntegrate ata_exec() and ata_tf_to_host() into their only caller,\nata_bus_edd().\n\nRename ata_tf_to_host_nolock() to ata_tf_to_host().\n\nThis makes locking a bit easier to review, and may help pave the way for\nfuture changes.\n"
    },
    {
      "commit": "a7dac447bb9cef27d4d29cdf63e2d7809c50b1f4",
      "tree": "a8935490cdd374aba3a804ba9f79d1aed67db36d",
      "parents": [
        "81cfb8864c73230eb1c37753aba517db15cf4d8f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "message": "[libata] change ata_qc_complete() to take error mask as second arg\n\nThe second argument to ata_qc_complete() was being used for two\npurposes: communicate the ATA Status register to the completion\nfunction, and indicate an error.  On legacy PCI IDE hardware, the latter\nis often implicit in the former.  On more modern hardware, the driver\noften completely emulated a Status register value, passing ATA_ERR as an\nindication that something went wrong.\n\nNow that previous code changes have eliminated the need to use drv_stat\narg to communicate the ATA Status register value, we can convert it to a\nmask of possible error classes.\n\nThis will lead to more flexible error handling in the future.\n"
    },
    {
      "commit": "96b88fb850cc419171f926ad04650ec509e9f543",
      "tree": "5bf9537bde467534608b3acdbfa5f7726ede8c3f",
      "parents": [
        "e78a57de94480226f7fc90d0b4837bfc6c99a9e0",
        "5fadd053d9bb4345ec6f405d24db4e7eb49cf81e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:31:34 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:31:34 2005 -0400"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "057ace5e79da9ebf2aa82833cfea825533ac06fb",
      "tree": "f27ed6cbd9a185041862471ef421e6415e099344",
      "parents": [
        "cf482935c6abe5245e481213c6e6df808c976f56"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "message": "libata: const-ification bombing run\n\nEnforce access rules where appropriate.\n\nIf the compiler is smart enough, this may buy us an optimization or two\nas a side effect.\n"
    },
    {
      "commit": "77501f3cb648e18733509a951ed31eddd7ef2c0b",
      "tree": "82624caa354394df2422562bf6dda56a2c088704",
      "parents": [
        "422fa08e538b649a9b80258950d2f8a202f45f19",
        "59a10b172fccaea793352c00fd9065f0a5b4ef70"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 18:30:58 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 18:30:58 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "8cbd6df1f0ce977ab7b61feffa59879bb5e0ed8f",
      "tree": "c460778581293ad479ec4983690ccc46bcb4df56",
      "parents": [
        "07506697d1c615924298406f2357810709c09bcd"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Wed Oct 12 15:06:27 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 17:16:13 2005 -0400"
      },
      "message": "[PATCH] libata CHS: calculate read/write commands and protocol on the fly (revise #6)\n\n     - merge ata_prot_to_cmd() and ata_dev_set_protocol() as\n       ata_rwcmd_protocol()\n     - pave road for read/write multiple support\n     - remove usage of pre-cached command and protocol values and call\n       ata_rwcmd_protocol() instead\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "ffe75ef650e1aec26a84bd82a620b5e27df9ed34",
      "tree": "8ed31fa093cbf6f6d6142e0e2118bee26aa71fa7",
      "parents": [
        "9dc263239bb2cfeb242d8ef758fca66a968822d5",
        "e710245bb0f980adfb1dfe850e43761a8117c6be"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 10:40:44 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 10:40:44 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "ae00651020413bd7eb5fa3bd0abbd78d7cf1abb2",
      "tree": "d30e0682d43a81803254cf4ae33a1f21bc1de207",
      "parents": [
        "845c5834d0aa60eb1588397696e7fabbaab2d3b0"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Sun Oct 09 09:09:35 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 09:09:35 2005 -0400"
      },
      "message": "[libata scsi] improve scsi error handling with ata_scsi_set_sense()\n\n  - change \"xlat\" and \"fill\" actors in libata-scsi so\n    they are responsible for SCSI status and sense data\n    when they return 1. This allows GOOD status or a\n    specialized error to be set.\n  - yield an error for mode sense requests for saved\n    values [sat-r06]\n  - remove static inlines for ata_bad_scsiop() and\n    ata_bad_cdb() which are no longer used\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "845c5834d0aa60eb1588397696e7fabbaab2d3b0",
      "tree": "963d4a2c132273cf6df68a3846326a08cdbe17f4",
      "parents": [
        "d95300758bed9e0f783f3e3b4fd037bf0a21abe0"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Sun Oct 09 08:55:41 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 08:55:41 2005 -0400"
      },
      "message": "[libata scsi] add ata_scsi_set_sense helper\n\n  - add extern ata_scsi_set_sense() to build SCSI\n    fixed sense data and corresponding SCSI status\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a939c9631527053aa38aa8795a6f7203c7f20b69",
      "tree": "ef7aabee7439909153ef05f2651d8f456dd39ce1",
      "parents": [
        "a15dbeb4772626a015337dea06da67095aec3862"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 17:09:16 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 17:09:16 2005 -0400"
      },
      "message": "libata: move atapi_request_sense() to libata-scsi module\n\nNo content changes, just moving code around.\n"
    },
    {
      "commit": "644dd0cc494702ecd0698f467de113ace9593888",
      "tree": "d49e781476dea85a4bfc1b05b6d15ed0a224a747",
      "parents": [
        "87e807b6c461bbd449496a4c3ab78ab164a4ba97"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Oct 03 15:55:19 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Oct 03 15:55:19 2005 -0400"
      },
      "message": "[libata] improve device scan\n\nReplace SCSI\u0027s legacy \"bang at the door\" method of probing with one\ndirectly controlled by the underlying ATA transport layer.\n\nWe now only call scsi_scan_target() for devices we find, rather than\nprobing every possible channel/id within a certain range.\n"
    },
    {
      "commit": "c324b44c34050cf2a9b58830e11c974806bd85d8",
      "tree": "3ac45a783221283925cd698334a8f5e7dd4c1df8",
      "parents": [
        "2fcf522509cceea524b6e7ece8fd6759b682175a",
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:39:55 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:39:55 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/ \n"
    },
    {
      "commit": "1623c81eece58740279b8de802fa5895221f2044",
      "tree": "486aa6a40ea419c14d02bc8561cdb8485f6a5189",
      "parents": [
        "1fdab81e675c6ef76a49b8aabb7eaf4be51d1b80"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "message": "[libata] allow ATAPI to be enabled with new atapi_enabled module option\n\nATAPI is getting close to being ready.  To increase exposure, we enable\nthe code in the upstream kernel, but default it to off (present\nbehavior).  Users must pass atapi_enabled\u003d1 as a module option (if\nmodule) or on the kernel command line (if built in) to turn on\ndiscovery of their ATAPI devices.\n"
    },
    {
      "commit": "da61396d24e37258817e42537c482e962b4742f7",
      "tree": "4293a5d557b8f9fed8a2bac93f1e5c939c7b65c3",
      "parents": [
        "2f058256cb64e346f4fb4499ff4e0f1c2791a4b4",
        "8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:01:43 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:01:43 2005 -0400"
      },
      "message": "Merge upstream kernel into libata \u0027passthru\u0027 branch\n"
    },
    {
      "commit": "70d374ea9907036e15574a5ce89219edd5baee10",
      "tree": "b858bb4a841eb91b1d91b41c33698d05fa7bfb37",
      "parents": [
        "aa7e16d6b88b3b38db0d2ee49ed5e44e7b2045ec",
        "bf4e70e54cf31dcca48d279c7f7e71328eebe749"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "af36d7f0df56de3e3e4bbfb15d0915097ecb8cab",
      "tree": "cbeb3d387b99fe8b83e0ff8631c422e7a0489645",
      "parents": [
        "0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "message": "[libata] license change, other bits\n\n- changes license of all code from OSL+GPL to plain ole GPL\n  - except for NVIDIA, who hasn\u0027t yet responded about sata_nv\n  - copyright holders were already contacted privately\n\n- adds info in each driver about where hardware/protocol docs may be\n  obtained\n\n- where I have made major contributions, updated copyright dates\n"
    },
    {
      "commit": "4887f76ec3d38e99286c9d0fdd6a719174d02e44",
      "tree": "9b691ba8f76dd294f2f792d58663ab69e964233e",
      "parents": [
        "1410b0a7ad3178968c120bad726976fb48ab336b",
        "6885433c25aaca2cb13ee52a94be156163d6aa23"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 03:35:44 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 03:35:44 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027upstream-fixes\u0027\n"
    },
    {
      "commit": "6885433c25aaca2cb13ee52a94be156163d6aa23",
      "tree": "c1960e7a0fa37330b6e8ad9ba228ea31a97d22c7",
      "parents": [
        "f6fdd7d9c273bb2a20ab467cb57067494f932fa3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 02:53:51 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 02:53:51 2005 -0400"
      },
      "message": "libata: release prep (bump versions, etc.)\n\n- bump versions where necessary\n- remove two duplicated+outdated doc comments\n- add MODULE_VERSION() to AHCI driver\n"
    },
    {
      "commit": "8a60a07129fad60bba779a2a4038c7518b167fc7",
      "tree": "3bec0fea8b4c98c51d8865d5144068420f0fd09f",
      "parents": [
        "541134cfe7af179f45458b68421ee1da7bab9cba"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "message": "libata: trim trailing whitespace.\n\nAlso, fixup a tabs-to-spaces block of code in ata_piix.\n"
    },
    {
      "commit": "80bd6d7f5e0d872a0f5a151473d2a39d95d210a8",
      "tree": "b3a36048d6b7de88f7e906624ecb4b98816bb736",
      "parents": [
        "949d33e70f2c3e93bfe5265a50e40175b1ab1ec1",
        "2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Wed Jun 22 13:10:49 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Jun 22 13:10:49 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "7238cfb3342078ad6d1dd06c7b567da428672476",
      "tree": "cc71a055700bb8c66fcbf74aae1a0122fb5f2433",
      "parents": [
        "d582c4ea307873503a68d6d7ab72ee8599e032a9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 29 14:48:20 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 29 14:48:20 2005 -0400"
      },
      "message": "libata: bump version\n"
    },
    {
      "commit": "b095518ef51c37658c58367bd19240b8a113f25c",
      "tree": "fc65e55b8786c48067338b8097bae1cbc13fbaac",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:45:22 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:45:22 2005 -0400"
      },
      "message": "[libata] ATA passthru (arbitrary ATA command execution)\n\nAuthors:\nBrett Russ \u003crussb@emc.com\u003e\nJohn W. Linville \u003clinville@tuxdriver.com\u003e\nAndy Warner \u003candyw@pobox.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
