Re: an iomap-based direct I/O implementation V3

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

 



On Tue, Nov 22, 2016 at 04:12:56PM -0700, Jens Axboe wrote:
> On 11/22/2016 03:52 PM, Dave Chinner wrote:
> >On Sun, Nov 13, 2016 at 08:07:29PM +0100, Christoph Hellwig wrote:
> >>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.
> >>
> >>Note that this series is on top of a merge of the XFS for-next
> >>tree with the block tree, which has a new helper needed for this
> >>implementation.  This is the block tree it's on top of:
> >>
> >>    git://git.kernel.dk/linux-block for-4.10/block
> >
> >This tree fails compilation for me.
> >
> >block/blk-flush.c: In function "flush_data_end_io":
> >block/blk-flush.c:369:20: error: "REQ_STARTED" undeclared (first use in this function)
> >  rq->cmd_flags &= ~REQ_STARTED;
> >                    ^~~~~~~~~~~
> >block/blk-flush.c:369:20: note: each undeclared identifier is reported only once for each function it appears in
> >
> >Should be RQF_STARTED, right?
> 
> My branch is fine, I'm guessing it's Christophs merge with master that
> broke things.

No, I merged an hour old for-4.10/block into a pristine 4.9-rc6 tree
and got this error.

> The blk-flush.c thing doesn't throw a merge conflict, but
> you still have to resolve it...

I've never seen an unreported merge problem like this before - if
there are hunks being silently dropped on the floor during a merge,
then I'd say we have a git bug.... Indeed, there were reported
conflicts I resolved, but there was nothing that pointed me at the
above being a merge issue until after I'd committed the merge and
went to build the result...

> >>To make everyones life easie I also have a git tree with the merge
> >>plus the patches in this series available here:
> >>
> >>    git://git.infradead.org/users/hch/vfs.git iomap-dio.3
> >
> >Is there a stable topic branch with all the relevant block changes
> >in it? I'd like to pull this into the XFS tree so I can test it, but
> >these things need to be pulled from the block tree:
> >
> >	- REQ_IDLE is undefined
> >	- bio_iov_iter_get_pages() is undefined
> >	- blk_mq_poll() is undefined
> >
> >Having these in a stable topic branch (or set of branches) would
> >make this much easier for me....
> 
> You can use my for-next, it has the block/fs changes and merged with
> whatever should conflict with current Linus.

I don't want to pull the entire block tree into the XFS tree, just
the bare minimum needed to resolve the missing functionality this
patchset requires. We do this regularly with filesystem trees to
resolve cross-fs development dependencies....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
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