Messages in this thread | | | Date | Wed, 26 May 2010 02:01:49 +1000 | From | Nick Piggin <> | Subject | page_mkwrite vs pte dirty race in fb_defio |
| |
Hi,
I couldn't find where this patch (49bbd815fd8) was discussed, so I'll make my own thread. Adding a few lists to cc because it might be of interest to driver and filesystem writers.
The old ->page_mkwrite calling convention was causing problems exactly because of this race, and we solved it by allowing page_mkwrite to return with the page locked, and the lock will be held until the pte is marked dirty. See commit b827e496c893de0c0f142abfaeb8730a2fd6b37f.
I hope that should provide a more elegant solution to your problem. I would really like you to take a look at that, because we already have filesystem code (NFS) relying on it, and more code we have relying on this synchronization, the more chance we would find a subtle problem with it (also it should be just nicer).
Thanks, Nick
| |