---- 在 星期日, 2020-05-10 23:50:37 Eryu Guan <guan@xxxxxxx> 撰写 ---- > On Wed, May 06, 2020 at 06:15:28PM +0800, Chengguang Xu wrote: > > This is a test for whiteout inode sharing feature. > > > > Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx> > > --- > > v1->v2: > > - Address Amir's comments in v1 > > > > v2->v3: > > - Address Amir's comments in v2 > > > > v3->v4: > > - Fix test case based on latest kernel patch(removed module param) > > https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git/commit/?h=overlayfs-next&id=4e49695244661568130bfefcb6143dd1eaa3d8e7 > > > > tests/overlay/073 | 106 ++++++++++++++++++++++++++++++++++++++++++ > > tests/overlay/073.out | 2 + > > tests/overlay/group | 1 + > > 3 files changed, 109 insertions(+) > > create mode 100755 tests/overlay/073 > > create mode 100644 tests/overlay/073.out > > > > diff --git a/tests/overlay/073 b/tests/overlay/073 > > new file mode 100755 > > index 00000000..fc847092 > > --- /dev/null > > +++ b/tests/overlay/073 > > @@ -0,0 +1,106 @@ > > +#! /bin/bash > > +# SPDX-License-Identifier: GPL-2.0 > > +# Copyright (c) 2020 Chengguang Xu <cgxu519@xxxxxxxxxxxx>. > > +# All Rights Reserved. > > +# > > +# FS QA Test 073 > > +# > > +# Test whiteout inode sharing functionality. > > +# > > +# A "whiteout" is an object that has special meaning in overlayfs. > > +# A whiteout on an upper layer will effectively hide a matching file > > +# in the lower layer, making it appear as if the file didn't exist. > > +# > > +# Whiteout inode sharing means multiple whiteout objects will share > > +# one inode in upper layer, without this feature every whiteout object > > +# will consume one inode in upper layer. > > + > > +seq=`basename $0` > > +seqres=$RESULT_DIR/$seq > > +echo "QA output created by $seq" > > + > > +here=`pwd` > > +tmp=/tmp/$ > > +status=1 # failure is the default! > > +trap "_cleanup; exit \$status" 0 1 2 3 15 > > + > > +_cleanup() > > +{ > > + cd / > > + rm -f $tmp.* > > +} > > + > > +# get standard environment, filters and checks > > +. ./common/rc > > +. ./common/filter > > + > > +# remove previous $seqres.full before test > > +rm -f $seqres.full > > + > > +# real QA test starts here > > +_supported_fs overlay > > +_supported_os Linux > > +_require_scratch > > I see no feature detection logic, so test just fails on old kernels > without this feature? I tried with v5.7-r4 kernel, test fails because > each whiteout file has only one hardlink. That's true. Thanks, cgxu