On Fri, Nov 17, 2006 at 08:43:00AM -0500, Jeff Layton wrote: > +/* convert an inode address into an unsigned int and xor it with a random value > + * determined at boot time */ > +static inline unsigned int inode_to_uint (struct inode *inode) > +{ > + return ((((unsigned long) (inode - (struct inode *) 0)) > + ^ inode_xor_mask) & 0xffffffff); > +} Seems a little obfuscated. Why not simply: return ((unsigned long)inode ^ inode_xor_mask) & 0xffffffff; > @@ -125,7 +135,6 @@ static struct inode *alloc_inode(struct > inode->i_size = 0; > inode->i_blocks = 0; > inode->i_bytes = 0; > - inode->i_generation = 0; > #ifdef CONFIG_QUOTA > memset(&inode->i_dquot, 0, sizeof(inode->i_dquot)); > #endif It seems to me that filesystems with fake inodes could instead initialise i_generation to, say, jiffies. What do you think to that? I like this idea, very creative. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html