Re: linux-next: manual merge of the block tree with the vfs tree

From: Christoph Hellwig
Date: Mon Feb 02 2015 - 03:06:19 EST


On Sun, Feb 01, 2015 at 05:56:19AM +0000, Al Viro wrote:
> FWIW, there's an interesting question about the second commit in there -
> what do we want vfs_iter_{read,write}() to do with *iter in case if it
> has hit this:
> if (ret == -EIOCBQUEUED)
> ret = wait_on_sync_kiocb(&kiocb);
>
> Do we require ->read_iter() and ->write_iter() on sync kiocb to do all
> advancing the iter before returning -EIOCBQUEUED? What's more, do we
> ever want to have it returned on sync kiocb? IOW, is there any point
> in having that wait in callers?

See my "[RFC] split struct kiocb" series to sort out that mess. For
now none of the callers relies on the iov_iter being advances, so until
then we can simply ignore that problem until then.

> I'm not sure if ep_io() and ep_aio_rwtail() + wait for completion are
> eqiuvalent; ep_read/ep_write are very easy to turn into sync side of
> ->read_iter/->write_iter and if that's equivalent to ep_aio_read/ep_aio_write
> on sync kiocb + waiting for completion, we are fine.

They are very similar, and yes thet should be moved to iter version of
the methods. I actually started that but then ran into problems with
the aio core that needed addressing first.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/