Re: 2.6.0-test2-mm3 and mysql

From: Matt Mackall (mpm@selenic.com)
Date: Sun Aug 03 2003 - 18:54:18 EST


On Sun, Aug 03, 2003 at 08:11:29PM +0300, Heikki Tuuri wrote:
> Matt,
>
> > On Sun, Aug 03, 2003 at 12:10:01PM +0300, Heikki Tuuri wrote:
> > >
> > > What to do? People who write drivers should run heavy, multithreaded
> file
> > > i/o tests on their computer using some SQL database which calls fsync().
> For
> > > example, run the Perl '/sql-bench/innotest's all concurrently on MySQL.
> If
> > > the problems are in drivers, that could help.
> >
> > Did you know that until test2-mm3, nothing would report errors that
> > occurred on non-synchronous writes? There was no infrastructure to
> > propagate the error back to userspace. If you wrote a page, the write
> > failed on an intermittent I/O error, and then read again, you'd
> > silently get back the old page.
>
> we are not using the Linux async i/o. Do you mean that? Or the flush which
> the Linux kernel does from the file cache to the disk time to time on its
> own? I assume it will write to the system log an error message if a disk
> write fails?

This has nothing to do with the AIO interface.

Any write where the write returns immediately without syncing the file
is asynchronous. This includes most normal write()s where you're not
using O_DIRECT, O_SYNC or somesuch, and writes to memory-mapped files.

And no, prior to -mm3, there was absolutely no indication that these
failed writes occurred. It was simply dropped. Now it should be
reported in the logs and at the next sync point.
 
> The error 5 Shane reported came from a call of fsync(), and apparently he
> also got that same 5 from a simple file read which CHECK TABLE in MyISAM
> does.

Not sure what you're referring to here.

> Why would a write in the Linux async i/o fail? I am using aio on Windows,
> and if the disk space can be allocated, it seems to fail only in the case of
> a hardware failure.

For various reasons, there was previously no infrastructure for
transmitting write failure back to the writer after the page cache had
taken ownership of the write.

-- 
Matt Mackall : http://www.selenic.com : of or relating to the moon
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:22 EST