写入文件时,为每个文件段调用fuse_operations
中.write
对应的write
函数。
这意味着对于更大的文件(例如 12720 字节),可以使用
调用写入函数 4 次1. size=4096, offset=0
2. size=4096, offset=4096
3. size=4096, offset=8192
4. size=432, offset=12288
因为它有 4 个段,最大段大小为 4096 字节。
在 write
函数中,我想确定最后一个段大小何时被 write
n。我打算将所有段放入缓冲区,并使用最后写入的段来表示缓冲区现在包含整个对象,以便可以将其放在其他地方(例如对象存储)。通过在写入之前知道正在写入的对象的大小,我可以做一个简单的相等测试 file_size == size + offset
来确定何时写入最后一个段。
最佳答案
显然,我不能。我只能在文件处理程序关闭后将整个对象放在其他地方(例如对象存储)。
关于c - fuse :如何在写入之前获取要写入的文件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645346/