Re: Clear PG_error before reading a page

2007-05-29 Thread Johann Lombardi
On Thu, May 17, 2007 at 09:47:30AM -0700, Andrew Morton wrote: > So running ioctl(BLKFLSBUF) against the device will fix things up? No, 'blockdev --flushbufs /dev/sdb' doesn't help. > Perhaps not, and we should invalidate all the file data as well. The > only ways we have of doing that are umount

Clear PG_error before reading a page

2007-05-15 Thread Johann Lombardi
block() fails. Besides, we should handle this in block_read_full_page but also in other places that do full page reads. Any comments? I am not able to reproduce the problem with the patch below. Johann Signed-off-by: Johann Lombardi <[EMAIL PROTECTED]> -- --- linux-2.6.12.6.orig/fs/buffer.c

Re: Clear PG_error before reading a page

2007-05-15 Thread Johann Lombardi
On Tue, May 15, 2007 at 10:11:44AM -0700, Andrew Morton wrote: > We need to make sure that this page has PG_uptodate cleared, so > that a re-read is forced. And the affected buffer_head, if any, should have > buffer_uptodate() cleared. ok. > This change might have horrid interactions with readah

Re: Clear PG_error before reading a page

2007-05-16 Thread Johann Lombardi
On Tue, May 15, 2007 at 02:23:39PM -0700, Andrew Morton wrote: > > Yes, indeed. However, as soon as a call to get_block() fails, > > do_mpage_readpage() will call block_read_full_page() which will attach > > buffers to this page. > > Consequently, all subsequent reads will go through block_read_ful

Re: Clear PG_error before reading a page

2007-05-17 Thread Johann Lombardi
On Wed, May 16, 2007 at 09:12:17AM -0700, Andrew Morton wrote: > > Basically, my problem is that afterwards, when the device no longer returns > > any errors, the PG_error flag is never cleared and, as a result, I keep > > getting -EIO. That's the problem I'd like to address. > > > > hm, OK. So,