Overlayfs cannot be notified when mmapped area gets dirty, so we need to proactively mark inode dirty in ->mmap operation. Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx> --- fs/overlayfs/file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c index efccb7c1f9bc..cd6fcdfd81a9 100644 --- a/fs/overlayfs/file.c +++ b/fs/overlayfs/file.c @@ -486,6 +486,10 @@ static int ovl_mmap(struct file *file, struct vm_area_struct *vma) /* Drop reference count from new vm_file value */ fput(realfile); } else { + if (vma->vm_flags & (VM_SHARED|VM_MAYSHARE) && + vma->vm_flags & (VM_WRITE|VM_MAYWRITE)) + ovl_mark_inode_dirty(file_inode(file)); + /* Drop reference count from previous vm_file value */ fput(file); } -- 2.26.2