Re: [PATCH] make last_inode counter in new_inode 32-bit on kernelsthat offer x86 compatability

From: Eric Dumazet
Date: Mon Nov 06 2006 - 15:40:41 EST


Jörn Engel a écrit :
On Mon, 6 November 2006 13:47:23 -0500, Jeff Layton wrote:
On Mon, 2006-11-06 at 11:22 -0700, Matthew Wilcox wrote:
On Mon, Nov 06, 2006 at 01:12:05PM -0500, Jeff Layton wrote:
The attached patch remedies this by making the last_inode counter be an
unsigned int on kernels that have ia32 compatability mode enabled.
... and this only happens on ia64/x86_64 kernels, not sparc64, ppc64,
s390x, parisc64 or mips64?
Here's a new (untested) patch that replaces the ia32 specific
compatability mode defines with CONFIG_COMPAT, as suggested by Matthew.

While you're at it, how about making last_ino per-sb instead of
system-wide? ino collisions after a wrap are just as bad as inos
beyond 32bit. And this should be a fairly simple method to reduce the
risk.

Also, do you have a testcase that can actually force the wrap?

while (1) {
int fd[2];
pipe(fd);
close(fd[0]);
close(fd[1]);
}


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/