Steve Lord wrote:
On Mon, 2002-12-09 at 12:01, Buzbee, James wrote:
I've been looking at Robert Love's O_STREAMING patch for the kernel :
http://www.kernel.org/pub/linux/kernel/people/rml/O_STREAMING/v2.4/O_STREAMING-rml-2.4.20-pre9-1.patch
I find that it doesn't quite work as expected with XFS. It patches the
generic_file_read/write routines to drop pages from cache list when a
file is marked as O_STREAMING, but it appears to me as if XFS doesn't
use the generic_file_write routine, but has its own version.
I have a few questions. First, does this patch make sense for XFS?
Could XFS's version of the generic_file_write routine be patched the
same way? Or perhaps there is an equivalent way to accomplish the same
thing using standard XFS.
We do use generic_file_write, it is just buried underneath our own
layer. O_STREAMING sounds like the old dropbehind stuff and should
work just fine.
Hmmm... I'm trying it with 2.4.18 and xfs 1.1 For debugging, I put
"printk's" at the top of generic_file_read and generic_file_write in
linux/mm/filemap.c (the patched file) and I never see any output from
the generic_file_write, just from the generic_file_read.
One issue is that we do allocation of the actual blocks at flush time,
we end up in writepage rather than in submit_bh.
I afraid I don't understand the ramifications of this with respect to
the patch :-(
Jim
Steve
|