2013-01-09 10:17:59 -06:00
|
|
|
#! /bin/bash
|
2018-06-09 11:35:42 +10:00
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
# Copyright (c) 2012 Red Hat, Inc. All Rights Reserved.
|
|
|
|
|
#
|
2013-01-09 10:17:59 -06:00
|
|
|
# FS QA Test No. 294
|
|
|
|
|
#
|
|
|
|
|
# Tests for EEXIST (not EROFS) for inode creations, if
|
|
|
|
|
# we ask to create an already-existing entity on an RO filesystem
|
|
|
|
|
#
|
|
|
|
|
seq=`basename $0`
|
2013-03-15 12:28:02 +00:00
|
|
|
seqres=$RESULT_DIR/$seq
|
2013-01-09 10:17:59 -06:00
|
|
|
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
|
2013-03-15 12:28:04 +00:00
|
|
|
. ./common/rc
|
|
|
|
|
. ./common/filter
|
2013-01-09 10:17:59 -06:00
|
|
|
|
|
|
|
|
# real QA test starts here
|
|
|
|
|
|
|
|
|
|
# Modify as appropriate.
|
|
|
|
|
_supported_fs generic
|
|
|
|
|
_require_scratch
|
2020-04-15 15:18:27 -05:00
|
|
|
_require_symlinks
|
2020-07-21 12:38:30 +03:00
|
|
|
_require_mknod
|
2013-01-09 10:17:59 -06:00
|
|
|
|
2013-10-06 20:42:31 +00:00
|
|
|
rm -f $seqres.full
|
|
|
|
|
_scratch_mkfs > $seqres.full 2>&1 || _fail "Could not mkfs scratch device"
|
|
|
|
|
|
2013-01-09 10:17:59 -06:00
|
|
|
THIS_TEST_DIR=$SCRATCH_MNT/$seq.test
|
|
|
|
|
|
|
|
|
|
_create_files()
|
|
|
|
|
{
|
2016-06-27 15:53:28 +03:00
|
|
|
mknod $THIS_TEST_DIR/testnode c 1 3 2>&1 | _filter_mknod
|
2013-01-09 10:17:59 -06:00
|
|
|
mkdir $THIS_TEST_DIR/testdir
|
|
|
|
|
touch $THIS_TEST_DIR/testtarget
|
|
|
|
|
ln -s $THIS_TEST_DIR/testtarget $THIS_TEST_DIR/testlink 2>&1 | _filter_ln
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_scratch_mount
|
|
|
|
|
|
|
|
|
|
rm -rf $THIS_TEST_DIR
|
|
|
|
|
mkdir $THIS_TEST_DIR || _fail "Could not create dir for test"
|
|
|
|
|
|
|
|
|
|
_create_files 2>&1 | _filter_scratch
|
2018-02-07 17:31:36 +08:00
|
|
|
_try_scratch_mount -o remount,ro || _fail "Could not remount scratch readonly"
|
2013-01-09 10:17:59 -06:00
|
|
|
_create_files 2>&1 | _filter_scratch
|
|
|
|
|
|
|
|
|
|
# success, all done
|
|
|
|
|
status=0
|
|
|
|
|
exit
|