--- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c @@ -376,7 +383,8 @@ static int ovl_do_remove(struct dentry * ovl_dentry_version_inc(dentry->d_parent); } - if (type != OVL_PATH_UPPER || ovl_dentry_is_opaque(dentry)) + if ((type != OVL_PATH_UPPER || ovl_dentry_is_opaque(dentry)) + && ovl_dentry_lower(dentry)) err = ovl_whiteout(upperdir, dentry); /*