他のネットワーク ファイル システムと同様に、FUSE には下層のトランスポート層が必要です。リモート マシン上の何かが実際の I/O を処理できない限り、役に立ちません。
fuse 引数では、ファイル システムで処理できるようにするハンドラーを設定します。たとえば、次のようになります。
static struct fuse_operations const myfs_ops = {
.getattr = my_getattr,
.mknod = my_mknod,
.mkdir = my_mkdir,
.unlink = my_rm,
.rmdir = my_rmdir,
.truncate = my_truncate,
.open = my_open,
.read = my_read,
.write = my_write,
.readdir = my_readdir,
.create = my_create,
.destroy = my_destroy,
.utime = my_utime,
.symlink = my_symlink
};
これは、私の現在の FUSE 実装の 1 つを一般的に書き直したコードです。ご覧のとおり、最小限の機能を持つ FS には、少なくともopen
、read
、write
およびを実装する必要があります。close
これらのメンバーは、それらの操作を行う関数です。HTTP、SSH、FTP、カスタム プロトコルなど、必要に応じて使用できます。ただし、それらを作成する必要があり、リモート サーバー上の何かがそれらに応答する必要があります。
あなたの質問に直接答えるために、機能を自分で実装しない限り、FUSE (それ自体) はあなたが望むことをするつもりはありません。