patch-1.3.7 linux/fs/isofs/dir.c
Next file: linux/fs/proc/inode.c
Previous file: linux/fs/filesystems.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Wed Jul 5 11:27:08 1995
- Orig file:
v1.3.6/linux/fs/isofs/dir.c
- Orig date:
Fri Jun 9 12:08:41 1995
diff -u --recursive --new-file v1.3.6/linux/fs/isofs/dir.c linux/fs/isofs/dir.c
@@ -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));
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this