Re: [PATCH 1/2] handling 64bit values for st_ino]

From: Peter Staubach
Date: Thu Nov 10 2005 - 07:57:27 EST


Al Viro wrote:

[My apologies, forgot to Cc the first half...]

Date: Thu, 10 Nov 2005 00:27:29 +0000
From: Al Viro <viro@xxxxxxxxxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxx>
Subject: [PATCH 1/2] handling 64bit values for st_ino
User-Agent: Mutt/1.4.1i

We certainly do not want 64bit kernel ino_t, since that would
screw icache lookups for no good reason; fs with 64bit keys used to
identify inodes can just use iget5().



Has this potential degradation been measured? This is a lot of extra
complexity which needs to justified by the resulting performance.

Fix is pretty cheap and consists of two parts:
1) widen struct kstat ->ino to u64, add a macro (check_inumber()) to
be used in callers of ->getattr() that want to store ->ino in possibly
narrower fields and care about overflows (stuff like sys_old_stat() with
its 16bit st_ino clearly doesn't ;-)


It seems to me that a type with a name which better matches the intended
semantics would be a better choice than u64. Even something like ino64_t
would help file systems maintainers to correctly implement the appropriate
support.

Thanx...

ps
-
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/