|
@@ -528,6 +528,7 @@ v9fs_mmap_file_mmap(struct file *filp, struct vm_area_struct *vma)
|
|
|
v9inode = V9FS_I(inode);
|
|
v9inode = V9FS_I(inode);
|
|
|
mutex_lock(&v9inode->v_mutex);
|
|
mutex_lock(&v9inode->v_mutex);
|
|
|
if (!v9inode->writeback_fid &&
|
|
if (!v9inode->writeback_fid &&
|
|
|
|
|
+ (vma->vm_flags & VM_SHARED) &&
|
|
|
(vma->vm_flags & VM_WRITE)) {
|
|
(vma->vm_flags & VM_WRITE)) {
|
|
|
/*
|
|
/*
|
|
|
* clone a fid and add it to writeback_fid
|
|
* clone a fid and add it to writeback_fid
|
|
@@ -629,6 +630,8 @@ static void v9fs_mmap_vm_close(struct vm_area_struct *vma)
|
|
|
(vma->vm_end - vma->vm_start - 1),
|
|
(vma->vm_end - vma->vm_start - 1),
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ if (!(vma->vm_flags & VM_SHARED))
|
|
|
|
|
+ return;
|
|
|
|
|
|
|
|
p9_debug(P9_DEBUG_VFS, "9p VMA close, %p, flushing", vma);
|
|
p9_debug(P9_DEBUG_VFS, "9p VMA close, %p, flushing", vma);
|
|
|
|
|
|