lkml.org 
[lkml]   [1999]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subjectisofs patch for (bad?) CD-R's
Date
From
I need someone who actually knows what they're doing to look over this
(trivial) patch.

I need this patch to be able to read CD-R disks recorded on a Win98
machine with a HP CD-Writer+ 8100, by dragging and dropping files onto
the disk in explorer. Of course, Windows has no problem reading the
disk.

With the stock isofs module in redhat 5.2, upgraded with kernel
2.0.36, listing certain directories with large (25MB) files resulted
in a bunch of:

isofs_read_level3_size: More than 100 file sections ?!?, aborting...

messages. The reported file sizes for these files were also too low.
Copying the files also generate the same errors, and the resulting
files are too short.

I raised the threshold for aborting to 200, and the errors still
occurred, at 500 they no longer occur on the test disk I have. I also
tested with the threshold set at 10000, without problems. I'm not
certain what bad effects (long read times for bad CD's?) raising the
threshold further may have.

Here's a patch against 2.3.5, but 2.0 kernels need a slightly
different one.

--- linux-2.3.5/fs/isofs/inode.c Wed May 26 13:01:43 1999
+++ linux/fs/isofs/inode.c Fri Jun 11 10:42:18 1999
@@ -976,8 +976,8 @@
nextino = ino->u.isofs_i.i_next_section_ino;
iput(ino);

- if(++i > 100) {
- printk("isofs_bmap: More than 100 file sections ?!?, aborting...\n");
+ if(++i > 1000) {
+ printk("isofs_bmap: More than 1000 file sections ?!?, aborting...\n");
printk("isofs_bmap: ino=%lu block=%d firstext=%u size=%u nextino=%lu\n",
inode->i_ino, block, firstext, (unsigned)size, nextino);
return 0;
@@ -1067,7 +1067,7 @@
if (cpnt)
kfree (cpnt);
i++;
- if(i > 100)
+ if(i > 1000)
goto out_toomany;
} while(raw_inode->flags[-high_sierra] & 0x80);
out:
@@ -1085,7 +1085,7 @@
return 1;
out_toomany:
printk(KERN_INFO "isofs_read_level3_size: "
- "More than 100 file sections ?!?, aborting...\n"
+ "More than 1000 file sections ?!?, aborting...\n"
"isofs_read_level3_size: inode=%lu ino=%lu\n",
inode->i_ino, ino);
goto out;

--
Humberto Ortiz Zuazaga
Bioinformatics Specialist
Institute of Neurobiology
hortiz@neurobio.upr.clu.edu

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.047 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site