]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ovl: store file handle of lower inode on copy up
authorAmir Goldstein <amir73il@gmail.com>
Thu, 30 Mar 2017 12:22:16 +0000 (15:22 +0300)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 5 May 2017 09:38:58 +0000 (11:38 +0200)
commit3a1e819b4e80216e00ef6a4dfe67fa142450c5e1
tree97aaeff1699be25ad83ad8a4612ce3e16e116683
parent7bcd74b98d7bac3e5149894caaf72de6989af7f0
ovl: store file handle of lower inode on copy up

Sometimes it is interesting to know if an upper file is pure upper or a
copy up target, and if it is a copy up target, it may be interesting to
find the copy up origin.

This will be used to preserve lower inode numbers across copy up.

Store the lower inode file handle in upper inode extended attribute
overlay.origin on copy up to use it later for these cases.  Store the lower
filesystem uuid along side the file handle, so we can validate that we are
looking for the origin file in the original fs.

If lower fs does not support NFS export ops store a zero sized xattr so we
can always use the overlay.origin xattr to distinguish between a copy up
and a pure upper inode.

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