ovl: Add versioned header for overlay.metacopy xattr
authorAlexander Larsson <alexl@redhat.com>
Wed, 21 Jun 2023 08:32:31 +0000 (10:32 +0200)
committerAmir Goldstein <amir73il@gmail.com>
Sat, 12 Aug 2023 16:02:38 +0000 (19:02 +0300)
commitbf07089081a0ea18da4a103b9d813ffae3c2f6d8
tree4402aa478356f3d607045ddf43b04bd7c910b82b
parentae8cba4033bc16e8a07792428a48a50710cc0f3c
ovl: Add versioned header for overlay.metacopy xattr

Historically overlay.metacopy was a zero-size xattr, and it's
existence marked a metacopy file. This change adds a versioned header
with a flag field, a length and a digest. The initial use-case of this
will be for validating a fs-verity digest, but the flags field could
also be used later for other new features.

ovl_check_metacopy_xattr() now returns the size of the xattr,
emulating a size of OVL_METACOPY_MIN_SIZE for empty xattrs to
distinguish it from the no-xattr case.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
fs/overlayfs/namei.c
fs/overlayfs/overlayfs.h
fs/overlayfs/util.c