write()实现应该假设是随机访问,还是可以有一些假设,比如它们将按顺序执行,并且增加偏移量?
您将获得指向描述VFS界面的POSIX或SUS规范部分链接的额外分数。
答案 0 :(得分:4)
随机,确定。 read
和write
接口同时采用大小和偏移量是有原因的。您会注意到不是 seek
结构中的fuse_operations
字段;当用户程序在FUSE文件上调用seek
/ lseek
时,内核文件描述符中的偏移量会更新,但FUSE fs根本不会被通知。稍后的读取和写入只是开始以不同的偏移量向您发送,您应该能够处理它。如果你的实现有些不可能,你应该回复-EIO
你不能满足的写作。
答案 1 :(得分:3)
除非你的FUSE文件系统有什么异常阻止现有文件被打开进行写入,否则你的写操作实现必须支持对任何偏移的写入 - 应用程序可以通过{{写入文件中的任何位置1}} - 在文件打开时在文件中,例如
lseek()