Re: [PATCH] cramfs: generate unique inode number for better inode cache usage

Stefani Seibold
2010-12-14T21:01:42Z

Am Dienstag, den 14.12.2010, 12:51 -0800 schrieb Andrew Morton:
> On Sun, 12 Dec 2010 11:48:42 +0100
> stefani@seibold.net wrote:
>
> > This patch generates a unique inode numbers for any entries in the cram file
> > system. For files which did not contain data's (device nodes, fifos and
> > sockets) the offset of the directory entry inside + 1 will be used as the
> > inode number.
> >
> > The + 1 for the inode will it make possible to distinguish between
> > a file which contains no data and files which has data, the later one has
> > a inode value where the lower two bits are always 0.
> >
> > It also reimplement the behavoir to set the size and the number of block
> > to 0 for special file, which is the right value for devices, fifos and
> > sockets.
> >
> > As a little benefit it will be also more compatible which older
> > mkcramfs, because it will never use the cramfs_inode->offset for
> > creating a inode number for special files.
>
> Did you look at using iunique() to generate cramfs inode numbers?

iunique() will create random inode numbers, depending on the order of
the accessed files. My solution returns always the same inode numbers
for the files. It is also faster, because there is no need to lookup
inode cache for the given super block. And at last the generating of the
inode number is very simple.