ovl: Open file with data except for the case of fsync
authorVivek Goyal <vgoyal@redhat.com>
Fri, 11 May 2018 15:49:31 +0000 (11:49 -0400)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 20 Jul 2018 07:56:12 +0000 (09:56 +0200)
commit8c444d2a971fdccda670e874f12443627f028fbc
tree80b0c16602ca4a6e2ac27336047ce0085bbdc08e
parent4823d49c26eaf269cd2c2723bed8249aaed80795
ovl: Open file with data except for the case of fsync

ovl_open() should open file which contains data and not open metacopy
inode.  With the introduction of metacopy inodes, with current
implementaion we will end up opening metacopy inode as well.

But there can be certain circumstances like ovl_fsync() where we want to
allow opening a metacopy inode instead.

Hence, change ovl_open_realfile() and and add extra parameter which
specifies whether to allow opening metacopy inode or not.  If this
parameter is false, we look for data inode and open that.

This should allow covering both the cases.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/file.c