[OpenAFS-devel] using system inodes on linux

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Thu, 30 Jun 2005 17:09:02 -0400


In message <4BC52CD8919C7BF857C880AB@sphinx.andrew.cmu.edu>,Chaskiel M Grundman
 writes:
>Have you tested it on 2.4? There do not appear to be any in-tree=20
>filesystems using the alloc_inode super operation, so I'm not convinced the =

my desktop machine is 2.4.  my test machine is 2.6.  both are running
the same code.  the 2.4 alloc_inode/destroy_inode bits in later 2.4
kernels are very similar to the 2.6 bits.   its just using a different
slab.

>code actually works. Don't you also have to worry about reclaiming inodes
>from the inode_unused list in afs_FindVCache?

i dont know.  i dont think so.  at one point i was worried about this
but afs_FlushVCache removes the inode from the VLRU before it drops the
(hopefully) last reference, so an inode that gets to the unused list
should already be off the VLRU.  this should keep afs_FindVCache from
finding unused inodes.  if afs used iget() this would be a problem.
this does mean that we cant reactivate unused inodes that might be 
hanging around waiting for prune_icache().  but we couldnt before.

>Also, RHEL3's 2.4.21 base does not have the new super ops, so we'd want to=20
>retain the current code for some 2.4's, or do a bsd style split=20
>vnode/vcache implementation (the same thing you would need for 2.2).

i can make it work -- its just not very pretty.