Re: [patch 42/52] fs: icache per-cpu last_ino allocator

Nick Piggin
2010-06-24T16:39:10Z

On Thu, Jun 24, 2010 at 06:19:49PM +0200, Andi Kleen wrote:
> On Fri, Jun 25, 2010 at 01:52:43AM +1000, Nick Piggin wrote:
> >
> > That's right. More or less it just requires alloc_inode to be exported,
> > adding more branches in new_inode would not be a good way to go.
>
> One test/branch shouldn't hurt much.

If we go through filesystems anyway may as well just use alloc_inode.

> > > I guess the main customer is sockets only.
> >
> > I guess. Sockets and ram based filesystems. Interestingly I don't know
> > really what it's for (in socket code it's mostly for reporting and
> > hashing it seems). It sure isn't guaranteed to be unique.
>
> Maybe it could be generated lazily on access for those?
> I suppose stat on a socket is relatively rare.
> The only problem is would need an accessor.
>
> But ok out of scope.

Yea that might work. sock_i_ino() and ->dname covers a lot.

> > Well I think glibc will convert 64 bit stat struct to 32bit for
> > old apps. It detects if the ino can't fit in 32 bits.
>
> ... and will fail the stat.

Which is what we're trying to avoid, I guess.