Re: [PATCH 10/13] mm: Wire up MAP_SYNC
From: Jan Kara <jack@suse.cz>
Date: 2017-08-24 07:16:28
Also in:
linux-fsdevel, linux-xfs, nvdimm
On Wed 23-08-17 11:43:49, Christoph Hellwig wrote:
On Thu, Aug 17, 2017 at 06:08:12PM +0200, Jan Kara wrote:quoted
Pretty crude for now... Signed-off-by: Jan Kara <jack@suse.cz> --- fs/ext4/file.c | 2 ++ include/linux/mm.h | 1 + include/linux/mman.h | 3 ++- include/uapi/asm-generic/mman.h | 1 + mm/mmap.c | 5 +++++ 5 files changed, 11 insertions(+), 1 deletion(-)diff --git a/fs/ext4/file.c b/fs/ext4/file.c index f84bb29e941e..850037e140d7 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c@@ -340,6 +340,8 @@ static int ext4_file_mmap(struct file *file, struct vm_area_struct *vma) vma->vm_flags |= VM_MIXEDMAP | VM_HUGEPAGE; } else { vma->vm_ops = &ext4_file_vm_ops; + if (vma->vm_flags & VM_SYNC) + return -EOPNOTSUPP; }So each mmap instance would need to reject the flag explicitly? Or do I misunderstand this VM_SYNC flag?
Yes, if this should be cleaned up, then each mmap instance not supporting it would need to reject it. However Dan has in his version of mmap() syscall a mask of supported flags so when I switch to that, it would be just opt-in. Or I could just reject VM_SYNC for any !IS_DAX inode so then only ext2 & xfs would need to reject it... But the biggest problem with this patch is that we need to settle on a safe way of adding new mmap flag. Honza -- Jan Kara [off-list ref] SUSE Labs, CR