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

Re: Announcing xorriso-0.4.0



Hi,

> Ordinary mounting sees the hard links counts, but 'ls -i' shows
> different inodes, and thus they cannot be copied out.

This is an inconsistent behavior of the
Linux kernel. For its own reasons it decides
not to interpret the inode numbers stored in
the ISO image - but it interprets the link
counts.
The inode numbers of mounted images get
computed from the byte address of the files'
directory entries.

I am not sure whether it is possible for the
kernel developers to believe xorriso's inode
numbers. If not, then they should not believe
in the link counts either.

The recomputation in Linux risks false duplicates
if the ISO image is larger than 128 GiB.


> 'osirrox -lsl' does not even see the counts.

A shortcomming, i have to confess.

It is not easy to keep track of the link
counts during image manipulation. The inode
numbers get computed when the image is finally
written. Those ISO files which stem from the
same disk file form a family of hardlinks
which share a single inode number.
I have to sort the whole tree in order to
count the family members.


> -extract and -cpx cannot copy them out.

If -hardlinks is set to "on" then the
ISO-to-disk commands of a single program run
should restore the further family members as
hardlinks to the first family member that was
copied to disk.

The paths of hardlink candidates are cached
until the program ends or a new image gets
loaded. So restoring by a further program run
will not know about previously restored
hardlink siblings.

If this does not work properly, then i'd need
a prescription how to reproduce the problem.


> btw, what is the difference, why two copy commands?

-extract is the reverse of -map:
Copy one file or tree to one target address.

-cp*x provides the path semantics of shell
command cp. This includes the odd rules for
cp -r which depend on whether the target
directory already exists.

-extract_l provides similar possibilities as -cp_rax
but with a less obscure mapping of source to target.


> Have I misunderstood something?

If you did not use -harlinks "on" before
the restore commands: yes.
Else: no, you found a bug.


I'll have to do something about the displayed
link count in xorriso. If it only was not so
expensive to determine it.
(For now you can take the Linux kernel's word
 on the link count. So your ISO image does
 contain recorded hardlink relations.)


Have a nice day :)

Thomas


Reply to: