Re: [PATCH v5 1/5] mm: add vm_insert_mixed_mkwrite()
From: Kirill A. Shutemov <hidden>
Date: 2017-07-24 22:14:00
Also in:
linux-fsdevel, linux-mm, linux-xfs, lkml, nvdimm
From: Kirill A. Shutemov <hidden>
Date: 2017-07-24 22:14:00
Also in:
linux-fsdevel, linux-mm, linux-xfs, lkml, nvdimm
On Mon, Jul 24, 2017 at 11:06:12AM -0600, Ross Zwisler wrote:
@@ -1658,14 +1658,35 @@ static int insert_pfn(struct vm_area_struct *vma, unsigned long addr, if (!pte) goto out; retval = -EBUSY; - if (!pte_none(*pte)) - goto out_unlock; + if (!pte_none(*pte)) { + if (mkwrite) { + /* + * For read faults on private mappings the PFN passed + * in may not match the PFN we have mapped if the + * mapped PFN is a writeable COW page. In the mkwrite + * case we are creating a writable PTE for a shared + * mapping and we expect the PFNs to match. + */
Can we? I guess it's up to filesystem if it wants to reuse the same spot to write data or not. I think your assumptions works for ext4 and xfs. I wouldn't be that sure for btrfs or other filesystems with CoW support. -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>