)]}'
{
  "commit": "920a4b1038e442700a1cfac77ea7e20bd615a2c3",
  "tree": "4209c04b64b021a3e4253a484b108b2475a2860a",
  "parents": [
    "9666f4009c22f6520ac3fb8a19c9e32ab973e828"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "htejun@gmail.com",
    "time": "Fri May 04 21:28:48 2007 +0200"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jeff@garzik.org",
    "time": "Fri May 11 18:01:04 2007 -0400"
  },
  "message": "libata: implement libata.spindown_compat\n\nNow that libata uses sd-\u003emanage_start_stop, libata spins down disk on\nshutdown.  In an attempt to compensate libata\u0027s previous shortcoming,\nsome distros sync and spin down disks attached via libata in their\nshutdown(8).  Some disks spin back up just to spin down again on\nSTANDBYNOW1 if the command is issued when the disk is spun down, so\nthis double spinning down causes problem.\n\nThis patch implements module parameter libata.spindown_compat which,\nwhen set to one (default value), prevents libata from spinning down\ndisks on shutdown thus avoiding double spinning down.  Note that\nlibata spins down disks for suspend to mem and disk, so with\nlibata.spindown_compat set to one, disks should be properly spun down\nin all cases without modifying shutdown(8).\n\nshutdown(8) should be fixed eventually.  Some drive do spin up on\nSYNCHRONZE_CACHE even when their cache is clean.  Those disks\ncurrently spin up briefly when sd tries to shutdown the device and\nthen the machine powers off immediately, which can\u0027t be good for the\nhead.  We can\u0027t skip SYNCHRONIZE_CACHE during shudown as it can be\ndangerous data integrity-wise.\n\nSo, this spindown_compat parameter is already scheduled for removal by\nthe end of the next year and here\u0027s what shutdown(8) should do.\n\n  * Check whether /sys/modules/libata/parameters/spindown_compat\n    exists.  If it does, write 0 to it.\n\n  * For each libata harddisk {\n\t* Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop\n\t  exists.  Iff it doesn\u0027t, synchronize cache and spin the disk\n\t  down as before.\n  }\n\nThe above procedure will make shutdown(8) work properly with kernels\nbefore this change, ones with this workaround and later ones without\nit.\n\nTo accelerate shutdown(8) updates, if the compat mode is in use, this\npatch prints BIG FAT warning for five seconds during shutdown (the\noptimal interval to annoy the user just the right amount discovered by\nhours of tireless usability testing).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c6322c760348f243a30c61ffc22bd63259c3116a",
      "old_mode": 33188,
      "old_path": "Documentation/feature-removal-schedule.txt",
      "new_id": "498ff31f3aa1d57053f71c9ad8f91a4d67ddf16c",
      "new_mode": 33188,
      "new_path": "Documentation/feature-removal-schedule.txt"
    },
    {
      "type": "modify",
      "old_id": "2e2a2fa8e9e9f95d5b5dd3f81f4144527ae29239",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-core.c",
      "new_id": "bf8f65b095910387b662c068a0b3a74380b9ee9b",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-core.c"
    },
    {
      "type": "modify",
      "old_id": "8f800196d5964e77932e06a8fd1b7cf3808b8ed4",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-scsi.c",
      "new_id": "dd81fa78cdcf62039c92993b96843c982ec06ee5",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-scsi.c"
    },
    {
      "type": "modify",
      "old_id": "5f4d40cd32888a9aaae5c3dc76a2bb3d84bd69aa",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata.h",
      "new_id": "316bf8ae453606986f5e1ef89e4531eebe98099f",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata.h"
    }
  ]
}
