Re: [PATCH v2] fstests: test fsync on overlayfs merged directory

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



On Tue, Mar 22, 2016 at 3:00 AM, Eryu Guan <eguan@xxxxxxxxxx> wrote:
> On Mon, Mar 21, 2016 at 05:50:25PM +0000, fdmanana@xxxxxxxxxx wrote:
>> From: Filipe Manana <fdmanana@xxxxxxxx>
>>
>> Test that calling fsync against a file using the merged directory does
>> not result in a crash nor fails unexpectedly.
>>
>> This is motivated by a change in overlayfs that resulted in a crash
>> (invalid memory access) when the lower or upper directory belonged to
>> a btrfs file system. The overlayfs change came in commit 4bacc9c9234
>> (overlayfs: Make f_path always point to the overlay and f_inode to the
>> underlay). At the moment there are two patches in the linux-fsdevel
>> and linux-btrfs mailing lists to fix this problem:
>>
>>   * vfs: add file_dentry()
>>   * Btrfs: fix crash/invalid memory access on fsync when using overlayfs
>>
>> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
>> ---
>>
>> V2: Removed leftover comment from debugging.
>>
>>  tests/overlay/002     | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++
>>  tests/overlay/002.out |  3 +++
>>  tests/overlay/group   |  1 +
>>  3 files changed, 78 insertions(+)
>>  create mode 100755 tests/overlay/002
>>  create mode 100644 tests/overlay/002.out
>>
>> diff --git a/tests/overlay/002 b/tests/overlay/002
>> new file mode 100755
>> index 0000000..e5aa610
>> --- /dev/null
>> +++ b/tests/overlay/002
>> @@ -0,0 +1,74 @@
>> +#! /bin/bash
>> +# FS QA Test 002
>> +#
>> +# Test that calling fsync against a file using the merged directory does not
>> +# result in a crash nor fails unexpectedly.
>> +#
>> +# This is motivated by a change in overlayfs that resulted in a crash (invalid
>> +# memory access) when the lower or upper directory belonged to a btrfs file
>> +# system.
>> +#
>> +#-----------------------------------------------------------------------
>> +#
>> +# Copyright (C) 2016 SUSE Linux Products GmbH. All Rights Reserved.
>> +# Author: Filipe Manana <fdmanana@xxxxxxxx>
>> +#
>> +# This program is free software; you can redistribute it and/or
>> +# modify it under the terms of the GNU General Public License as
>> +# published by the Free Software Foundation.
>> +#
>> +# This program is distributed in the hope that it would be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program; if not, write the Free Software Foundation,
>> +# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>> +#-----------------------------------------------------------------------
>> +#
>> +
>> +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 generic
>
> The supported fs should be "overlay"? overlay/001 has the same issue
> though.

Yeah, I copied it from 001. And that's a question I made myself but
forgot later to investigate. Since you authored test 001, can you
confirm if it's a mistake or is it really supposed to be 'overlay'?

Thanks

>
> Looks good to me otherwise, test passed with XFS as underlying fs and
> test crashed v4.5 kernel with btrfs as underlying fs, as expected.
>
> Reviewed-by: Eryu Guan <eguan@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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

  Powered by Linux