From: Fareha S. <fa...@ee...> - 2006-11-29 18:41:00
|
Hi, After playing around with fuse for a bit, I'm trying to use it to develop a copy-on-write filesystem. The first problem I'm running into is that I use "/tmp/fuse/ " as the mount point, and I want a stat of "/" to stat the root of my new file system, i.e. /tmp/fuse/, but for some reason the stat never returns and fuse tries a getattr again until eventually after 375 getattr's it says that it can't create anymore threads and everything just hangs. Can FUSE not stat it's mount point? How can I make it do this? Thanks, Fareha |
From: Russ C. <rs...@sw...> - 2006-11-30 00:19:14
|
> After playing around with fuse for a bit, I'm trying to use it to > develop a copy-on-write filesystem. The first problem I'm running into > is that I use "/tmp/fuse/ " as the mount point, and I want a stat of "/" > to stat the root of my new file system, i.e. /tmp/fuse/, but for some > reason the stat never returns and fuse tries a getattr again until > eventually after 375 getattr's it says that it can't create anymore > threads and everything just hangs. Can FUSE not stat it's mount point? > How can I make it do this? No, a FUSE server cannot stat its own mount point, at least not while trying to implement a stat of its own mount point. When someone runs stat("/tmp/fuse", &st) the kernel turns that into a FUSE getattr message sent to your FUSE server. If your FUSE server in turn tries to respond to the getattr call by calling stat("/tmp/fuse", &st), that's just going to create another getattr message for your server to deal with. This is like writing a recursive function without a base case. Presumably you really want to stat("/", &st) in your FUSE server. Russ |
From: Gordon W. <gor...@gm...> - 2006-11-30 02:18:07
|
Are you trying to create a filter like filesystem that is mounted over it's own backing volume? So operations on files in /tmp/fuse will go to your filesystem which is attempting to pass them on to the files that were accessible in /tmp/fuse before your file system was mounted? If so there is some special magic that needs to be done to seperate the two contexts, I believe this setup has been discussed on the list before but I don't recall if it was found to be possible and if so how it was done. On 11/30/06, Fareha Shafique <fa...@ee...> wrote: > Hi, > > After playing around with fuse for a bit, I'm trying to use it to > develop a copy-on-write filesystem. The first problem I'm running into > is that I use "/tmp/fuse/ " as the mount point, and I want a stat of "/" > to stat the root of my new file system, i.e. /tmp/fuse/, but for some > reason the stat never returns and fuse tries a getattr again until > eventually after 375 getattr's it says that it can't create anymore > threads and everything just hangs. Can FUSE not stat it's mount point? > How can I make it do this? > > Thanks, > Fareha > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > fuse-devel mailing list > fus...@li... > https://lists.sourceforge.net/lists/listinfo/fuse-devel > |