Pretty much - need to leave i_size where it was. But there are
apparently reasons why NFS cannot sleepingly lock pages in this particular
context.
> By the way, now that we're all happy with the radix tree, we might
> as well just go traverse that instead of all the mapping->*_pages.
> (Not that I'm seriously suggesting rocking the boat that way just
> now, but it might yield some interesting de-crufting possibilities.)
Oh absolutely.
unsigned long radix_tree_gang_lookup(void **pointers,
unsiged long starting_from_here, unsigned long this_many);
could be used nicely in readahead, drop_behind, truncate, invalidate
and invalidate2. But to use it in writeback (desirable) we would need
additional metadata in radix_tree_node. One bit per page, which means
"this page is dirty" or "this subtree has dirty pages".
I keep saying this in the hope that someone will take pity and write it.
> ...
> Now, what is this invalidate_inode_pages2 seepage about? Called from
> one place. Sheesh.
heh. We still do have some O_DIRECT/pagecache coherency problems.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/