我想创建一个给定长度的非稀疏文件(即2GB),但我想在实际将内容写入磁盘之前检查是否可行。
换句话说,我想避免在写入时获得 ENOSPC (设备上没有剩余空间)。我不想创建一个大小为2GB的“测试文件”或类似的东西,只是为了检查是否有足够的空间。
这可能吗?
答案 0 :(得分:5)
来自说明:
函数posix_fallocate()确保分配磁盘空间 对于由描述符fd引用的文件中的字节 范围从偏移量开始并继续为len个字节。之后 成功调用posix_fallocate(),后续写入字节 保证指定的范围不会因为缺乏而失败 磁盘空间
答案 1 :(得分:3)