c - fuse :如何在写入之前获取要写入的文件的大小?

标签 c fuse

写入文件时,为每个文件段调用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 函数中,我想确定最后一个段大小何时被 writen。我打算将所有段放入缓冲区,并使用最后写入的段来表示缓冲区现在包含整个对象,以便可以将其放在其他地方(例如对象存储)。通过在写入之前知道正在写入的对象的大小,我可以做一个简单的相等测试 file_size == size + offset 来确定何时写入最后一个段。

最佳答案

显然,我不能。我只能在文件处理程序关闭后将整个对象放在其他地方(例如对象存储)。

关于c - fuse :如何在写入之前获取要写入的文件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645346/

相关文章:

C: 权限被 open() 拒绝(Windows 的 GCC)

apple-m1 - macFUSE 提供 mount_macfuse : mount point . .. 本身位于 macFUSE 卷上 - Apple M1 macOS 12.3

linux - 创建一个显示程序输出的假文件

c - gcc 对包含的文件抛出很多警告

objective-c - 将 GLfloat [] 数组转换为 GLfloat * 数组

c - 在链表中添加节点

c - 如何使用 Eclipse 在 Windows 上构建基于 C 的 MPI 程序?

c++ - fuse (用户空间中的文件系统)错误 : expected primary-expression before ‘.’ token

linux - 可能的架构错误

Java的FileSystemProvider用于用户空间文件系统?