[lkml]   [2002]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [BUG] symlink problem with knfsd and reiserfs
Trond Myklebust writes:
> >>>>> " " == Nikita Danilov <Nikita@Namesys.COM> writes:
> > Yes, inode->i_generation is stored in the file handle:
> > fs/reiserfs/inode.c:reiserfs_dentry_to_fh().
> But what is stored in inode->i_generation? AFAICS
> inode->i_generation = le32_to_cpu (INODE_PKEY (inode)->k_dir_id);
> which appears not to be a unique generation count. Isn't that instead
> the directory's object id?

This is only for 3.5 reiserfs format (default for 2.2 kernels), for 3.6
format, generation is stored on the disk (in the same place where rdev
is stored for device files). 3.5 cannot work with nfs reliably.

Hans-Peter, you can check version of reiserfs you use with
/sbin/debugreiserfs /dev/device

cat /proc/fs/reiserfs/device/version

> The point of i_generation is to provide a unique number that changes
> every time you reuse the inode number.

In reiserfs there is no static inode table, so we keep global generation
counter in a super block which is incremented on each inode deletion,
this generation is stored in the new inodes. Not that good as per-inode
generation, but we cannot do better without changing disk format.

> Cheers,
> Trond

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:23    [W:0.095 / U:5.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site