Bug 18317

Summary: mkisofs generates corrupt iso9660-filesystem
Product: [Retired] Red Hat Linux Reporter: Need Real Name <sdann>
Component: mkisofsAssignee: Crutcher Dunnavant <crutcher>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-10-17 19:08:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2000-10-04 10:14:21 UTC
Component: mkisofs
Version:  1.12b5 and 1.1.3

mkisofs generates a corrupt iso9660-fs, if one of the files 
- has a length of multiple of 2048 bytes (i.e. 2048, 4096 ...)
- the last 1025 bytes or more are NUL-Chars


Here the session transscript: 

$ ls -l xh.mix        # multiple of 2048 bytes
-rw-rw-r--   1 sd       s3           2048 Oct  2 16:58 xh.mix

$ od -c xh.mix        # last 1025 bytes are NUL
 ....
0001720   e       N   U   L   -   C   H   a   r   s   D   i   e  s   e
0001740       D   a   t   e   i       e   n   t   h \344   l  t       1
0001760   0   2   4       Z   e   i   c   h   e   n       o   h  n  \0
0002000  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 \0  \0
*
0004000


$ mkisofs -v          # which mkisofs 
mkisofs 1.13 
...

$ mkisofs -o /cdimage/image1.raw ./xh.mix
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 27c4
25 extents written (0 Mb)

$ mount /cdimage/image1.raw  /mnt -t iso9660 -o    # mount fs
loop=/dev/loop1,blocksize=1024

$ ls -l /mnt/xh.mix                                                # list iso9660-fs
-r--r--r--   1 root     root         2048 Oct  2 16:58
/mnt/xh.mix

$ cat /mnt/xh.mix                                               # cat file of iso9660-fs
cat: /mnt/xh.mix: Input/output error

Comment 1 Crutcher Dunnavant 2000-10-11 16:05:53 UTC
Misclassified, changing to mkisofs

Comment 2 giulioo 2000-10-11 19:37:31 UTC
I had similar problems. This seems to be a kernel issue that was solved in 
later kernels (# 14069). rh7 is ok.

fs/isofs/inode.c 

--- inode.c.orig        Fri Jun  2 00:47:58 2000
+++ inode.c     Wed Aug  9 12:54:36 2000
@@ -915,7 +915,7 @@
         * If we are beyond the end of this file, don't give out any
         * blocks.
         */
-       if( b_off > inode->i_size )
+       if( b_off >= inode->i_size )
          {
            off_t       max_legal_read_offset;


Comment 3 Crutcher Dunnavant 2000-10-17 19:08:53 UTC
Oops, I should own this.

And this should be closed, if it is a kernel issue.