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 <[email protected]>
---
fs/overlayfs/file.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c
index d081faa55e83..f9dc5249c183 100644
--- a/fs/overlayfs/file.c
+++ b/fs/overlayfs/file.c
@@ -482,6 +482,12 @@ static int ovl_mmap(struct file *file, struct vm_area_struct *vma)
revert_creds(old_cred);
ovl_file_accessed(file);
+ if (!ret) {
+ if (ovl_inode_upper(file_inode(file)) &&
+ vma->vm_flags & VM_SHARED)
+ ovl_mark_inode_dirty(file_inode(file));
+ }
+
return ret;
}
--
2.27.0