Messages in this thread Patch in this message | | | Date | Fri, 11 Jun 1999 22:59:18 +0200 (CEST) | From | Eric Lammerts <> | Subject | Re: isofs patch for (bad?) CD-R's |
| |
On Fri, 11 Jun 1999, Humberto Ortiz Zuazaga wrote:
> 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 wrote that code. I put the threshold in as a sanity check while I was debugging the stuff but it's not necessary because even with bad CDs infinite loops are not possible. The best thing to do is to remove the check altogether. I've attached a patch against 2.3.6 that does this.
Eric
-- Eric Lammerts <eric@scintilla.utwente.nl>
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread! --- inode.c.orig Fri Jun 11 22:55:37 1999 +++ inode.c Fri Jun 11 22:55:58 1999 @@ -975,13 +975,6 @@ #endif nextino = ino->u.isofs_i.i_next_section_ino; iput(ino); - - if(++i > 100) { - printk("isofs_bmap: More than 100 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; - } } } #ifdef DEBUG @@ -1067,8 +1060,6 @@ if (cpnt) kfree (cpnt); i++; - if(i > 100) - goto out_toomany; } while(raw_inode->flags[-high_sierra] & 0x80); out: brelse(bh); @@ -1083,12 +1074,6 @@ if (cpnt) kfree(cpnt); return 1; -out_toomany: - printk(KERN_INFO "isofs_read_level3_size: " - "More than 100 file sections ?!?, aborting...\n" - "isofs_read_level3_size: inode=%lu ino=%lu\n", - inode->i_ino, ino); - goto out; } void isofs_read_inode(struct inode * inode)
| |