Re: [PATCH v4] overlay: test for whiteout inode sharing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 11, 2020 at 09:32:20AM +0800, Chengguang Xu wrote:
>  ---- 在 星期日, 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.

I'd like to see it _notrun on old kernels where the feature is not
available. But that seems hard to do.. Do you have any better ideas?

Thanks,
Eryu



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux