From: Damien Le Moal <dlemoal@kernel.org>
To: AlanCui4080 <me@alancui.cc>,
linux-ide@vger.kernel.org, Niklas Cassel <cassel@kernel.org>
Subject: Re: Default IDENTIFY timeout is 5000ms which is too short for enterprise disks
Date: Thu, 9 Apr 2026 14:01:03 +0200 [thread overview]
Message-ID: <6740c3b7-c63c-4181-b36e-962e07bb468f@kernel.org> (raw)
In-Reply-To: <14015677.uLZWGnKmhe@alanarchdesktop>
On 2026/04/09 12:21, AlanCui4080 wrote:
> Hi,
>
> I have two ST4000NM000A-2HZ100 on my computer which is of seagate enterprise
> line. But when i recovery from suspend, the kernel complains about that and
> the zpool kicks the disk off:
We do not deal with out of tree code. So mentioning something that ZFS does is
not helping. Please check with an upstream file system. E.g. XFS, ext4 or BTRFS.
>
> ```
> ata2: found unknown device (class 0)
> ata4: found unknown device (class 0)
> ata2: found unknown device (class 0)
> ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> ata4: found unknown device (class 0)
> ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> ata4.00: qc timeout after 5000 msecs (cmd 0xec)
> ata4.00: qc timeout after 5000 msecs (cmd 0xec)
> ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
> ata4.00: revalidation failed (errno=-5)
> ata2.00: qc timeout after 5000 msecs (cmd 0xec)
> ata2.00: failed to IDENTIFY (I/O error, err_mask=0x4)
> ata2.00: revalidation failed (errno=-5)
> ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> ata2.00: configured for UDMA/133
> ata4.00: configured for UDMA/133
> ```
> I think that's cause by the too slow spinup for my disk.
> After make libata to wait longer, the warning disappeared.
What kernel version is this ? Did you test with the latest mainline (7.0-rc7) ?
>
> ```
> # cat /proc/cmdline
> libata.ata_probe_timeout=10
> ```
>
> ```
> ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> sd 1:0:0:0: [sda] Starting disk
> ata2.00: configured for UDMA/133
> ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> sd 3:0:0:0: [sdb] Starting disk
> ata4.00: configured for UDMA/133
> ```
>
>
> Meanwhile, the seachest reports that the startup time from standby is 9sec,
> which is longer that the default ATA IDENTIFY timeout.
Your drive is very slow/old. Most modern drives can reply to identify even when
they are not fully spun up.
>
> ```
> /dev/sg0 - ST4000NM000A-2HZ100 - **** - TN04 - ATA
>
> Standby Z : Recovery Time : 90 (in 100msecs)
> ```
>
> ```
> static const unsigned int ata_eh_identify_timeouts[] = {
> 5000, /* covers > 99% of successes and not too boring on failures */
> 10000, /* combined time till here is enough even for media access */
> 30000, /* for true idiots */
> UINT_MAX,
> };
> ```
>
> I tested the hard drive, and as long as it's never set to STANDBY_Z (disk
> stops spinning, requiring 9 seconds to recover) and kept in IDLE_C (platter
> slows down, requiring 3.2 seconds to recover), this error never occurs.
>
> It's been seen many users complaining about this elsewhere, should we quirk
> for those "heavy" disk? Or print some warnings about how to relax this
> problem.
Elsewhere ? That certainly was not on this list as we have seen no problem
reports recently.
And no, we should not introduce a quirk for this. Rather, we should do the same
3-steps timeout for revalidation after a resume from suspend in the same manner
as a regular probe does. Or add a check/wait for "drive ready" when resuming,
similar to the PUIS handling (power up in standby).
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2026-04-09 12:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-09 10:21 Default IDENTIFY timeout is 5000ms which is too short for enterprise disks AlanCui4080
2026-04-09 11:55 ` Damien Le Moal
2026-04-09 12:01 ` Damien Le Moal [this message]
[not found] ` <14062658.dW097sEU6C@alanarchdesktop>
[not found] ` <4482b737-1454-48cb-a941-165aa84fb2eb@kernel.org>
2026-04-10 11:24 ` AlanCui4080
2026-04-10 12:14 ` AlanCui4080
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6740c3b7-c63c-4181-b36e-962e07bb468f@kernel.org \
--to=dlemoal@kernel.org \
--cc=cassel@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=me@alancui.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox