问题标签 [fuse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fuse - FUSE fseek 使用 direct_io 的意外行为
我正在尝试编写一个 FUSE 文件系统,将流式音乐呈现为 mp3 文件。我不想在仅读取 ID3v1.1 标签时开始流式传输音频,因此我使用 direct_io 和 max_readahead=0 安装文件系统。
但是当我这样做时(这也是 libid3tag 所做的),我从末尾读取了 2752 个字节,偏移量为 -2880 个字节:
为什么是这样?我希望得到一个调用来读取一个偏移量正好 128 字节的大小为 10..
读取的字节数似乎有所不同。
c - 是否可以使用带有 FUSE 文件系统的 Linux VFS 缓存?
Linux VFS 缓存似乎默认情况下不适用于 FUSE 文件系统。例如,“read”调用似乎被系统地转发到 FUSE 文件系统。
我在 FUSE 特定的远程文件系统上工作。我需要一个非常激进的缓存。
我需要实现自己的页面缓存吗?或者是否可以为这个特定的 FUSE 文件系统激活 Linux VFS 缓存?或者有人知道一个好的代理/缓存 FUSE 文件系统(或一种 C 库来做到这一点而无需重新发明轮子)?
奖金问题:
如果我必须实现自己的页面缓存,我想使用 REDIS 守护进程来完成 LRU 的工作。我几乎可以肯定它是缓存元数据的好选择。但是对于页面,我不确定它是否会比简单的本地目录(带有 VFS 缓存)或 /dev/shm 更好。但是我会失去LRU自动清洗。有人知道一种带有自动 LRU 清理功能的 /dev/shm 吗?
一些附加信息:文件系统是只读的,远程端几乎是不可变的;远程端包含我无法复制到本地目录的非常大的文件。
fuse - 是否已经存在将每个请求序列化为流的 FUSE 文件系统?
概念:
好处:
- 用高级语言轻松实现服务器(不需要任何依赖于架构的东西,如 JNI 或其他)
- 开箱即用的简单 ad-hoc 网络文件系统。
- 没有实际 FUSE 的可访问性(当它无法访问时):
就像 FUSE 方法的简单 RPC。该协议应该像 IRC 一样简单,并且应该处理 FUSE 可以处理的所有事情。
是否已经有这样的事情或者我应该实施它?
linux - 在 Linux 上使用 FUSE 实现异步文件系统
我试图在 FUSE 的邮件列表上提问,但到目前为止我还没有收到任何回复……我有几个问题。我将实现一个低级 FUSE 文件系统并fuse_chan
使用 epoll 监视 's 描述符。
我必须为我的文件系统中的所有对象伪造 inode 对吗?在 VFS 中为对象选择 inode 是否有任何规则(例如,我必须只使用正值还是可以使用某个范围内的值)?
我可以使 fuse_chan 的描述符成为非阻塞的吗?如果是,请告诉我是否可以假设
fuse_chan_recv()
/fuse_chan_send()
将接收/发送整个请求结构,或者我是否必须使用处理部分发送和接收的函数来覆盖它们?怎么样
buffer size
?我看到fuse_loop()
为每个调用分配了一个新缓冲区,所以我假设缓冲区大小不是固定的。但是,也许有一些最大可能的缓冲区大小?然后我可以分配更大的缓冲区并减少内存分配操作。
python - 分析 fuse-python
我目前正在使用 fuse-python 编写保险丝。它已经在做它应该做的。然而,在它安装了几个星期后,它变得明显变慢了。所以我想分析它。我知道一些可以优化的地方。但这些不应该是罪魁祸首。
但是,fuse-python 会陷入无限循环(参见fuse source 的第 733 和 757 行)。如果我在调试模式下运行保险丝(使用-d
开关),它将在前台运行。但是,我不能用SIGINT
也不用CTRL+C
(无论如何都是一样的)来阻止它。
我尝试使用该signal
模块将信号捕获在主线程中。但这也不起作用。有趣的是,一旦我用 拍下这个过程SIGKILL
,我就会看到KeyboardInterrupt
on stdout
。此外,在 a 之后SIGKILL
,信号处理程序按预期执行。
这会对剖析产生影响。由于该过程永远不会正常终止,因此cProfile
永远没有机会保存统计文件。
有任何想法吗?
amazon-s3 - 将 PDF 直接生成到 s3fs 上的路径(安装的 Amazon S3 存储桶)
有人使用过 Amazon S3 的 s3fs 实用程序吗?
我有一些即时生成大型 PDF 文档的脚本,大多数在 10+ MB 范围内,但有些可能是 2 GB。
将诸如此类的大文件直接生成到 s3fs 驱动器是否有任何危险?
谢谢,布赖恩
c - 在 Eclipse 的用户空间中编译文件系统
我的英语不是最好的,所以我很抱歉。我想使用 fuse 构建自己的文件系统。是否可以在 Eclipse 中执行此项目?尝试执行此操作时遇到一些问题。我已经添加pkg-config fuse --cflags --libs
到“编译器调用参数”,但它没有帮助。请帮忙,克里斯
c - 使用 Fuse-Low Level API
我正在尝试使用 Fuse Low level API 实现基本文件系统。用于基本的读/写/mknod 操作。如果有人能指出一些例子,将不胜感激,没有关于 fuse 低级 api 的文档。
任何帮助都感激不尽!
c - FUSE 文件系统在打开文件时崩溃(仅在发布模式下)
我有一些问题,我找不到解决方案:/ 我需要在我的 fuse 文件系统中打开一个文本文件。在调试中一切正常,但在发布系统中崩溃。我用这个做了一个简单的例子。有人能说出这段代码有什么问题吗?
更新
好的,我找到了解决方案,路径必须是绝对文件路径(不确定这是不是正确的句子),但这里是示例代码,它在发布和调试中都可以使用:
filesystems - 如何在 FUSE 中发出多线程/非阻塞 readdir
现在,readdir()
in FUSE 是一种阻塞方法,这意味着在任何时候都只能调用一个 readdir() 操作。我的文件系统可能需要同时支持繁重的目录操作。有什么建议么?
谢谢