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

2007-07-22 Thread James Youngman
Update of bug #17877 (project findutils): Status:None = Wont Fix Assigned to:None = jay Open/Closed:Open = Closed

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

2006-10-09 Thread Miklos Szeredi
I'm very reluctant to try opening every file in the filesystem just in case it turns out to be a directory we need to descend into. Your reluctance is understandable, since it is incorrect to always open every directory entry. The corresponding file might be a special file, and opening

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

2006-10-08 Thread Paul Eggert
Miklos Szeredi [EMAIL PROTECTED] writes: From what I understand, the solution for the find problem will actually make fts more optimal in some cases even for POSIX filesystems, and will cause no regressions whatsoever. If so, then that's good for fts. The problem will continue to remain for

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

2006-10-08 Thread James Youngman
On 10/7/06, Miklos Szeredi [EMAIL PROTECTED] wrote: Yes, for systems with O_NOFOLLOW, that is a perfect (efficient, race free) solution. For systems without O_NOFOLLOW, just moving the lstat() and the open() close to each other Actually moving the lstat() _after_ the open() totally removes

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

2006-10-07 Thread Miklos Szeredi
The legacy app will break regardless of how many files there are on the filesystem, or even wheter it needs to use the inode number or not. It will break because the stat() family of syscalls will return with an error. I don't see why. The kernel should be able to tell whether the app

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

2006-10-07 Thread Paul Eggert
Miklos Szeredi [EMAIL PROTECTED] writes: If you were thinking of a soltuion, where the filesystem itself supplies two different inode numbers based on the variant of the userspace interface, then I'm sorry to inform you, that this sort of interface is not likely to happen in the Linux kernel.

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

2006-10-07 Thread Miklos Szeredi
If you were thinking of a soltuion, where the filesystem itself supplies two different inode numbers based on the variant of the userspace interface, then I'm sorry to inform you, that this sort of interface is not likely to happen in the Linux kernel. I don't see why not. Because it

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

2006-10-07 Thread James Youngman
On 10/7/06, Miklos Szeredi [EMAIL PROTECTED] wrote: [ JY: I assume that quotes statements by Paul Eggert, but the attribution has been lost ] There must already be such problems with hard links anyway, so this extra problem isn't that much worse. Yes it is. Neither sftp, nor smbfs, nor

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

2006-10-07 Thread Miklos Szeredi
There must already be such problems with hard links anyway, so this extra problem isn't that much worse. Yes it is. Neither sftp, nor smbfs, nor fat support hard links. All of them support rename. Not entiirely accurate. SSHFS supports whatever the underlying remote filesystem

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

2006-10-06 Thread Miklos Szeredi
Follow-up Comment #12, bug #17877 (project findutils): If files are identified by the path, then you can hash the path. If you use a good 64-bit hash the chance of collision is practically zero. That's good enough. Yes. And this solution is actually practical on pure 64bit archs only. On

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

2006-10-06 Thread James Youngman
On 10/6/06, Miklos Szeredi [EMAIL PROTECTED] wrote: Yes. And this solution is actually practical on pure 64bit archs only. On 32bit and dual archs it's not practial, because legacy apps (those compiled without largefile support) will get an EOVERFLOW for stat if the inode number doesn't fit

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

2006-10-06 Thread Paul Eggert
Miklos Szeredi [EMAIL PROTECTED] writes: If files are identified by the path, then you can hash the path. If you use a good 64-bit hash the chance of collision is practically zero. That's good enough. Yes. And this solution is actually practical on pure 64bit archs only. On 32bit and dual

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

2006-10-06 Thread Paul Eggert
Miklos Szeredi [EMAIL PROTECTED] writes: If it's for legacy apps, tell people to recompile with largefile support. Paul, please! It is ridiculous to require end users to recompile their applications or kernels or anything. A small-file legacy app, one that cannot handle files larger than 2

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

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

2006-10-05 Thread Paul Eggert
Follow-up Comment #11, bug #17877 (project findutils): if some Linux-based file systems can't provide stable inode numbers, they should be fixed so that they do. It shouldn't be that hard. It's not hard, it's impossible. Take for example path based network filesystems (smbfs, sshfs). For

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

2006-10-04 Thread Miklos Szeredi
Follow-up Comment #8, bug #17877 (project findutils): Thanks for the patch. I've tested it and it doesn't seem to make any difference. ___ Reply to this item at: http://savannah.gnu.org/bugs/?17877

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

2006-10-04 Thread Miklos Szeredi
Follow-up Comment #8, bug #17877 (project findutils): Thanks for the patch. I've tested it and it doesn't seem to make any difference. Are you using the fts version of find 4.3.x? Yes, find/find from 4.3.1+patch. With find/oldfind the bug doesn't show up. Miklos

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

2006-10-01 Thread James Youngman
On 9/28/06, Eric Blake [EMAIL PROTECTED] wrote: Follow-up Comment #1, bug #17877 (project findutils): There are several Linux filesystems (including smbfs, fat, and some FUSE based ones) which cannot provide stable inode numbers for unreferenced files or directories. OP, can you provide a

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

2006-09-30 Thread Geoff Clare
Follow-up Comment #6, bug #17877 (project findutils): Good point about inode numbers being reused. This means that what you can tell from comparing inode numbers (obtained from pathnames), according to POSIX, is: * If the inode numbers are different, the file is definitely a different file. *

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

2006-09-30 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [Replying outside of savannah, and adding bug-gnulib, since ultimately, the behavior in question is a result of gnulib's fts] According to Geoff Clare on 9/30/2006 5:53 AM: Follow-up Comment #6, bug #17877 (project findutils): Good point about

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

2006-09-30 Thread Jim Meyering
Eric Blake [EMAIL PROTECTED] wrote: ... http://savannah.gnu.org/bugs/?17877 For the gnulib crowd, a summary of the above link is that find 4.3.0, which uses gnulib's fts, is sometimes reporting No such file or directory in the middle of traversal on non-POSIX file systems such as smbfs,

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

2006-09-29 Thread Geoff Clare
Follow-up Comment #3, bug #17877 (project findutils): POSIX does require a file's inode number to be stable. To see this consider what happens if you stat() a pathname and remember the st_dev and st_ino values, then some time later you stat() the same pathname and observe that the st_ino value

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

2006-09-29 Thread Miklos Szeredi
Follow-up Comment #5, bug #17877 (project findutils): BTW, POSIX isn't all that clear about inode numbers. Take this example: touch x rm x mkfifo y Is x and y the same file? Obviously not. Can they have the same inode number? Yes, filesystems do reuse inode numbers. So is st_ino a unique

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

2006-09-28 Thread Eric Blake
Follow-up Comment #1, bug #17877 (project findutils): There are several Linux filesystems (including smbfs, fat, and some FUSE based ones) which cannot provide stable inode numbers for unreferenced files or directories. That's the problem. If an OS can't provide stable inode numbers, it is

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

2006-09-28 Thread Miklos Szeredi
Follow-up Comment #2, bug #17877 (project findutils): I've found the following about st_ino in POSIX: In definitions: 3.175 File Serial Number A per-file system unique identifier for a file. In sys/stat.h: ino_t st_ino File serial number. The st_ino and st_dev fields taken