]> git.baikalelectronics.ru Git - kernel.git/commit
ovl: Store lower data inode in ovl_inode
authorVivek Goyal <vgoyal@redhat.com>
Fri, 11 May 2018 15:49:30 +0000 (11:49 -0400)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 20 Jul 2018 07:56:11 +0000 (09:56 +0200)
commit934c5eb11b8f4689598578af6df8b09c655a2820
tree4451f757dc52c00751c3158c24dc1bb004a6bc59
parentcbbf79e37c5b345d369711a26c289bffe0f5fbe4
ovl: Store lower data inode in ovl_inode

Right now ovl_inode stores inode pointer for lower inode.  This helps with
quickly getting lower inode given overlay inode (ovl_inode_lower()).

Now with metadata only copy-up, we can have metacopy inode in middle layer
as well and inode containing data can be different from ->lower.  I need to
be able to open the real file in ovl_open_realfile() and for that I need to
quickly find the lower data inode.

Hence store lower data inode also in ovl_inode.  Also provide an helper
ovl_inode_lowerdata() to access this field.

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/inode.c
fs/overlayfs/namei.c
fs/overlayfs/overlayfs.h
fs/overlayfs/ovl_entry.h
fs/overlayfs/super.c
fs/overlayfs/util.c