Cc: David Chinner <dgc@...>, Jeremy Fitzhardinge <jeremy@...>, dean gaudet <dean@...>, Nick Piggin <nickpiggin@...>, Xen-devel <xen-devel@...>, <Morten@...>, Linux Kernel Mailing List <linux-kernel@...>, Bøgeskov <xen-users@...>, <xfs@...>, <xfs-masters@...>, Mark Williamson <mark.williamson@...>
On Tue, Oct 23, 2007 at 01:35:14AM +0200, Andi Kleen wrote:
.....
There seems to be little evidence of that occurring around the place.
Right, but it also points to the fact that it's not causing problems
from 99.999% of ppl out there.
No, I did not say that. I said that there's no evidence that points to
this causing problems anywhere.
Difficult - yes. All the btree code in XFS would have to be rewritten
to remove the assumption that the buffer structures are contiguous in
memory. Any bug we introduce in doing this will result in on disk corruption,
which is far worse than occasionally crashing a machine with a stray
mapping.
You mean like vmap() could record the pages passed to it in the area->pages
array, and we walk and release than in __vunmap() like it already does
for vfree()?
If we did this, it would probably be best to pass a page release function
into the vmap or vunmap call - we'd need page_cache_release() called on
the page rather than __free_page()....
The solution belongs behind the vmap/vunmap interface, not in XFS....
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
-