From: Nikita Danilov <Nikita@Namesys.COM>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Neil Brown <neilb@cse.unsw.edu.au>,
Hans-Peter Jansen <hpj@urpla.net>,
linux-kernel@vger.kernel.org,
Reiserfs mail-list <Reiserfs-List@Namesys.COM>,
"David L. Parsley" <parsley@roanoke.edu>
Subject: Re: [BUG] symlink problem with knfsd and reiserfs
Date: Tue, 15 Jan 2002 19:47:16 +0300 [thread overview]
Message-ID: <15428.23828.941425.774587@laputa.namesys.com> (raw)
In-Reply-To: <E16QVf3-0002NG-00@charged.uio.no>
In-Reply-To: <20020115115019.89B55143B@shrek.lisa.de> <15428.12621.682479.589568@charged.uio.no> <15428.19063.859280.833041@laputa.namesys.com> <E16QVf3-0002NG-00@charged.uio.no>
Trond Myklebust writes:
> On Tuesday 15. January 2002 16:27, Nikita Danilov wrote:
>
> > 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.
>
> Am I right in assuming that you therefore cannot check that the filehandle is
> stale if the client presents you with the filehandle of the 'old' inode
> (prior to deletion)?
> However if the client compares the 'old' and 'new' filehandle, it will find
> them to be different?
Sorry for being vague. Reiserfs keeps global "inode generation counter"
->s_inode_generation in a super block. This counter is incremented each
time reiserfs inode is being deleted on a disk. When new inode is
created, current value of ->s_inode_generation is stored in inode's
on-disk representation. Inode number (objectid in reiserfs parlance) is
reusable once inode was deleted. The same pair (i_ino, i_generation) can
be assigned to different inode only after ->s_inode_generation
overflows, which requires 2**32 file deletions.
So, no, reiserfs can tell stale filehandle, although not as reliable as
file systems with static inode tables.
Hans-Peter, please tell me, what reiserfs format are you using. 3.5
doesn't support NFS reliably. If you are using 3.5 you'll have to
upgrade to 3.6 format (copy data to the new file system). mount -o conv
will not eliminate this problem completely, but will make it much less
probable, so you can try this first.
>
> Cheers,
> Trond
>
Nikita.
next prev parent reply other threads:[~2002-01-15 15:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-15 11:50 [BUG] symlink problem with knfsd and reiserfs Hans-Peter Jansen
2002-01-15 12:06 ` Trond Myklebust
2002-01-15 14:07 ` Nikita Danilov
2002-01-15 13:40 ` Trond Myklebust
2002-01-15 15:27 ` Nikita Danilov
2002-01-15 15:38 ` Trond Myklebust
2002-01-15 16:47 ` Nikita Danilov [this message]
2002-01-15 16:31 ` Hans-Peter Jansen
2002-01-15 17:53 ` Nikita Danilov
2002-01-15 18:01 ` David L. Parsley
2002-01-15 19:30 ` Nikita Danilov
2002-01-15 18:14 ` Hans-Peter Jansen
2002-01-15 19:25 ` Nikita Danilov
2002-01-15 15:32 ` Hans-Peter Jansen
2002-01-15 13:40 ` David L. Parsley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=15428.23828.941425.774587@laputa.namesys.com \
--to=nikita@namesys.com \
--cc=Reiserfs-List@Namesys.COM \
--cc=hpj@urpla.net \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@cse.unsw.edu.au \
--cc=parsley@roanoke.edu \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox