public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kasper Dupont <kasperd@daimi.au.dk>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: isofs hardlink bug (inode numbers different)
Date: Wed, 05 Feb 2003 12:30:36 +0100	[thread overview]
Message-ID: <3E40F5DC.275FFE9D@daimi.au.dk> (raw)
In-Reply-To: b1nd5m$rhp$1@cesium.transmeta.com

"H. Peter Anvin" wrote:
> 
> There are inode numbers stored in RockRidge attributes, but using them
> comes with some humongous caveats:
> 
> First: You have absolutely no guarantee that they are actually
> unique.  Broken software could easily have written them with all
> zeroes.

Maybe we can detect some of the cases with broken software, and
at least provide an option to turn the RockRidge inode numbers
off.

> 
> Second: If there are files on the CD-ROM *without* RockRidge
> attributes, you can get collisions with the synthesized inode numbers
> for non-RR files.

That can easily be solved. RockRidge inode numbers are multiplied
by two, and synthesized inode numbers are all odd. Of course if
the multiplication overflows a fallback to synthesized inode
numbers would be necesarry. Does any software produce inode
numbers large enough to make this a problem?

> 
> Third: If you actually rely on inode numbers to be able to find your
> files, like most versions of Unix including old (but not current)
> versions of Linux, then they are completely meaningless.

Agreed.

> 
> There is another way to generate consistent inodes for hard links,
> which is to use the data block pointer as the "inode number."  This,
> however, has the problem that *ALL* zero-lenght files become "hard
> links" to each other.

That problem can easily be solved. Simply use different methods
for zero-length files and all other files. But there might be
other problems with such an approach:

1) Could two different files have same data block pointer?
   (different sizes perhaps?)
2) Do we need a way to find metadata from the inode number?

-- 
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:aaarep@daimi.au.dk
for(_=52;_;(_%5)||(_/=5),(_%5)&&(_-=2))putchar(_);

  parent reply	other threads:[~2003-02-05 11:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-26 23:55 isofs hardlink bug (inode numbers different) Volker Kuhlmann
2003-02-04  3:48 ` H. Peter Anvin
2003-02-04 21:28   ` Frank van Maarseveen
2003-02-04 21:52     ` H. Peter Anvin
2003-02-05 11:30   ` Kasper Dupont [this message]
2003-02-05 19:41     ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2003-02-10 21:16 James Pearson

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=3E40F5DC.275FFE9D@daimi.au.dk \
    --to=kasperd@daimi.au.dk \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.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