iso9660 in 1.3.6

roro (rossius@hrz.tu-chemnitz.de)
Tue, 4 Jul 1995 14:57:37 +0200 (MET DST)


Hi,

alberto.vignani@pmn.it reported on linux-gcc problems (directory
listings) with iso9660. This patch works for me - can be wrong.
But somebody should clean the mess. (Who wrote this?:
/*
* This should _really_ be cleaned up some day..
*/
)

Rolf Rossius

--- linux/fs/isofs/dir.c.136 Tue Jul 4 14:14:26 1995
+++ linux/fs/isofs/dir.c Tue Jul 4 14:47:01 1995
@@ -137,6 +137,19 @@
printk("Block, offset, f_pos: %x %x %x\n",
block, offset, filp->f_pos);
#endif
+ /* Next directory_record on next CDROM sector */
+ if (offset == bufsize) {
+ brelse(bh);
+ offset = 0;
+ block = isofs_bmap(inode, (filp->f_pos) >> bufbits);
+ if (!block)
+ return 0;
+ bh = breada(inode->i_dev, block, bufsize, filp->f_pos, inode->i_size);
+ if (!bh)
+ return 0;
+ continue;
+ }
+
de = (struct iso_directory_record *) (bh->b_data + offset);
inode_number = (block << bufbits) + (offset & (bufsize - 1));