ISO9660 GSoC project report

Christophe Huriaux c.huriaux at
Wed Jul 6 11:29:45 UTC 2011


   I have good news concerning the iso9660 file-system implementation
project as part of the GSoC. My test workbench is now able to mount an
iso9660 volume, to navigate throughout the directory structure and to
perform basic file operations (open/read/close) on the volume. The source
device for the mount operation can be either a block device (and the device
access is thus handled by a libblock bdbuf layer) or a regular file on
another file-system (device I/O is handled with standard posix call in this

  Until the GSoC mid-term deadline (next week), I will concentrate my
efforts on finishing the file management part (the FS still miss some calls
like seek() ), cleaning up the code and add the missing doxygen

  My further work will firstly be dedicated to the improvement of the cache
for this file-system. Since it's a read-only FS I plan to implement a FIFO
cache based on block access time : when a new block has to be put in the
cache, the oldest (from an access time point of view) is uncached (the
smallest entity in the ISO is called a sector and is 2,048 bytes long). This
method should help often accessed blocks to stay in the cache while the less
accessed will be discarded. However, I still need some comments on this
point since I'm not a cache manager guru. :-)

  Another point of the implementation on which I'd like some comments is the
filename formatting. Currently the iso9660 implementation handles only the
real ISO9660 standard-compliant volumes without extension, therefore
filenames and directory names are limited to a tiny character set consisting
of only capital letters, digits and underscore. If one mounts such an ISO
volume under Linux, the names will be displayed and handled lowercase, while
others OS leave them unchanged. I wonder how the RTEMS implementation should
handle them : unchanged (uppercase), lowercase, case-insensitive,
application-defined ?

  For additional information you can refer to :
    - The development blog I maintain during the project : (updated every few days)
    - The RTEMS wiki page about the project : (not complete yet)

Best regards,
Christophe Huriaux
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list