linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/9] fs: fix up AIO+DIO+O_SYNC to actually do the sync part
@ 2012-11-20  7:41 Darrick J. Wong
  2012-11-20  7:41 ` [PATCH 1/9] vfs: Handle O_SYNC AIO DIO in generic code properly Darrick J. Wong
                   ` (10 more replies)
  0 siblings, 11 replies; 36+ messages in thread
From: Darrick J. Wong @ 2012-11-20  7:41 UTC (permalink / raw)
  To: axboe, tytso, david, jmoyer, bpm, viro, jack
  Cc: linux-fsdevel, hch, linux-ext4, linux-kernel, xfs

Hi everybody,

On March 29th, Jeff Moyer posted to lkml a patchset with this note:

> Currently, AIO+DIO+O_SYNC writes are not actually sync'd (for xfs), or they
> are sync'd before the I/O is actually issued (everybody else).  The following
> patch series fixes this in two parts.  First, for the file systems that use
> the generic routines, Jan has provided some generic infrastructure to perform
> the syncs after the I/O is completed.  Second, for those file systems which
> require some endio processing of their own for O_DIRECT writes (xfs and
> ext4), [Jeff] implemented file system specific syncing.  This passes the
> updated xfs-tests 113 test [Jeff] posted earlier, as well as all of the tests
> in the aio group.  [Jeff] tested ext3, ext4, xfs, and btrfs only.

Since the original post a few months ago, this patchset doesn't seem to have
made any progress.  An internal testing team here discovered that the issue
also affects O_SYNC+AIO+DIO writes to block devices.  Worse yet, since the
flushes were being issued (and waited upon) directly in the io_submit call
graph, the io_submit calls themselves would take a very long time to complete.
Therefore, I added another patch to move the flush to the io_end processing.

The blockdev patch was written by me.  The ext4 patch had to be updated to
accomodate a rework of the ext4 endio code that landed since March.  Everything
else has been passed through from Jeff's March 30th resend, with few changes.

This patchset has been tested (albeit lightly) against 3.7-rc6 on x64, with
ext4, xfs, btrfs, vfat, jfs, hfsplus, ext2, ext3, and raw block devices.

Comments and questions are, as always, welcome.

--D

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2012-11-23  0:09 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-20  7:41 [PATCH v1 0/9] fs: fix up AIO+DIO+O_SYNC to actually do the sync part Darrick J. Wong
2012-11-20  7:41 ` [PATCH 1/9] vfs: Handle O_SYNC AIO DIO in generic code properly Darrick J. Wong
2012-11-21 10:08   ` Christoph Hellwig
2012-11-21 16:58     ` Jeff Moyer
2012-11-21 18:29       ` Christoph Hellwig
2012-11-21 18:38         ` Jeff Moyer
2012-11-21 21:37         ` Jan Kara
2012-11-21 23:09           ` Jeffrey Ellis
2012-11-20  7:41 ` [PATCH 2/9] ext4: honor the O_SYNC flag for aysnchronous direct I/O requests Darrick J. Wong
2012-11-20 10:07   ` Jan Kara
2012-11-20 20:02     ` Jeff Moyer
2012-11-21  0:56       ` Jan Kara
2012-11-21 14:09         ` Jeff Moyer
2012-11-21 16:54           ` Jan Kara
2012-11-20  7:41 ` [PATCH 3/9] xfs: factor out everything but the filemap_write_and_wait from xfs_file_fsync Darrick J. Wong
2012-11-20 10:47   ` Dave Chinner
2012-11-21 10:09   ` Christoph Hellwig
2012-11-21 14:10     ` Jeff Moyer
2012-11-20  7:51 ` [PATCH 7/9] ocfs2: Use generic handlers of O_SYNC AIO DIO Darrick J. Wong
2012-11-21 19:32   ` Joel Becker
2012-11-20  7:51 ` [PATCH 5/9] btrfs: " Darrick J. Wong
2012-11-20  7:51 ` [PATCH 6/9] gfs2: " Darrick J. Wong
2012-11-20  7:51 ` [PATCH 4/9] xfs: honor the O_SYNC flag for aysnchronous direct I/O requests Darrick J. Wong
2012-11-20 10:24   ` Jan Kara
2012-11-20 11:20   ` Dave Chinner
2012-11-20 19:42     ` Jeff Moyer
2012-11-20 20:08       ` Dave Chinner
2012-11-20  7:51 ` [PATCH 8/9] filemap: don't call generic_write_sync for -EIOCBQUEUED Darrick J. Wong
2012-11-20  7:51 ` [PATCH 9/9] blkdev: Fix up AIO+DIO+O_SYNC to do the sync part correctly Darrick J. Wong
2012-11-20 10:15   ` Jan Kara
2012-11-20 20:47     ` Jeff Moyer
2012-11-21  0:57       ` Jan Kara
2012-11-20  8:38 ` [PATCH v1 0/9] fs: fix up AIO+DIO+O_SYNC to actually do the sync part Darrick J. Wong
2012-11-20 14:23 ` Jeff Moyer
2012-11-20 18:57   ` Darrick J. Wong
2012-11-20 19:05     ` Jeff Moyer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).