在 SunOS 中,如果系统确保以后每次打开文件之后均可以读取所有写入的数据,写操作即可成功。此检查假设物理存储介质不存在任何故障。如果物理存储介质上的数据映像可用于请求进程,则可成功传输读操作的数据。如果关联数据已成功传输或者 I/O 操作已诊断为不成功,则此操作便已完成。
当出现以下情况时,I/O 操作会实现同步的 I/O 数据完整性:
对于读取,此操作已完成或在不成功时已进行诊断。仅当数据映像已成功传输到请求进程时,读取才会完成。如果在暂挂写入请求影响到数据读取时请求同步的读操作,则这些写入请求会在读取数据之前成功完成。
对于写入,此操作已完成或在不成功时已进行诊断。成功传输在写入请求中指定的数据时,写操作便会成功。此外,还必须成功传输检索数据所需的所有文件系统信息。
检索数据时不必要的文件属性在返回到调用过程之前不会进行传输。
实现同步的 I/O 文件完整性要求所有与 I/O 操作相关的文件属性都必须在返回到调用过程之前成功传输。否则,实现同步的 I/O 文件完整性会等同于实现同步的 I/O 数据完整性。