Module Name: src Committed By: bouyer Date: Fri Apr 5 18:23:45 UTC 2019
Modified Files: src/sys/dev/ata: wd.c wdvar.h Log Message: Implement a DIRTY flag (copied from sd(4)) so avoid flushing the cache if there has been no write. This avoids a (long) timeout on the flush cache command triggered by atactl sleep, when the device is open only by the atactl command itself. If a drive has no partition open and goes to sleep, the WDF_LOADED flag is clear, and the next open will issue wd_get_params() command. But to wake up the drive a reset is required, and wd_get_params() doens't issue a reset on timeout, so there's no way to wake up the disk. Add a retry after reset to wd_get_params(). Tested by Hauke Fath; fixes PR kern/49457 To generate a diff of this commit: cvs rdiff -u -r1.446 -r1.447 src/sys/dev/ata/wd.c cvs rdiff -u -r1.48 -r1.49 src/sys/dev/ata/wdvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.