From: Nikita Danilov <nikita@clusterfs.com>
To: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Cc: Arjan van de Ven <arjan@infradead.org>,
Benny Halevy <bhalevy@panasas.com>,
Jan Harkes <jaharkes@cs.cmu.edu>,
Miklos Szeredi <miklos@szeredi.hu>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
nfsv4@ietf.org
Subject: Re: Finding hardlinks
Date: Thu, 4 Jan 2007 16:59:32 +0300 [thread overview]
Message-ID: <17821.2116.968666.182913@gargle.gargle.HOWL> (raw)
In-Reply-To: <Pine.LNX.4.64.0701020018330.5162@artax.karlin.mff.cuni.cz>
Mikulas Patocka writes:
> > > BTW. How does ReiserFS find that a given inode number (or object ID in
> > > ReiserFS terminology) is free before assigning it to new file/directory?
> >
> > reiserfs v3 has an extent map of free object identifiers in
> > super-block.
>
> Inode free space can have at most 2^31 extents --- if inode numbers
> alternate between "allocated", "free". How do you pack it to superblock?
In the worst case, when free/used extents are small, some free oids are
"leaked", but this has never been problem in practice. In fact, there
was a patch for reiserfs v3 to store this map in special hidden file but
it wasn't included in mainline, as nobody ever complained about oid map
fragmentation.
>
> > reiser4 used 64 bit object identifiers without reuse.
>
> So you are going to hit the same problem as I did with SpadFS --- you
> can't export 64-bit inode number to userspace (programs without
> -D_FILE_OFFSET_BITS=64 will have stat() randomly failing with EOVERFLOW
> then) and if you export only 32-bit number, it will eventually wrap-around
> and colliding st_ino will cause data corruption with many userspace
> programs.
Indeed, this is fundamental problem. Reiser4 tries to ameliorate it by
using hash function that starts colliding only when there are billions
of files, in which case 32bit inode number is screwed anyway.
Note, that none of the above problems invalidates reasons for having
long in-kernel inode identifiers that I outlined in other message.
>
> Mikulas
Nikita.
next prev parent reply other threads:[~2007-01-04 13:59 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-20 9:03 Finding hardlinks Mikulas Patocka
2006-12-20 11:44 ` Miklos Szeredi
2006-12-20 16:36 ` Mikulas Patocka
2006-12-20 16:50 ` Miklos Szeredi
2006-12-20 19:54 ` Al Viro
2006-12-20 20:12 ` Mikulas Patocka
2006-12-31 15:02 ` Mikulas Patocka
2006-12-21 18:58 ` Jan Harkes
2006-12-21 23:49 ` Mikulas Patocka
2006-12-22 5:05 ` Jan Harkes
2006-12-23 10:18 ` Arjan van de Ven
2006-12-23 14:00 ` Mikulas Patocka
2006-12-28 9:06 ` Benny Halevy
2006-12-28 10:05 ` Arjan van de Ven
2006-12-28 15:24 ` Benny Halevy
2006-12-28 19:58 ` Miklos Szeredi
2006-12-29 0:51 ` Bryan Henderson
2007-01-02 19:15 ` Pavel Machek
2007-01-02 20:41 ` Miklos Szeredi
2007-01-02 20:50 ` Mikulas Patocka
2007-01-02 21:10 ` Miklos Szeredi
2007-01-02 21:37 ` Mikulas Patocka
2007-01-03 11:56 ` Pavel Machek
2007-01-03 12:33 ` Miklos Szeredi
2007-01-03 12:42 ` Pavel Machek
2007-01-11 23:43 ` Denis Vlasenko
2007-01-03 12:45 ` Martin Mares
2007-01-03 13:54 ` Matthew Wilcox
2007-01-03 15:51 ` Miklos Szeredi
2007-01-03 19:04 ` Mikulas Patocka
2007-01-04 22:59 ` Pavel Machek
2007-01-05 8:43 ` Miklos Szeredi
2007-01-05 13:12 ` Pavel Machek
2007-01-05 13:55 ` Miklos Szeredi
2007-01-05 14:08 ` Mikulas Patocka
2007-01-05 15:09 ` Miklos Szeredi
2007-01-05 15:15 ` Miklos Szeredi
2007-01-08 11:27 ` Pavel Machek
2007-01-08 5:57 ` Mikulas Patocka
2007-01-08 8:49 ` Miklos Szeredi
2007-01-08 11:29 ` Pavel Machek
2007-01-08 12:00 ` Miklos Szeredi
2007-01-08 13:26 ` Martin Mares
2007-01-08 13:39 ` Miklos Szeredi
2007-01-09 16:26 ` Steven Rostedt
2007-01-09 19:53 ` Frank van Maarseveen
2007-01-09 20:11 ` Steven Rostedt
2007-01-11 10:07 ` Pádraig Brady
2007-01-09 23:43 ` Bryan Henderson
2007-01-09 23:46 ` Pavel Machek
2007-01-10 0:02 ` Matthew Wilcox
2007-01-10 17:30 ` Bryan Henderson
2007-01-10 17:38 ` Symbolic links vs hard links Bryan Henderson
2007-01-10 17:42 ` Matthew Wilcox
2007-01-11 20:03 ` Bryan Henderson
2007-01-10 19:33 ` Mikulas Patocka
2007-01-10 1:30 ` Finding hardlinks Steven Rostedt
2007-01-05 17:30 ` Frank van Maarseveen
2006-12-28 18:14 ` Mikulas Patocka
2006-12-29 10:34 ` Trond Myklebust
2006-12-30 1:04 ` Mikulas Patocka
2007-01-01 2:30 ` Nikita Danilov
2007-01-01 22:58 ` Mikulas Patocka
2007-01-01 23:05 ` Nikita Danilov
2007-01-01 23:22 ` Mikulas Patocka
2007-01-04 13:59 ` Nikita Danilov [this message]
2007-01-02 23:14 ` Trond Myklebust
2007-01-02 23:50 ` Mikulas Patocka
2006-12-28 13:22 ` Jeff Layton
2006-12-28 15:12 ` Benny Halevy
2006-12-28 15:54 ` Jeff Layton
2006-12-28 16:26 ` Jan Engelhardt
2006-12-28 18:15 ` Bryan Henderson
2006-12-28 18:43 ` Arjan van de Ven
2006-12-29 0:44 ` Bryan Henderson
2006-12-29 3:03 ` Phillip Lougher
2006-12-29 8:41 ` Arjan van de Ven
2006-12-29 15:12 ` Phillip Lougher
2006-12-29 15:43 ` Arjan van de Ven
2006-12-29 8:36 ` Arjan van de Ven
2006-12-29 18:08 ` Bryan Henderson
2006-12-29 18:18 ` Arjan van de Ven
2006-12-29 21:36 ` Bryan Henderson
2006-12-29 22:36 ` Arjan van de Ven
2006-12-28 18:17 ` Mikulas Patocka
2006-12-28 20:07 ` Halevy, Benny
2006-12-29 10:28 ` [nfsv4] " Trond Myklebust
2006-12-31 21:25 ` Halevy, Benny
2007-01-02 23:21 ` Trond Myklebust
2007-01-03 12:35 ` Benny Halevy
2007-01-04 0:43 ` [nfsv4] " Trond Myklebust
2007-01-04 8:36 ` Trond Myklebust
2007-01-04 10:04 ` Benny Halevy
2007-01-04 10:47 ` [nfsv4] " Trond Myklebust
2007-01-04 18:12 ` Bryan Henderson
2007-01-04 18:26 ` Peter Staubach
2007-01-05 8:28 ` Benny Halevy
2007-01-05 10:29 ` Trond Myklebust
2007-01-05 16:40 ` Nicolas Williams
2007-01-05 16:56 ` Trond Myklebust
2007-01-06 7:44 ` Halevy, Benny
2007-01-10 13:04 ` Benny Halevy
2006-12-29 10:12 ` Trond Myklebust
2006-12-31 21:19 ` Halevy, Benny
2007-01-02 23:20 ` Trond Myklebust
2007-01-02 23:46 ` Trond Myklebust
2006-12-28 17:58 ` Bryan Henderson
2006-12-28 18:13 ` Shaya Potter
2006-12-28 22:50 ` Halevy, Benny
2007-01-11 23:35 ` Denis Vlasenko
2006-12-29 10:02 ` Pavel Machek
2007-01-01 22:47 ` Mikulas Patocka
2007-01-01 23:53 ` Jan Harkes
2007-01-02 0:04 ` Mikulas Patocka
2007-01-03 18:58 ` Frank van Maarseveen
2007-01-03 19:17 ` Mikulas Patocka
2007-01-03 19:26 ` Frank van Maarseveen
2007-01-03 19:31 ` Mikulas Patocka
2007-01-03 20:26 ` Frank van Maarseveen
2007-01-12 0:00 ` Denis Vlasenko
2007-01-03 22:30 ` Pavel Machek
2007-01-03 21:09 ` Bryan Henderson
2007-01-03 22:01 ` Frank van Maarseveen
2007-01-03 23:43 ` Mikulas Patocka
2007-01-04 0:12 ` Frank van Maarseveen
2007-01-08 6:19 ` Mikulas Patocka
[not found] <7x5mR-2wX-3@gated-at.bofh.it>
[not found] ` <7x9Ad-18O-35@gated-at.bofh.it>
[not found] ` <7yXEy-UI-39@gated-at.bofh.it>
[not found] ` <7yYKa-2Ds-3@gated-at.bofh.it>
[not found] ` <7zcWP-7ET-5@gated-at.bofh.it>
[not found] ` <7zdzA-jc-27@gated-at.bofh.it>
[not found] ` <7zeP5-2ic-15@gated-at.bofh.it>
[not found] ` <7zgH9-5my-17@gated-at.bofh.it>
[not found] ` <7zJSM-14t-9@gated-at.bofh.it>
[not found] ` <7zSW5-6cj-9@gated-at.bofh.it>
[not found] ` <7zX9l-4rS-7@gated-at.bofh.it>
[not found] ` <7zXMb-5g5-27@gated-at.bofh.it>
2007-01-05 23:54 ` Bodo Eggert
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=17821.2116.968666.182913@gargle.gargle.HOWL \
--to=nikita@clusterfs.com \
--cc=arjan@infradead.org \
--cc=bhalevy@panasas.com \
--cc=jaharkes@cs.cmu.edu \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=mikulas@artax.karlin.mff.cuni.cz \
--cc=nfsv4@ietf.org \
/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;
as well as URLs for NNTP newsgroup(s).