diff options
author | Amir Goldstein <amir73il@gmail.com> | 2023-04-08 12:31:13 +0300 |
---|---|---|
committer | Amir Goldstein <amir73il@gmail.com> | 2023-06-19 14:01:13 +0300 |
commit | 0af950f57fefabab628f1963af881e6b9bfe7f38 (patch) | |
tree | dcb63dcfdf15e4a91e33d6b46822bb2cfdc5d7b6 /fs/overlayfs/util.c | |
parent | 163db0da3515d1d32343906a2fb7854492191d19 (diff) |
ovl: move ovl_entry into ovl_inode
The lower stacks of all the ovl inode aliases should be identical
and there is redundant information in ovl_entry and ovl_inode.
Move lowerstack into ovl_inode and keep only the OVL_E_FLAGS
per overlay dentry.
Following patches will deduplicate redundant ovl_inode fields.
Note that for pure upper and negative dentries, OVL_E(dentry) may be
NULL now, so it is imporatnt to use the ovl_numlower() accessor.
Reviewed-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/overlayfs/util.c')
-rw-r--r-- | fs/overlayfs/util.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c index 4ff58f92100d..c4bd901f3bda 100644 --- a/fs/overlayfs/util.c +++ b/fs/overlayfs/util.c @@ -145,15 +145,15 @@ void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *realdentry) spin_unlock(&dentry->d_lock); } -void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry) +void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry, + struct ovl_entry *oe) { - return ovl_dentry_init_flags(dentry, upperdentry, OVL_D_REVALIDATE); + return ovl_dentry_init_flags(dentry, upperdentry, oe, OVL_D_REVALIDATE); } void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, - unsigned int mask) + struct ovl_entry *oe, unsigned int mask) { - struct ovl_entry *oe = OVL_E(dentry); struct ovl_path *lowerstack = ovl_lowerstack(oe); unsigned int i, flags = 0; |