On Tue, Feb 9, 2021 at 1:42 PM Andrew Morton akpm@linux-foundation.org wrote:
As with s390, alpha is a 64-bit architecture with a 32-bit ino_t. With CONFIG_TMPFS_INODE64=y tmpfs mounts will get 64-bit inode numbers and display "inode64" in the mount options, whereas passing "inode64" in the mount options will fail.
Ugh.
The two patches for s390 and alpha are obviously the right thing to do, but I do wonder if we could strive to make __kernel_ino_t go away entirely.
It's actually not used very much, because it's such a nasty type, and s390 and alpha are the only ones that override it from the default "word length" version (and honestly, even that default is not a great type).
The main use of it is for "ino_t" and for "struct ustat".
And yes, "ino_t" is widely used, but I think pretty much all uses of it are entirely internal to the kernel, and we could just make it be "unsigned long".
Does anybody see any actual user interfaces that depend on "__kernel_ino_t", aka "ino_t" (apart from that "struct ustat")?
I guess this is mostly a question for s390, which is actively maintained?
Linus