Messages in this thread | | | Date | Tue, 30 May 2006 19:31:52 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [rfc][patch] remove racy sync_page? |
| |
On Tue, 30 May 2006, Nick Piggin wrote: > > But for 2.6.17, how's this?
It was a great emperor's-clothes-like discovery. But we've survived for so many years without noticing, does it have to be fixed right now for 2.6.17? (I bet I'd be insisting yes if I'd found it.)
The thing I don't like about your lock_page_nosync (reasonable as it is) is that the one case you're using it, set_page_dirty_nolock, would be so much happier not to have to lock the page in the first place - it's only doing _that_ to stabilize page->mapping, and the lock_page forbids it from being called from anywhere that can't sleep, which is often just where we want to call it from. Neil's suggestion, using a spin_lock against the mapping changing, would help there; but seems like more work than I'd want to get into.
So, although I think lock_page_nosync fixes the bug (at least in that one place we've identified there's likely to be such a bug), it seems to be aiming at the wrong target. I'm pacing and thinking, doubt I'll come up with anything better, please don't hold breath.
Hugh - 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/
| |