#8473: Concerns about ISO 9660 implementation -------------------------------------+---------------------------- Reporter: scdbackup | Owner: nobody Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: File Systems/ISO 9660 | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All -------------------------------------+---------------------------- Comment (by scdbackup): I produced https://dev.haiku-os.org/attachment/ticket/8473/file_of_4gb.iso.bz2 to demonstrate a file with more than one extent: {{{ $ ls -l aaa file_of_4gb zzz -rw-r--r-- 1 thomas thomas 4 2012-04-16 13:07 aaa -rw-r--r-- 1 thomas thomas 4297064448 2012-04-16 13:00 file_of_4gb -rw-r--r-- 1 thomas thomas 4 2012-04-16 13:07 zzz $ xorriso -outdev file_of_4gb.iso -add aaa file_of_4gb zzz -- $ bzip2 file_of_4gb.iso }}} The sequence of directory records bears these ISO 9660 file identifiers: {{{ AAA.;1 FILE_OF_4GB.;1 FILE_OF_4GB.;1 ZZZ.;1 }}} The data blocks of these file are {{{ Report layout: xt , Startlba , Blocks , Filesize , ISO image path File data lba: 0 , 55 , 2097151 , 4297064448 , '/file_of_4gb' File data lba: 1 , 2097206 , 1025 , 4297064448 , '/file_of_4gb' File data lba: 0 , 2098231 , 1 , 4 , '/aaa' File data lba: 0 , 2098232 , 1 , 4 , '/zzz' }}} (Rock Ridge names are listed rather than ECMA-119 identifiers.) "file_of_4gb" actually has 4098 MiB to produce a non-pathetic second extent. Each of its 2 KiB blocks bears at its start the number of its megabyte in ASCII decimal digits. So the block content changes only every full MiB. (When i gave each block its own number as content, the file could not be compressed beyond 2.3 MB.) ---------------------------------------------------------------------- I have re-read ECMA-119 about the sequence of directory records of large files. According to 9.3 the records are sorted by their file identifiers. These identifiers are identical for all extents (File Sections) of a file. So the record of extent N + 1 of a file must directly follow the record of extent N. Further i learned it is "directory record" rather than "directory entry". -- Ticket URL: <http://dev.haiku-os.org/ticket/8473#comment:6> Haiku <http://dev.haiku-os.org> Haiku - the operating system.