Re: _isofs_bmap messages and hanged 2.1.35

Eric Youngdale (eric@andante.jic.com)
Thu, 17 Apr 1997 22:37:43 -0400


>Apr 17 07:46:33 isas62 kernel: _isofs_bmap: block>= EOF(32, 65536)
>
>and completely hanged system.

These messages aren't going to hang the system unless there is
some sort of race or bug involving logging of messages. You can
ignore these messages - I am enclosing some patches which I hope will
eliminate them, but should at least reduce the number that you get.
The reports that I am getting back from other people are inconsistent,
so lets start with these patches and see where we end up.

-Eric

*** fs/isofs/dir.c.~2~ Sat Mar 15 09:50:45 1997
--- fs/isofs/dir.c Fri Apr 11 08:11:17 1997
***************
*** 155,160 ****
--- 155,165 ----
filp->f_pos = ((filp->f_pos & ~(ISOFS_BLOCK_SIZE - 1))
+ ISOFS_BLOCK_SIZE);
offset = 0;
+ if( filp->f_pos >= inode->i_size )
+ {
+ return 0;
+ }
+
block = isofs_bmap(inode, (filp->f_pos) >> bufbits);
if (!block)
return 0;
*** fs/isofs/namei.c.~1~ Sat Nov 30 05:24:01 1996
--- fs/isofs/namei.c Fri Apr 11 20:15:29 1997
***************
*** 98,103 ****
--- 98,109 ----
offset = 0;
f_pos = ((f_pos & ~(ISOFS_BLOCK_SIZE - 1))
+ ISOFS_BLOCK_SIZE);
+
+ if( f_pos >= dir->i_size )
+ {
+ return 0;
+ }
+
block = isofs_bmap(dir,f_pos>>bufbits);
if (!block || !(bh = bread(dir->i_dev,block,bufsize)))
return 0;