mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 11:36:51 +07:00
ovl: get rid of PURE type
The remainging uses of __OVL_PATH_PURE can be replaced by ovl_dentry_is_opaque(). Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
2aff4534b6
commit
38e813db61
@ -803,10 +803,7 @@ static int ovl_rename(struct inode *olddir, struct dentry *old,
|
|||||||
if (!overwrite && OVL_TYPE_MERGE_OR_LOWER(new_type) && new_is_dir)
|
if (!overwrite && OVL_TYPE_MERGE_OR_LOWER(new_type) && new_is_dir)
|
||||||
goto out;
|
goto out;
|
||||||
} else {
|
} else {
|
||||||
if (ovl_dentry_is_opaque(new))
|
new_type = __OVL_PATH_UPPER;
|
||||||
new_type = __OVL_PATH_UPPER;
|
|
||||||
else
|
|
||||||
new_type = __OVL_PATH_UPPER | __OVL_PATH_PURE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ovl_want_write(old);
|
err = ovl_want_write(old);
|
||||||
@ -826,8 +823,8 @@ static int ovl_rename(struct inode *olddir, struct dentry *old,
|
|||||||
goto out_drop_write;
|
goto out_drop_write;
|
||||||
}
|
}
|
||||||
|
|
||||||
old_opaque = !OVL_TYPE_PURE_UPPER(old_type);
|
old_opaque = ovl_dentry_is_opaque(old);
|
||||||
new_opaque = !OVL_TYPE_PURE_UPPER(new_type);
|
new_opaque = ovl_dentry_is_opaque(new);
|
||||||
|
|
||||||
old_cred = ovl_override_creds(old->d_sb);
|
old_cred = ovl_override_creds(old->d_sb);
|
||||||
|
|
||||||
|
@ -12,14 +12,12 @@
|
|||||||
struct ovl_entry;
|
struct ovl_entry;
|
||||||
|
|
||||||
enum ovl_path_type {
|
enum ovl_path_type {
|
||||||
__OVL_PATH_PURE = (1 << 0),
|
__OVL_PATH_UPPER = (1 << 0),
|
||||||
__OVL_PATH_UPPER = (1 << 1),
|
__OVL_PATH_MERGE = (1 << 1),
|
||||||
__OVL_PATH_MERGE = (1 << 2),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define OVL_TYPE_UPPER(type) ((type) & __OVL_PATH_UPPER)
|
#define OVL_TYPE_UPPER(type) ((type) & __OVL_PATH_UPPER)
|
||||||
#define OVL_TYPE_MERGE(type) ((type) & __OVL_PATH_MERGE)
|
#define OVL_TYPE_MERGE(type) ((type) & __OVL_PATH_MERGE)
|
||||||
#define OVL_TYPE_PURE_UPPER(type) ((type) & __OVL_PATH_PURE)
|
|
||||||
#define OVL_TYPE_MERGE_OR_LOWER(type) \
|
#define OVL_TYPE_MERGE_OR_LOWER(type) \
|
||||||
(OVL_TYPE_MERGE(type) || !OVL_TYPE_UPPER(type))
|
(OVL_TYPE_MERGE(type) || !OVL_TYPE_UPPER(type))
|
||||||
|
|
||||||
|
@ -80,12 +80,10 @@ enum ovl_path_type ovl_path_type(struct dentry *dentry)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Non-dir dentry can hold lower dentry from previous
|
* Non-dir dentry can hold lower dentry from previous
|
||||||
* location. Its purity depends only on opaque flag.
|
* location.
|
||||||
*/
|
*/
|
||||||
if (oe->numlower && S_ISDIR(dentry->d_inode->i_mode))
|
if (oe->numlower && S_ISDIR(dentry->d_inode->i_mode))
|
||||||
type |= __OVL_PATH_MERGE;
|
type |= __OVL_PATH_MERGE;
|
||||||
else if (!oe->opaque)
|
|
||||||
type |= __OVL_PATH_PURE;
|
|
||||||
} else {
|
} else {
|
||||||
if (oe->numlower > 1)
|
if (oe->numlower > 1)
|
||||||
type |= __OVL_PATH_MERGE;
|
type |= __OVL_PATH_MERGE;
|
||||||
|
Loading…
Reference in New Issue
Block a user