0
我正在嘗試爲Rust中的REST API編寫一個FUSE接口。我正在使用rust-fuse庫。在實現Filesystem
特性時,我需要readdir
回調函數中的目錄路徑,但該函數只需要一個inode!如何找到防鏽保險絲的路徑?
如何找到文件的路徑?它以某種方式嵌入在Request
?
我可以創建一個inode <-> path
地圖,但這會讓事情太複雜。 Python和Haskell FUSE庫都將路徑作爲參數傳遞給回調函數,而不是inode。
fn readdir(&mut self,
req: &Request,
ino: u64,
_fh: u64,
offset: u64,
mut reply: ReplyDirectory) {
// ...
}
是的,它是可行的,但它使邏輯不必要的複雜。添加路徑應該很簡單,因爲對於其他一些功能也是如此,例如'lookup'。找到'let name = data.fetch_path();'在https://github.com/zargony/rust-fuse/blob/86fd79d6b6569cd5f355c0cb5a6811146fc63134/src/request.rs – Hapal
我剛剛克隆了repo並添加了到'readdir'的路徑功能,它工作正常!我會很快做出公關。 – Hapal
@Hapal嘿,那就是作弊!^_ ^但是,這聽起來像是對我的一個很好的答案。 – Shepmaster