| | Date | Fri, 1 Jun 2007 03:01:29 +0200 | | From | Nick Piggin <> | | Subject | Re: 2.6.22-rc3-mm1 - page_mkwrite() breakage |
| |
On Thu, May 31, 2007 at 04:13:54PM -0700, Mark Fasheh wrote: > On Wed, May 30, 2007 at 11:58:23PM -0700, Andrew Morton wrote: > > git-ocfs2.patch > > Andrew, thanks for getting that back in there. > > > mm-fix-fault-vs-invalidate-race-for-linear-mappings.patch broke ocfs2 shared > writable mmap. We hang on a page lock because ->page_mkwrite() is > being called with the page already locked: > > + /* > + * For consistency in subsequent calls, make the nopage_page always > + * locked. > + */ > + if (unlikely(!(vma->vm_flags & VM_CAN_INVALIDATE))) > + lock_page(nopage_page); > > It wasn't previously being called with the page lock held, intentionally.
Ah, I didn't realise you were using that yet. I expect ocfs2 is using VM_CAN_INVALIDATE there anyway.
Hmm, this becomes easier to deal with after page_mkwrite is merged with ->fault. But for now, can we just lock the page at the do_wp_page site as well, and change the API? All users I have seen want the page locked there anyway...
- 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/
|