From: Miklos S. <mi...@sz...> - 2004-09-22 16:59:34
|
> However, if I don't pre-fill the files then they show up as 0 length, > and the kernel wouldn't issue read requests for a 0 length file. I've > found that if I add "direct_io" option to the FUSE mount, then I get the > read requests, but that also means that my entire filesystem is mounted > with direct_io enabled. Is there a down-side to having direct_io > enabled for normal files? The major downside is that mmap won't work on a direct_io mounted filesystem. The other side effect (which may or may not be problematic for you) is that file data is never cached. > My other attempt was to mount the .proc directory as a second filesystem > (my FUSE interface can handle multiple mounts). However I didn't have > much luck having a FUSE based filesystem mounted as a subdirectory of > another FUSE based filesystem. Is this a FUSE kernel module limitation? No. It's a bug in fusermount, which I've now fixed in the CVS version. This was caused by the "paranoid" behavior of the fuse filesystem that no other user including root can access the filesystem, and fusermount tried to do some operations as root. It now always does it as the mounting user so this problem should go away. > Alternatively, I can pre-fill the files as soon as stat is called on > them, and keep the data around in a temporary file until it is either > forgotten or Open+Read are called. But I don't want to have to generate > the file data until it is actually going to be read.. This has been discussed before doing the direct_io implementation: http://sourceforge.net/mailarchive/message.php?msg_id=8648073 The second option is something like what you describe, and could still be implemented. Miklos |