android_kernel_oneplus_msm8998/fs/overlayfs
Amir Goldstein 3b0104f9e2 ovl: fix failure to fsync lower dir
commit d796e77f1dd541fe34481af2eee6454688d13982 upstream.

As a writable mount, it is not expected for overlayfs to return
EINVAL/EROFS for fsync, even if dir/file is not changed.

This commit fixes the case of fsync of directory, which is easier to
address, because overlayfs already implements fsync file operation for
directories.

The problem reported by Raphael is that new PostgreSQL 10.0 with a
database in overlayfs where lower layer in squashfs fails to start.
The failure is due to fsync error, when PostgreSQL does fsync on all
existing db directories on startup and a specific directory exists
lower layer with no changes.

Reported-by: Raphael Hertzog <raphael@ouaza.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Tested-by: Raphaël Hertzog <hertzog@debian.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-16 20:09:47 +01:00
..
copy_up.c ovl: fsync after copy-up 2016-11-10 16:36:34 +01:00
dir.c ovl: Fix info leak in ovl_lookup_temp() 2016-10-28 03:01:30 -04:00
inode.c ovl: listxattr: use strnlen() 2016-09-15 08:27:52 +02:00
Kconfig ovl: rename filesystem type to "overlay" 2014-11-20 16:39:59 +01:00
Makefile ovl: rename filesystem type to "overlay" 2014-11-20 16:39:59 +01:00
overlayfs.h ovl: don't copy up opaqueness 2016-09-15 08:27:52 +02:00
readdir.c ovl: fix failure to fsync lower dir 2018-02-16 20:09:47 +01:00
super.c ovl: fix workdir creation 2016-09-15 08:27:52 +02:00