public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Use 64-bit inode numbers internally in the kernel
@ 2006-08-14 21:15 David Howells
  2006-08-14 21:15 ` [RHEL5 PATCH 1/4] Provide fallback full 64-bit divide/modulus ops for gcc David Howells
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: David Howells @ 2006-08-14 21:15 UTC (permalink / raw)
  To: torvalds, akpm; +Cc: linux-kernel, linux-fsdevel, dhowells


These patches make the kernel use 64-bit inode numbers internally, even on a
32-bit system.  They are required because some filesystems have intrinsic
64-bit inode numbers: NFS and XFS for example.  The 64-bit inode numbers are
then propagated to userspace automatically where the arch supports it.

Problems have been seen with userspace (eg: ld.so) using the 64-bit inode
number returned by stat64() or getdents64() to differentiate files, and failing
because the 64-bit inode number space was compressed to 32-bits, and so
overlaps occur.


There are four patches:

 (1) Supply __udivdi3() and __umoddi3() so that the compiler can do 64-bit
     division and modulus.  __udivmoddi4() is also supplied as the other two
     are wrappers around that.

 (2) Make __kernel_ino_t consistently typedef'd to "unsigned long long" on all
     archs.

     Where ino_t has been used in userspace facing structures (such as struct
     stat), it has been replaced with whatever ino_t used to be defined as on
     that arch.

     struct inode::i_ino and struct kstat::ino are changed to ino_t type.

 (3) Fix print format warnings in general code due to the change in type of
     i_ino.  These should now all carry an "ll" modifier.

 (4) As for (3), but fix the CacheFiles code.

David

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2006-08-18 10:33 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-14 21:15 [PATCH 0/4] Use 64-bit inode numbers internally in the kernel David Howells
2006-08-14 21:15 ` [RHEL5 PATCH 1/4] Provide fallback full 64-bit divide/modulus ops for gcc David Howells
2006-08-15  6:44   ` Jan Engelhardt
2006-08-15  8:10   ` Andi Kleen
2006-08-15  8:29     ` David Howells
2006-08-18  8:39       ` Pavel Machek
2006-08-18 10:33         ` David Howells
2006-08-14 21:15 ` [RHEL5 PATCH 2/4] VFS: Make inode numbers 64-bits David Howells
2006-08-15  1:31   ` Al Viro
2006-08-15  8:21     ` David Howells
2006-08-15  9:06       ` Al Viro
2006-08-15  8:32     ` David Howells
2006-08-15  9:02       ` Al Viro
2006-08-15  9:25         ` David Howells
2006-08-15 12:45           ` Stephen Rothwell
2006-08-15  6:48   ` Jan Engelhardt
2006-08-14 21:15 ` [RHEL5 PATCH 3/4] VFS: Clear up u-long-long ino_t print format warnings David Howells
2006-08-14 21:15 ` [RHEL5 PATCH 4/4] VFS: Fix 64-bit ino_t warning in CacheFiles facility David Howells
2006-08-15  0:36 ` [PATCH 0/4] Use 64-bit inode numbers internally in the kernel Josh Boyer
2006-08-15  8:21   ` David Howells
2006-08-15  9:13     ` Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox