Re: 2.6.22-rc3-mm1 - page_mkwrite() breakage

Mark Fasheh
2007-05-31T23:14:18Z

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.
--Mark

--
Mark Fasheh
Senior Software Developer, Oracle
mark.fasheh@oracle.com