linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* an iomap-based direct I/O implementation V4
@ 2016-11-29 17:28 Christoph Hellwig
  2016-11-29 17:28 ` [PATCH 1/5] locking/lockdep: Provide a type check for lock_is_held Christoph Hellwig
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Christoph Hellwig @ 2016-11-29 17:28 UTC (permalink / raw)
  To: linux-xfs; +Cc: axboe, linux-fsdevel

Hi all,

this series adds a new direct I/O implementation based on the iomap
interface, and switches XFS to use it.

The first two patches are a resend of my earlier series to remove the
XFS iolock.  They are needed for the lockdep assert in the new iomap
code.

The rest implements a new iomap_dio_rw direct I/O implementation and
switches XFS to use it.

It requires a patch from the block tree which we'll need to cherry-pick
into the XFS tree to avoid pulling in the whole block tree:

9cd56d91 ("block: add bio_iov_iter_get_pages()")

To make everyones lifer easie I also have a git tree that includes this
cherry pick:

    git://git.infradead.org/users/hch/vfs.git iomap-dio.4

Note that with this patch I see somewhat increased failure rates on
generic/209.  This is not because of any locking or invalidation changes
in this series, but just because it's always been fundamentally race,
and the new direct I/O code is a lot faster, which causes the direct
writes in this test to race significantly more often with readahead.


Changes since V3:
 - untangle from the block tree

Changes since V2:
 - added a few comments to unconfuse reviewers
 - added a iomap_dio_set_error helper
 - dropped support for not filling holes on writes
 - pulled in a more recent block tree (blk_poll -> blk_mq_poll)

Changes since V1:
 - dropped the bio_iov_iter_get_pages patch, now merged in the block tree
 - rebased on top of a merge of the XFS tree with the block tree
 - stopped using WRITE_ODIRECT which has been removed in the block tree

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

end of thread, other threads:[~2016-11-29 23:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-29 17:28 an iomap-based direct I/O implementation V4 Christoph Hellwig
2016-11-29 17:28 ` [PATCH 1/5] locking/lockdep: Provide a type check for lock_is_held Christoph Hellwig
2016-11-29 17:28 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig
2016-11-29 17:28 ` [PATCH 3/5] fs: make sb_init_dio_done_wq available outside of direct-io.c Christoph Hellwig
2016-11-29 17:28 ` [PATCH 4/5] iomap: implement direct I/O Christoph Hellwig
2016-11-29 17:28 ` [PATCH 5/5] xfs: use iomap_dio_rw Christoph Hellwig
2016-11-29 22:22 ` an iomap-based direct I/O implementation V4 Jens Axboe
2016-11-29 23:18 ` Darrick J. Wong

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).