Messages in this thread |  | | Date | Thu, 26 Apr 2001 21:44:44 +0200 | From | Andrea Arcangeli <> | Subject | Re: [PATCH] SMP race in ext2 - metadata corruption. |
| |
On Thu, Apr 26, 2001 at 03:34:00PM -0400, Alexander Viro wrote: > Same scenario, but with read-in-progress started before we do getblk(). BTW,
how can the read in progress see a branch that we didn't spliced yet? We clear and mark uptodate the new part of the branch before it's visible to any reader no? then in splice we write the key into the where->p and the branch become visible to the readers but by that time the reader won't start I/O because the buffer are just uptodate. I only had a short look now and to verify Ingo's fix, so maybe I overlooked something.
> without direct access to device - truncate() doesn't terminate writeout of > the indirect blocks it frees (IMO it should, but that's another story).
If the block is under I/O or dirty that's another story, the only issue here is when the buffer block is new and not uptodate.
Andrea - 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/
|  |