aboutsummaryrefslogtreecommitdiffstats
path: root/fs/overlayfs/ovl_entry.h
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2017-05-11 16:42:26 +0300
committerMiklos Szeredi <mszeredi@redhat.com>2017-05-19 09:33:49 +0200
commitee1d6d37b6b884383b501089be93ce94f2153028 (patch)
treefd490f8a866c66e17883c240e1caffff1896c2c8 /fs/overlayfs/ovl_entry.h
parentovl: remove unused arg from ovl_lookup_temp() (diff)
downloadlinux-dev-ee1d6d37b6b884383b501089be93ce94f2153028.tar.xz
linux-dev-ee1d6d37b6b884383b501089be93ce94f2153028.zip
ovl: mark upper dir with type origin entries "impure"
When moving a merge dir or non-dir with copy up origin into a non-merge upper dir (a.k.a pure upper dir), we are marking the target parent dir "impure". ovl_iterate() iterates pure upper dirs directly, because there is no need to filter out whiteouts and merge dir content with lower dir. But for the case of an "impure" upper dir, ovl_iterate() will not be able to iterate the real upper dir directly, because it will need to lookup the origin inode and use it to fill d_ino. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/overlayfs/ovl_entry.h')
-rw-r--r--fs/overlayfs/ovl_entry.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/overlayfs/ovl_entry.h b/fs/overlayfs/ovl_entry.h
index ad86c0a302eb..34bc4a9f5c61 100644
--- a/fs/overlayfs/ovl_entry.h
+++ b/fs/overlayfs/ovl_entry.h
@@ -43,6 +43,7 @@ struct ovl_entry {
u64 version;
const char *redirect;
bool opaque;
+ bool impure;
bool copying;
};
struct rcu_head rcu;