ovl: lookup indexed ancestor of lower dir
authorAmir Goldstein <amir73il@gmail.com>
Wed, 17 Jan 2018 12:40:27 +0000 (14:40 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 24 Jan 2018 10:26:05 +0000 (11:26 +0100)
commit061701540349c30d72e48a201449a840c77ad509
tree46d3e9191ba287cd420af0a41bd5aba86bb50a89
parent4b91c30a5a19332e8dd10b601d05b72caf657730
ovl: lookup indexed ancestor of lower dir

ovl_lookup_real() in lower layer walks back lower parents to find the
topmost indexed parent. If an indexed ancestor is found before reaching
lower layer root, ovl_lookup_real() is called recursively with upper
layer to walk back from indexed upper to the topmost connected/hashed
upper parent (or up to root).

ovl_lookup_real() in upper layer then walks forward to connect the topmost
upper overlay dir dentry and ovl_lookup_real() in lower layer continues to
walk forward to connect the decoded lower overlay dir dentry.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/export.c
fs/overlayfs/namei.c
fs/overlayfs/overlayfs.h