From: Miklos S. <mi...@sz...> - 2008-02-27 15:30:06
|
> > About statfs? f_bsize is very poorly defined, but to avoid trouble it > > should be set to the same value as f_frsize, which has a well defined > > meaning (see 'man statvfs'). So the value should depend on the > > granularity of space allocation in your filesystem. > > > I checked the man page. My filesystem isn't real; it's all smoke and > mirrors, displaying "files" that upon access trigger actions, so there > isn't actually any space allocation...so f_frsize should be set to zero? > > I initially was putting in the statfs function because directory sizes > are showing up as zero. I'm not sure why (or if it even matters)...I > thought perhaps f_files needed to be provided, but that didn't change > anything. > > But during my testing using -d, the statfs function was never accessed > anyways...is this normal? statfs() is called by 'df' or 'stat -f path'. f_bsize can be set to zero, which will result in 'df' not showing the filesystem. Not implementing the statfs() method has the same effect. Some programs check the free space in statfs(), and if it's zero or too small, then they refuse to write to the filesystem. That's why for example sshfs always displays a dummy value (1000G) for free space. > One other thing I've stumbled upon is that I'd like to be able to list > it in fstab and have it be able to be mounted by any user. But I always > end up with > > fuse: invalid argument `/home/jeff/fuse-test/mountpoint' > > I've tried giving the device in the fstab entry as things like /dev/zero > and such, and even actual zero-filled files, but nothing seem to work. > Tried it as a loopback device too, no luck. How does one go about this? The way to do it is: FSNAME[#src] mountpoint fuse options 0 0 Mount will search in the path for the program FSNAME and start that with the given arguments and options. Fuse-2.7 supports a nicer format as well: src mountpoint fuse.FSNAME options 0 0 But currently you also need to create a symlink for this to work: ln -s mount.fuse /sbin/mount.FSNAME Miklos |