patch-2.0.36 linux/fs/isofs/inode.c

Next file: linux/fs/isofs/joliet.c
Previous file: linux/fs/fat/misc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.35/linux/fs/isofs/inode.c linux/fs/isofs/inode.c
@@ -587,7 +587,7 @@
 	int i;
 
 	if (block<0) {
-		printk("_isofs_bmap: block<0");
+		printk("_isofs_bmap: block<0\n");
 		return 0;
 	}
 
@@ -597,7 +597,8 @@
 	 * 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) || 
+		((b_off ==  inode->i_size) && (b_off & (PAGE_SIZE - 1))) )
 	  {
 	    off_t	max_legal_read_offset;
 
@@ -614,7 +615,7 @@
 	    if( b_off >= max_legal_read_offset )
 	      {
 
-		printk("_isofs_bmap: block>= EOF(%d, %ld)", block, 
+		printk("_isofs_bmap: block>= EOF(%d, %ld)\n", block, 
 		       inode->i_size);
 	      }
 	    return 0;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov