LWN.net Logo

fs io with struct page instead of iovecs

From:  Zach Brown <zach.brown@oracle.com>
To:  linux-fsdevel@vger.kernel.org
Subject:  [RFC] fs io with struct page instead of iovecs
Date:  Tue, 6 Nov 2007 17:43:27 -0800
Message-ID:  <11943998113245-git-send-email-zach.brown@oracle.com>
Cc:  Christoph Hellwig <hch@infradead.org>, David Chinner <dgc@sgi.com>
Archive-link:  Article, Thread

At the FS meeting at LCE there was some talk of doing O_DIRECT writes from the
kernel with pages instead of with iovecs.  This patch series explores one
direction we could head in to achieve this.

We obviously can't just translate user iovecs (which might represent more
memory than the machine has) to pinned pages and pass page struct pointers all
the way down the stack.

And we don't want to duplicate a lot of the generic FS machinery down a
duplicate path which works with pages instead of iovecs.

So this patch series heads in the direction of abstracting out the memory
argument to the read and write calls.  It's still based on segments, but we
hide that it's either iovecs or arrays of page pointers from the callers in the
rw stack.

I didn't go too nuts with the syntactic sugar.  This is just intended to show
the basic mechanics.  We can obviously pretty it up if we think this is a sane
thing to be doing.

The series builds but has never been run.

What do people (that's you, Christoph) think?  I'm flexible.
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds