linux/Documentation
Tejun Heo 920a4b1038 libata: implement libata.spindown_compat
Now that libata uses sd->manage_start_stop, libata spins down disk on
shutdown.  In an attempt to compensate libata's previous shortcoming,
some distros sync and spin down disks attached via libata in their
shutdown(8).  Some disks spin back up just to spin down again on
STANDBYNOW1 if the command is issued when the disk is spun down, so
this double spinning down causes problem.

This patch implements module parameter libata.spindown_compat which,
when set to one (default value), prevents libata from spinning down
disks on shutdown thus avoiding double spinning down.  Note that
libata spins down disks for suspend to mem and disk, so with
libata.spindown_compat set to one, disks should be properly spun down
in all cases without modifying shutdown(8).

shutdown(8) should be fixed eventually.  Some drive do spin up on
SYNCHRONZE_CACHE even when their cache is clean.  Those disks
currently spin up briefly when sd tries to shutdown the device and
then the machine powers off immediately, which can't be good for the
head.  We can't skip SYNCHRONIZE_CACHE during shudown as it can be
dangerous data integrity-wise.

So, this spindown_compat parameter is already scheduled for removal by
the end of the next year and here's what shutdown(8) should do.

  * Check whether /sys/modules/libata/parameters/spindown_compat
    exists.  If it does, write 0 to it.

  * For each libata harddisk {
	* Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop
	  exists.  Iff it doesn't, synchronize cache and spin the disk
	  down as before.
  }

The above procedure will make shutdown(8) work properly with kernels
before this change, ones with this workaround and later ones without
it.

To accelerate shutdown(8) updates, if the compat mode is in use, this
patch prints BIG FAT warning for five seconds during shutdown (the
optimal interval to annoy the user just the right amount discovered by
hours of tireless usability testing).

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-11 18:01:04 -04:00
..
ABI Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
DocBook devres: kernel-doc and DocBook 2007-05-09 07:02:59 +02:00
RCU [PATCH] rcu: add sched torture type to rcutorture 2006-10-04 07:55:31 -07:00
accounting getdelays.c: fix overrun 2007-05-08 11:15:12 -07:00
aoe Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
arm documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
auxdisplay documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
blackfin blackfin architecture 2007-05-07 12:12:58 -07:00
block misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
cdrom [PATCH] pktcdvd: cleanup 2007-02-11 10:51:28 -08:00
connector
console
cpu-freq misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
cris
crypto documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
device-mapper dm: delay target 2007-05-09 12:30:47 -07:00
driver-model misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
drivers/edac [PATCH] EDAC: Add memory scrubbing controls API to core 2007-02-12 09:48:32 -08:00
dvb documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
early-userspace
fault-injection [PATCH] fault-injection: Correct, disambiguate, and reformat documentation 2006-12-08 08:29:03 -08:00
fb Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
filesystems trivial: s/i_sem /i_mutex/ 2007-05-09 08:58:17 +02:00
firmware_class
fujitsu/frv misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
hrtimer [PATCH] Add debugging feature /proc/timer_stat 2007-02-16 08:13:59 -08:00
hrtimers [PATCH] hrtimers: move and add documentation 2007-02-16 08:13:58 -08:00
hwmon documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
i2c documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
i2o documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
i386 Documentation/i386/boot.txt: update and correct 2007-05-08 20:47:51 -07:00
ia64 Pull mem-attribute into release branch 2007-04-30 13:56:17 -07:00
infiniband IB/umad: Clarify documentation of transaction ID 2007-04-24 21:30:38 -07:00
input misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
ioctl [PATCH] Document how to decode an IOCTL number 2006-12-10 09:55:40 -08:00
isdn documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
kbuild kbuild: small documentation fix in Documentation/kbuild/modules.txt 2007-05-02 20:58:09 +02:00
kdump [PATCH] PPC64 Kdump documentation update 2007-02-20 17:10:15 -08:00
m68k documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
mips [MIPS] Delete Documentation/mips/pci/pci.README 2007-05-11 14:28:30 +01:00
netlabel Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
networking documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
parisc
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
power Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
powerpc misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
s390 documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
scsi documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
serial
sh sh: SH7722 clock framework support. 2007-05-07 02:11:56 +00:00
sound [ALSA] hda-codec - Add ALC861VD Lenovo support 2007-05-11 16:56:18 +02:00
sparc Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
spi SPI kerneldoc 2007-05-08 11:15:16 -07:00
sysctl misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
telephony
uml Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
usb documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
video4linux Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2007-05-11 12:57:16 -07:00
vm SLUB: slabinfo upgrade 2007-05-09 12:30:44 -07:00
w1
watchdog Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
x86_64 [PATCH] x86-64: Dynamically adjust machine check interval 2007-05-02 19:27:19 +02:00
00-INDEX Remove long-unmaintained ftape driver subsystem. 2006-12-03 22:22:41 -05:00
BUG-HUNTING
Changes Fix typos in doc and comments 2006-11-30 05:32:19 +01:00
CodingStyle Fix chapter reference in CodingStyle 2007-05-08 11:15:13 -07:00
DMA-API.txt [PATCH] Pass struct dev pointer to dma_cache_sync() 2006-12-07 08:39:41 -08:00
DMA-ISA-LPC.txt Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
DMA-mapping.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
HOWTO HOWTO: Add a reference to Harbison and Steele 2007-02-07 10:37:13 -08:00
IO-mapping.txt
IPMI.txt [PATCH] IPMI: system interface hotplug 2006-12-07 08:39:47 -08:00
IRQ-affinity.txt
IRQ.txt
MSI-HOWTO.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
ManagementStyle
PCIEBUS-HOWTO.txt
README.DAC960
README.cycladesZ
SAK.txt
SecurityBugs
SubmitChecklist SubmitChecklist: add -W help 2007-05-11 08:29:35 -07:00
SubmittingDrivers Documentation: Ask driver writers to provide PM support 2007-05-08 11:14:59 -07:00
SubmittingPatches doc: what a patch series is 2007-05-09 12:30:50 -07:00
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt
basic_profiling.txt
binfmt_misc.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
cachetlb.txt [ARM] pass vma for flush_anon_page() 2007-01-08 19:49:54 +00:00
cciss.txt Documentation: cciss: detecting failed drives 2007-05-08 11:15:10 -07:00
cli-sti-removal.txt
computone.txt remove mentionings of devfs in documentation 2006-10-03 22:17:48 +02:00
cpqarray.txt
cpu-hotplug.txt Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
cpu-load.txt [PATCH] Documentation: CPU load calculation description 2007-03-01 14:53:39 -08:00
cpusets.txt [PATCH] CPUSETS: add mems to basic usage documentation 2007-04-02 10:06:08 -07:00
cputopology.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
dcdbas.txt
debugging-modules.txt
dell_rbu.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
devices.txt [PATCH] New updated devices.txt - LANANA 2006-12-07 08:39:45 -08:00
digiepca.txt
dnotify.txt
dontdiff [PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff 2007-05-02 19:27:21 +02:00
ecryptfs.txt [PATCH] ecryptfs: fs/Makefile and fs/Kconfig 2006-10-04 07:55:24 -07:00
eisa.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
exception.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
feature-removal-schedule.txt libata: implement libata.spindown_compat 2007-05-11 18:01:04 -04:00
floppy.txt
gpio.txt Documentation/gpio.txt mentions GENERIC_GPIO 2007-05-11 08:29:32 -07:00
hayes-esp.txt
highuid.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
hpet.txt
hw_random.txt
ide.txt ide: make legacy IDE VLB modules check for the "probe" kernel params (v2) 2007-03-03 17:48:55 +01:00
initrd.txt
io_ordering.txt
ioctl-number.txt Misc: add sensable phantom driver 2007-05-08 11:15:14 -07:00
iostats.txt
irqflags-tracing.txt
isapnp.txt
java.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
kernel-doc-nano-HOWTO.txt [PATCH] Discuss a couple common errors in kernel-doc usage. 2007-02-11 10:51:32 -08:00
kernel-docs.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
kernel-parameters.txt Doc Fix: remove mention of combined mode-related kernel parameters 2007-05-09 20:15:47 -04:00
keys-request-key.txt
keys.txt [AF_RXRPC]: Key facility changes for AF_RXRPC 2007-04-26 15:46:23 -07:00
kobject.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
kprobes.txt Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
kref.txt Fix wrong identifier name in Documentation/kref.txt 2007-05-11 19:07:14 +02:00
laptop-mode.txt laptop-mode URL update 2007-05-08 11:15:14 -07:00
ldm.txt
leds-class.txt
local_ops.txt [PATCH] local_t: Documentation 2007-02-11 10:51:32 -08:00
lockdep-design.txt [PATCH] fix lockdep-design.txt 2006-10-11 11:14:24 -07:00
locks.txt
logo.gif
logo.txt
magic-number.txt Magic number prefix consistency change to Documentation/magic-number.txt 2007-05-09 08:58:18 +02:00
mandatory.txt
mca.txt Fix some typos in Documentation/: 'A' 2006-10-03 22:45:33 +02:00
md.txt md: allow reshape_position for md arrays to be set via sysfs 2007-05-09 12:30:57 -07:00
memory-barriers.txt Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
memory.txt
mono.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
moxa-smartio
mtrr.txt
mutex-design.txt
nbd.txt
nfsroot.txt [PATCH] fix the defaults mentioned in Documentation/nfsroot.txt 2007-02-12 09:48:28 -08:00
nmi_watchdog.txt
nommu-mmap.txt [PATCH] NOMMU: Make futexes work under NOMMU conditions 2006-09-27 08:26:15 -07:00
numastat.txt
oops-tracing.txt doc: fix oops-tracing duplicate 2007-05-08 11:15:14 -07:00
paride.txt
parport-lowlevel.txt
parport.txt
pci-error-recovery.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
pci.txt Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
pcieaer-howto.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
pi-futex.txt fix a typo in Documentation/pi-futex.txt 2006-10-03 23:39:02 +02:00
pm.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
pnp.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
preempt-locking.txt
prio_tree.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
ramdisk.txt
rbtree.txt [PATCH] Documentation/rbtree.txt 2007-02-11 10:51:35 -08:00
riscom8.txt
robust-futex-ABI.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
robust-futexes.txt Fix typos in /Documentation : Misc 2006-11-30 05:21:10 +01:00
rocket.txt Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
rpc-cache.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
rt-mutex-design.txt [PATCH] typo fixes for rt-mutex-design.txt 2006-10-01 00:39:24 -07:00
rt-mutex.txt
rtc.txt rtc: remove "RTC_ALM_SET mode" bugs 2007-05-08 11:15:19 -07:00
sched-arch.txt
sched-coding.txt Fix typos in Documentation/: 'H'-'M' 2006-10-03 22:50:39 +02:00
sched-design.txt Fix typos in Documentation/: 'H'-'M' 2006-10-03 22:50:39 +02:00
sched-domains.txt
sched-stats.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
sharedsubtree.txt Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
smart-config.txt
smp.txt
sony-laptop.txt sony-laptop: update documentation and Kconfig help 2007-04-10 16:01:19 -04:00
sonypi.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
sparse.txt [PATCH] update 'getting sparse' info. 2007-03-08 16:47:58 -08:00
specialix.txt
spinlocks.txt
stable_api_nonsense.txt [PATCH] i386: always enable regparm 2006-12-07 02:14:12 +01:00
stable_kernel_rules.txt Fix typos in /Documentation : Misc 2006-11-30 05:21:10 +01:00
stallion.txt
svga.txt
sx.txt
sysrq.txt doc: Update sysrq doc for sh kgdb trigger. 2007-05-07 02:10:53 +00:00
thinkpad-acpi.txt ACPI: thinkpad-acpi: add sysfs support to wan and bluetooth subdrivers 2007-04-28 21:41:20 -04:00
time_interpolators.txt
tipar.txt
tty.txt tty: Clarify documentation of ->write() 2007-05-08 11:14:59 -07:00
unicode.txt
unshare.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
video-output.txt output: Add output class document 2006-12-20 01:46:58 -05:00
voyager.txt
xterm-linux.xpm
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/