Re: [sshfs] bug#6331: df reports wrong disk space usage on solaris

2011-09-27 Thread Miklos Szeredi
Jim, Any news about this bug? This problem was again reported against a recent Debian release here: http://article.gmane.org/gmane.comp.file-systems.fuse.sshfs/1200 Thanks, Miklos

Re: [sshfs] bug#6331: df reports wrong disk space usage on solaris

2010-06-16 Thread Miklos Szeredi
On Wed, 16 Jun 2010, Jim Meyering wrote: > Miklos Szeredi wrote: > > On Wed, 16 Jun 2010, Jim Meyering wrote: > >> Miklos Szeredi wrote: > >> > On Thu, 03 Jun 2010, Miklos Szeredi wrote: > >> >> Hmm, actually "struct statfs" on linux does have

Re: bug#6331: [sshfs] df reports wrong disk space usage on solaris

2010-06-16 Thread Miklos Szeredi
On Wed, 16 Jun 2010, Jim Meyering wrote: > Miklos Szeredi wrote: > > On Thu, 03 Jun 2010, Miklos Szeredi wrote: > >> Hmm, actually "struct statfs" on linux does have f_frsize, only the > >> manpage doesn't document it. So correct thing would be to use

Re: fts vs. simulated-inode file systems: FUSE-based, FAT, smbfs, cifs, ...

2006-10-13 Thread Miklos Szeredi
Hi, I've tried out the CVS version of findutils+gnulib, and it does indeed seem to fix the problem with inode-less filesystems, in addition to using noticably less system time. I've also found that the -xdev option of find no longer works: it outputs just a single line for the base directory. Lo

Re: fts vs. simulated-inode file systems: FUSE-based, FAT, smbfs, cifs, ...

2006-10-12 Thread Miklos Szeredi
> Separating the patch into parts wasn't really an option after all. > I've checked this in: Looks great. Thanks. What's the easiest way to try this out? The patch doesn't apply to the gnulib present in findutils-4.3.1, and I have no idea how to graft a new gnulib version into findutils. Thank

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-06 Thread Miklos Szeredi
Looking at the strace there seems to be some other room for optimization: > open("a", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5 > fstat64(5, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 > fcntl64(5, F_SETFD, FD_CLOEXEC) = 0 Seems unnecessary, unless find was given -exec argument.

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-06 Thread Miklos Szeredi
> That's close. > To clarify: with the current fts implementation, the interval between the > initial lstat and subsequent open of the same directory may be arbitrarily > long, but only for 2nd or subsequent command-line arguments -- which > usually translates to 2nd or subsequent members of the ar

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-06 Thread Miklos Szeredi
> >> > In which case the check is not > >> > needed (if O_NOFOLLOW is also available). > >> > >> Unfortunately, we can't yet afford to target only systems with > >> open/O_NOFOLLOW support, and we do care about security on other systems. > > > > I think you misunderstand. > > Not hardly. > > > Wh

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> > In which case the check is not > > needed (if O_NOFOLLOW is also available). > > Unfortunately, we can't yet afford to target only systems with > open/O_NOFOLLOW support, and we do care about security on other systems. I think you misunderstand. What I suggested is to get rid of the check an

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> > > But what about symlinks? > > > > > > a g > > >b h->a > > > c > > > f->g > > > > > > The moment you traverse the f->g symlink above, > > > the entire tree, a/b/c/f, is no longer referenced, > > > so the h->a link may take you back to a new inode, > > > and the cycle

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> So I think the problem we are seeing is not for traversing up the > tree, but for traversing down it. In which case the check is not > needed (if O_NOFOLLOW is also available). And if O_NOFOLLOW is unavailable it would still make sense to move the stat and the open as close to each other as pos

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> > But what about symlinks? > > > > a g > >b h->a > > c > > f->g > > > > The moment you traverse the f->g symlink above, > > the entire tree, a/b/c/f, is no longer referenced, > > so the h->a link may take you back to a new inode, > > and the cycle will not be detected

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> > > > Shouldn't holding the current directory open prevent the ancestor from > > changing inodes in this case? > > No. > What's changed is the identity (dev/inode) of the parent directory, > once you try to chdir("..") "up" beyond the renamed directory. I understand, that that is the case you w

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> >> For example, consider the classic symlink attack. > >> We're not supposed to follow symlinks and our system lacks support > >> for open's O_NOFOLLOW flag. So we lstat the target directory, > >> determine that it is indeed a directory, then open it. But between > >> the lstat and the open, so

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> For example, consider the classic symlink attack. > We're not supposed to follow symlinks and our system lacks support > for open's O_NOFOLLOW flag. So we lstat the target directory, > determine that it is indeed a directory, then open it. But between > the lstat and the open, someone moved it

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> But what about symlinks? > > a g >b h->a > c > f->g > > The moment you traverse the f->g symlink above, > the entire tree, a/b/c/f, is no longer referenced, > so the h->a link may take you back to a new inode, > and the cycle will not be detected. Right. So find eit

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> > This one should work, since the file descriptor in the working > > directory should prevent the inode from going away. Or is there > > something I'm missing? > > We like to have a way of searching a directory hierarchy 10 levels > deep without needing to have 10 open file descriptors.

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-05 Thread Miklos Szeredi
> I suspect that it is possible, and maybe even feasible, to work around > this violation of fundamental assumptions in some limited cases. > However, in general, I think it's not possible, or at least not > worth the effort. > > In spite of that, I have thought about changing fts to be usable eve

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-04 Thread Miklos Szeredi
> > Look at this strace snipplet from 'find /mnt/fuse/tmp/test': > > > > lstat64("/mnt/fuse/tmp/test", {st_dev=makedev(0, 14), st_ino=3}...) = 0 > ... > > open ("/mnt/fuse/tmp/test", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) > > = 5 > > fstat64(5, {st_dev=makedev(0, 14), st_ino=5}) = 0 > > >

Re: Fwd: [bug #17877] Invalid "No such file or directory" error on filesystem without stable inode numbers

2006-10-04 Thread Miklos Szeredi
> Thanks for forwarding that. > I confess I hadn't looked at the original bug report. > Just did, and see that it's a different problem than I first thought. > I now see that this is about the dev/ino check when traversing "up" > to return to a previously visited directory. > > I find it hard to b