lkml.org 
[lkml]   [2002]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
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

or
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
>

Nikita.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

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