• Amir Goldstein's avatar
    ovl: mark xwhiteouts directory with overlay.opaque='x' · 420332b9
    Amir Goldstein authored
    An opaque directory cannot have xwhiteouts, so instead of marking an
    xwhiteouts directory with a new xattr, overload overlay.opaque xattr
    for marking both opaque dir ('y') and xwhiteouts dir ('x').
    
    This is more efficient as the overlay.opaque xattr is checked during
    lookup of directory anyway.
    
    This also prevents unnecessary checking the xattr when reading a
    directory without xwhiteouts, i.e. most of the time.
    
    Note that the xwhiteouts marker is not checked on the upper layer and
    on the last layer in lowerstack, where xwhiteouts are not expected.
    
    Fixes: bc8df7a3 ("ovl: Add an alternative type of whiteout")
    Cc: <stable@vger.kernel.org> # v6.7
    Reviewed-by: default avatarAlexander Larsson <alexl@redhat.com>
    Tested-by: default avatarAlexander Larsson <alexl@redhat.com>
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    420332b9
overlayfs.h 29.7 KB