Linux和Windows的IO超时值?

Linux和Windows的IO超时值?,windows,linux,timeout,io,Windows,Linux,Timeout,Io,如果磁盘出现问题,磁盘驱动程序通常会重试。例如,有时Linux SCSI驱动程序会从SCSI驱动器获取忙碌状态并重新发送IO。上层(如FS)将等到: 1.磁盘驱动程序无法处理IO错误并直接报告错误。 2.磁盘驱动程序仍在重试,但出现超时 我的问题是Windows和Linux平台的超时值是多少?例如,如果我调用“write”将一些数据同步发送到磁盘,如果系统调用不能真正写入数据,它将返回多长时间 谢谢 正如Brian指出的,这取决于司机。当驱动程序放弃时,写操作返回。驱动程序放弃的方式和原因取决于

如果磁盘出现问题,磁盘驱动程序通常会重试。例如,有时Linux SCSI驱动程序会从SCSI驱动器获取忙碌状态并重新发送IO。上层(如FS)将等到: 1.磁盘驱动程序无法处理IO错误并直接报告错误。 2.磁盘驱动程序仍在重试,但出现超时

我的问题是Windows和Linux平台的超时值是多少?例如,如果我调用“write”将一些数据同步发送到磁盘,如果系统调用不能真正写入数据,它将返回多长时间


谢谢

正如Brian指出的,这取决于司机。当驱动程序放弃时,写操作返回。驱动程序放弃的方式和原因取决于驱动程序和设备。就其本身而言,没有超时,就像读操作通常具有的那样。

在Linux上,您可以通过读取以下设备上的值,从每个块设备获取IO超时值:

/sys/block/mydevice/device/timeout


默认情况下,该值为60秒。

如果针对某个操作系统,可能会得到更好的答案。也许可以把它分成两个问题,一个是Linux,一个是Windows?我怀疑很多Linux专家也会有Windows方面的专业知识。不仅是针对操作系统,而且针对驱动程序本身。。。。具体到I/O的类型。但是,对于Windows中的IRP,也有一个硬限制。我记得很多。不完全记得,但几乎记得。据我所知,在Windows上,如果未标记为挂起,I/O管理器将在一段时间后取消挂起的IRP。仍然是+1。欢迎。请注意,您也可以通过向该文件写入新值来更改超时。