write(2)在磁盘满的时候的行为

今天一个同事问我关于write(2)在写入文件的时候问题,问题是这样的:

当磁盘剩余空间不能将一次write调用希望写入的数据写完的时候,write是直接返回-1,然后设置errno为ENOSPC,还是先写入一部分数据,将剩余空间占满然后再下一次调用的时候返回错误?

当时发现好像没有考虑过这样的问题,Google了一下,好像没有找到关于这个细节的说明。

阅读更多