Messages in this thread | | | Date | Fri, 18 May 2001 15:46:35 +0100 | From | "Stephen C. Tweedie" <> | Subject | Re: [PATCH] SMP race in ext2 - metadata corruption. |
| |
Hi,
On Fri, May 11, 2001 at 04:54:44PM +0200, Daniel Phillips wrote:
> The only reasonable way I can think of getting a block-coherent view > underneath a mounted fs is to have a reverse map, and update it each > time we map block into the page cache or unmap it.
It's called the "buffer cache", and Ingo's early page-cache code in 2.3 actually did install page-cache backing buffers into the buffer cache as aliases, mainly for debugging purposes.
Even without that, though, an application can achieve almost-coherency via invalidation of the buffer cache before reading it. And yes, this won't necessarily remain coherent over the lifetime of the application process, but then unless the filesystem is 100% quiescent then you don't get that on 2.2 either.
Which is rather the point. If the filesystem is active, then coherency cannot be obtained at the block-device level in any case without knowledge of the fs transaction activity. If the filesystem is quiescent, then you can sync it and flush the buffer cache and you already get the coherency that you need.
Cheers, Stephen - 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/
| |