在 FUSE 的 truncate() 中获取 fuse_file_info
Acquire fuse_file_info in FUSE's truncate()
是否可以在函数truncate()
中获取struct fuse_file_info* fi
?为什么它一开始就不存在?
int truncate(const char* path, off_t size)
我将文件描述符存储在 fuse_file_info
结构的文件处理程序 fh
中。似乎事先调用了函数 open()
,以便为文件创建结构。 fh
的描述是:“文件句柄。可能由文件系统在 open() 中填写。可用于所有其他文件操作”。
(作为最后的手段,我正在考虑使用一个结构来存储此信息,保存到哈希映射中,然后使用文件处理程序来存储密钥。这将允许我搜索结构,使用path
,以便找到相应的文件描述符。)
注意:我实际上使用的是 jnr-fuse
,但因为它模仿了 libfuse
,所以我并没有特别要求它;对一个人有用的东西应该(某种程度上)对另一个人有用。
Why is it not there in the first place?
因为在 Linux 内核中实现了 truncate
。可以看到签名here.
是否可以在函数truncate()
中获取struct fuse_file_info* fi
?为什么它一开始就不存在?
int truncate(const char* path, off_t size)
我将文件描述符存储在 fuse_file_info
结构的文件处理程序 fh
中。似乎事先调用了函数 open()
,以便为文件创建结构。 fh
的描述是:“文件句柄。可能由文件系统在 open() 中填写。可用于所有其他文件操作”。
(作为最后的手段,我正在考虑使用一个结构来存储此信息,保存到哈希映射中,然后使用文件处理程序来存储密钥。这将允许我搜索结构,使用path
,以便找到相应的文件描述符。)
注意:我实际上使用的是 jnr-fuse
,但因为它模仿了 libfuse
,所以我并没有特别要求它;对一个人有用的东西应该(某种程度上)对另一个人有用。
Why is it not there in the first place?
因为在 Linux 内核中实现了 truncate
。可以看到签名here.