blob: 481250fd1e9b48685ef753f2b50bb9676cf1ad7b [file] [log] [blame]
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2020 Facebook All Rights Reserved.
#
# FS QA Test 604
#
# Evicting dirty inodes can take a long time during umount.
# Check that a new mount racing with such a delayed umount succeeds.
#
. ./common/preamble
_begin_fstest auto quick mount
# Import common functions.
. ./common/filter
# Overlayfs does not allow mounting over again with the same layers
# until umount is fully completed, so is not appropriate for this test.
_exclude_fs overlay
# Modify as appropriate.
_require_scratch
_scratch_mkfs > /dev/null 2>&1
_scratch_mount
for i in $(seq 0 500); do
$XFS_IO_PROG -f -c "pwrite 0 4K" $SCRATCH_MNT/$i >/dev/null
done
# Delay the mount attempt by a small amount in the hope that the mount() call
# will try to lock s_umount /after/ umount has already taken it.
_scratch_unmount &
sleep 0.01s ; _scratch_mount
wait
echo "Silence is golden"
# success, all done
status=0
exit