ovl: Add an inode flag OVL_CONST_INO
Add an ovl_inode flag OVL_CONST_INO. This flag signifies if inode number will remain constant over copy up or not. This flag does not get updated over copy up and remains unmodifed after setting once. Next patch in the series will make use of this flag. It will basically figure out if dentry is of type ORIGIN or not. And this can be derived by this flag. ORIGIN = (upperdentry && ovl_test_flag(OVL_CONST_INO, inode)). Suggested-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
0b17c28af1
commit
a00c2d59e9
|
@ -883,6 +883,9 @@ struct inode *ovl_get_inode(struct super_block *sb,
|
||||||
|
|
||||||
OVL_I(inode)->redirect = oip->redirect;
|
OVL_I(inode)->redirect = oip->redirect;
|
||||||
|
|
||||||
|
if (bylower)
|
||||||
|
ovl_set_flag(OVL_CONST_INO, inode);
|
||||||
|
|
||||||
/* Check for non-merge dir that may have whiteouts */
|
/* Check for non-merge dir that may have whiteouts */
|
||||||
if (is_dir) {
|
if (is_dir) {
|
||||||
if (((upperdentry && lowerdentry) || oip->numlower > 1) ||
|
if (((upperdentry && lowerdentry) || oip->numlower > 1) ||
|
||||||
|
|
|
@ -38,6 +38,8 @@ enum ovl_inode_flag {
|
||||||
OVL_WHITEOUTS,
|
OVL_WHITEOUTS,
|
||||||
OVL_INDEX,
|
OVL_INDEX,
|
||||||
OVL_UPPERDATA,
|
OVL_UPPERDATA,
|
||||||
|
/* Inode number will remain constant over copy up. */
|
||||||
|
OVL_CONST_INO,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ovl_entry_flag {
|
enum ovl_entry_flag {
|
||||||
|
|
Loading…
Reference in New Issue