OpenCloudOS-Kernel/fs/overlayfs
Miklos Szeredi 39b681f802 ovl: store real inode pointer in ->i_private
To get from overlay inode to real inode we currently use 'struct
ovl_entry', which has lifetime connected to overlay dentry.  This is okay,
since each overlay dentry had a new overlay inode allocated.

Following patch will break that assumption, so need to leave out ovl_entry.
This patch stores the real inode directly in i_private, with the lowest bit
used to indicate whether the inode is upper or lower.

Lifetime rules remain, using ovl_inode_real() must only be done while
caller holds ref on overlay dentry (and hence on real dentry), or within
RCU protected regions.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2016-07-29 12:05:24 +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
copy_up.c ovl: store real inode pointer in ->i_private 2016-07-29 12:05:24 +02:00
dir.c ovl: store real inode pointer in ->i_private 2016-07-29 12:05:24 +02:00
inode.c ovl: store real inode pointer in ->i_private 2016-07-29 12:05:24 +02:00
overlayfs.h ovl: store real inode pointer in ->i_private 2016-07-29 12:05:24 +02:00
readdir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-27 17:14:05 -07:00
super.c ovl: store real inode pointer in ->i_private 2016-07-29 12:05:24 +02:00