[Top][All Lists]

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

[Libcdio-devel] Joliet translated names

From: R. Bernstein
Subject: [Libcdio-devel] Joliet translated names
Date: Sun, 6 Nov 2005 19:38:46 -0500

Hi - 

Good to see vfs_smbcdio moving along. Alas, as you suggest, right now
I think the problem lies more as a failing of libcdio as it currently
exists. (I'd love have someone prove me wrong, but I don't think
that's going to happen.)

It's possible to add an "untranslate" that might handle simple or the
most common cases, but I don't think there is a strict rule that the
Joliet or Rock-Ridge name has to match what's recorded under the
ISO-9660 name via some fixed translation.

Therefore, where the iso9660_stat_t structure now saves only one name
it should probably should save up to 3 filenames: a filename recorded
for ISO9660, the filename recorded via the Rock Ridge extension, and a
filename recorded via Joliet. And when searching for a filename via
one of the iso9660_{i,}fs_stat() routines I guess one may have to
search any of the 3 names or have a parameter indicating how the file
is to be looked up (using Joliet, or Rock Ridge or neither). Sigh.

If anyone has any other thoughts, let me know...

Chris Lalancette writes:
 > All,
 >     I have a question about using the libcdio library, that I just
 > can't seem to figure out by looking at the documentation/examples.
 > Let me lay out the situation:
 > I am updating a Samba VFS module to use libcdio to access CD devices
 > without mounting them.  What the Samba VFS module does is provide all
 > of the "filesystem" system calls; i.e. opendir, readdir, closedir,
 > open, read, write, close, stat, etc. (obviously for CDROM only the
 > read ones work).  So far I have it so that when opendir is called, I
 > use libcdio to find the directory in question, and build up a linked
 > list of entries.  When a readdir is called, I then "pop" one of those
 > entries off.  This works all well and good, as long as I do not use
 > "translated" names.  That is, if I build the linked list with ISO9660
 > (not Joliet) names, when a readdir happens, I return a name like
 > "foo.txt;1", and then that name gets passed back in to a stat(), or
 > open(), or whatever, and works fine.  If I use the name returned from
 > "iso9660_name_translate_ext()", then the stat() or open() cannot find
 > the name.  Basically I think I need an "untranslate", but I'm not
 > quite sure how to go about that.  Is there something obvious I am
 > missing here, or that I am going about in the wrong way?  If you want
 > to see an older version of the code (which exhibits the same
 > problems), please look at
 > Thanks for your help,
 > Chris Lalancette

reply via email to

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