From: Valient G. <vg...@po...> - 2004-09-22 15:33:37
|
I've been experimenting with ways to allow clients to query information about my running filesystem. My goal was to have a ".proc" directory underneath my filesystem directory, which would contain files which could be queried for information. 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? 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? 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.. Has anyone had luck with having proc-style virtual files -- is direct_io for the entire filesystem the only solution? regards, Valient |