an iomap-based direct I/O implementation V4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux