Commit a00c2d59 authored by Vivek Goyal's avatar Vivek Goyal Committed by Miklos Szeredi

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: default avatarAmir Goldstein <amir73il@gmail.com>
Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
Reviewed-by: default avatarAmir Goldstein <amir73il@gmail.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 0b17c28a
......@@ -883,6 +883,9 @@ struct inode *ovl_get_inode(struct super_block *sb,
OVL_I(inode)->redirect = oip->redirect;
if (bylower)
ovl_set_flag(OVL_CONST_INO, inode);
/* Check for non-merge dir that may have whiteouts */
if (is_dir) {
if (((upperdentry && lowerdentry) || oip->numlower > 1) ||
......
......@@ -38,6 +38,8 @@ enum ovl_inode_flag {
OVL_WHITEOUTS,
OVL_INDEX,
OVL_UPPERDATA,
/* Inode number will remain constant over copy up. */
OVL_CONST_INO,
};
enum ovl_entry_flag {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment