Messages in this thread | | | Date | Sun, 31 Dec 2006 16:02:33 +0100 (CET) | From | Mikulas Patocka <> | Subject | Re: Finding hardlinks |
| |
On Wed, 20 Dec 2006, Al Viro wrote:
> On Wed, Dec 20, 2006 at 05:50:11PM +0100, Miklos Szeredi wrote: >> I don't see any problems with changing struct kstat. There would be >> reservations against changing inode.i_ino though. >> >> So filesystems that have 64bit inodes will need a specialized >> getattr() method instead of generic_fillattr(). > > And they are already free to do so. And no, struct kstat doesn't need > to be changed - it has u64 ino already.
If I return 64-bit values as ino_t, 32-bit programs will get EOVERFLOW on stat attempt (even if they are not going to use st_ino in any way) --- I know that POSIX specifies it, but the question is if it is useful.
What is the correct solution? Mount option that can differentiate between 32-bit colliding inode numbers and 64-bit non-colliding inode numbers? Or is there any better idea.
Given the fact that glibc compiles anything by default with 32-bit ino_t, I wonder if returning 64-bit inode number is possible at all.
Mikulas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |