bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inode numbers in isofs


From: Marcus Brinkmann
Subject: Re: Inode numbers in isofs
Date: Tue, 6 Aug 2002 14:39:31 +0200
User-agent: Mutt/1.4i

On Fri, Aug 02, 2002 at 04:58:47PM +0200, Ludovic Courtès wrote:
> When running find on an isofs tree (findutils 4.1.7), we get this kind of
> error messages:
> 
>   find: ./.. changed during execution of find

*flinch*.  That's my fault.  Thanks a lot for finding this!  Please test
the below change.  Don't test it for find (only), I did that already.
What you should test is that it does the right thing even if symlinks
and zero length files are on the CD.

Make a test filesystem with lots of weird things, like recursive symlinks,  
directories with only symlinks, directories with only zero length files,
mioxture of that with normal files and directories, create hard links for
files.  Make this filesystem with mkisofs.

Then "loop mount" that with isofs and make a cp -a of the whole tree, and
see that the result is identical with what you started with.  I don't know
if cp -a deals correctly with hard links.  So please also inspect the inode
numbers in the mounted filesystem: Have hard linked files the same inode
number (this should be true unless for zero length files, where they will
have different inode numbers).  Is the directory structure intact (".",
".."), and do symlinks have their own inode number?

If you have fun with that, make a regression test so in the future such bugs
won't happen :)

You need this change (already in CVS):

2002-08-06  Marcus Brinkmann  <marcus@gnu.org>

        * inode.c (use_file_start_id): Use file_start for directories, so
        the inode of the directory is used for the ".." entries in all
        sub-directories.  Contrary to ChangeLog entry 2001-11-27, this is
        safe, because the ISO9660 specification mandates that the first
        entry in every directory must be ".", so a non-file_start using
        directory record can not be the first one.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]