On 2007-12-25 19:40:40 +0100, Joerg Schilling wrote:
> Vincent Lefevre <[EMAIL PROTECTED]> wrote:
> > I've attached an archive containing a directory "dir" (all the files
> > are empty, but what's important is their filename and if they are
> > present or not), the corresponding ISO image obtained on Mac OS X
> > with:
> 
> What happens if you mount this filesystem on Linux with Rock Ridge enabled?

# mount ~vlefevre/tmp/test/test.iso /cdrom -t iso9660 -o loop=/dev/loop/0
# ls -l /cdrom
total 0
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200309.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200310.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200311.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200312.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200401.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200402.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200403.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200404.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200405.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200406.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200407.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200409.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200410.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200411.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200412.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200501.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200502.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200503.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200504.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200505.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200506.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200507.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200508.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200509.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200511.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200512.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200601.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:10:26 access_log-200602.bz2
-rw-r--r-- 1 501 501 0 2007-12-25 18:09:15 footar.bz2

One can see that footar.bz2 is incorrect and that access_log-200408.bz2
and access_log-200510.bz2 are missing. No problem without RR:

# mount ~vlefevre/tmp/test/test.iso /cdrom -t iso9660 -o loop=/dev/loop/0,norock
# ls -l /cdrom
total 0
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200309.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200310.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200311.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200312.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200401.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200402.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200403.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200404.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200405.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200406.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200407.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200408.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200409.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200410.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200411.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200412.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200501.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200502.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200503.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200504.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200505.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200506.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200507.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200508.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200509.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200510.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200511.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200512.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200601.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:10:26 access_log-200602.bz2
-r-xr-xr-x 1 root root 0 2007-12-25 18:09:15 foo.tar.bz2

The log messages just say:

Dec 25 21:01:32 vin kernel: loop: module loaded
Dec 25 21:02:01 vin kernel: ISO 9660 Extensions: Microsoft Joliet Level 1
Dec 25 21:02:01 vin kernel: ISO 9660 Extensions: IEEE_P1282
Dec 25 21:03:46 vin kernel: ISO 9660 Extensions: Microsoft Joliet Level 1

So, no warnings or errors.

> If I mount the filesystem on Solaris, I get the following listing from the 
> mount point:
[...]
> Dec 25 19:10:41 opt hsfs: [ID 196000 kern.notice] NOTICE: hsfs: Warning: file 
> system mounted on /mnt does not use Rock Ridge version >= 1.12:
> Dec 25 19:10:41 opt hsfs: [ID 260047 kern.notice] hard linked files disabled
> Dec 25 19:10:41 opt hsfs: [ID 674684 kern.notice] Due to this error, the file 
> system may not be correctly interpreted.
> Dec 25 19:10:41 opt hsfs: [ID 532498 kern.notice] Other such errors in this 
> file system will be silently ignored.

No problems with hard linked files here, since AFAIK, there aren't ones.

> This is only a hint on the fact that the filesystem follows an
> _outdated_ Rock Ridge standard. This is the same outdated Rock Ridge
> standard that is implemented by genisoimage (Note that genisoimage
> is just a frozen outdated mkisofs). The main problem with the
> outdated Rock Ridge version is that hard links do not work,

Do you mean "do not work" or "are not available"? i.e. when creating an
ISO-9660 image, the software must not try to include hard links because
they are not supposed to be supported?

> but the Linux kernel implementation does not support correct
> hardlinks on iso-9660 either.

I hope that the user would get some warning or error if he tries to
mount an ISO-9660 image using a new RR version.

> There is no problem with the correctness of the Rock Ridge
> structure. Solaris accepts it!

Yes, and no missing files, and all the filenames are correct.

> Conclusion:
> 
> 1)    I need to fix isoinfo and mkisofs to deal correctly with the Apple
>       extensions.
> 
> 2)    The Linux kernel implementation for Rock Ridge is broken and needs
>       to be fixed.

OK. So, I suppose that this bug should be cloned and reassigned to both
genisoimage/cdrkit (since Debian chose to fork, this is their problem
to fix it for their fork) and linux-2.6 (hoping that maximilian attems
won't complain again about this bug not being a kernel bug).

> Once I am done, you should upgrade to the new cdrtools release.
> This will be another reason not to use the fork called "cdrkit".

Thanks a lot.

-- 
Vincent Lefèvre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to