All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] generic: test symlink to very long path
@ 2016-06-14  7:53 Eryu Guan
  2016-06-14  7:53 ` [PATCH 2/3] generic: test error handling on filesystem shutdown Eryu Guan
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Eryu Guan @ 2016-06-14  7:53 UTC (permalink / raw)
  To: fstests; +Cc: Eryu Guan

Test symlink to very long path, so that path could not be hold in inode,
then check symlink file contains correct path.

There was a bug in CRC XFS, that the path in remote symlink was not
correct, this issue is fixed by this kernel commit

2ac56d3 xfs: fix remote symlinks on V5/CRC filesystems

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 tests/generic/352     | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/generic/352.out |  2 ++
 tests/generic/group   |  1 +
 3 files changed, 66 insertions(+)
 create mode 100755 tests/generic/352
 create mode 100644 tests/generic/352.out

diff --git a/tests/generic/352 b/tests/generic/352
new file mode 100755
index 0000000..253f09d
--- /dev/null
+++ b/tests/generic/352
@@ -0,0 +1,63 @@
+#! /bin/bash
+# FS QA Test 352
+#
+# Test symlink to very long path, check symlink file contains correct path.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2016 Red Hat Inc.  All Rights Reserved.
+#
+# 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
+
+rm -f $seqres.full
+
+# real QA test starts here
+_supported_fs generic
+_supported_os Linux
+_require_test
+
+linkfile=$TEST_DIR/$seq.symlink
+rm -f $linkfile
+
+# Create a symlink points to a very long path, so that the path could not be
+# hold in inode
+ln -s `perl -e 'print "a"x1023'` $linkfile
+
+# Check symlink contains the correct path.
+# 1023 chars are a bit long for golden image output, compute the md5 checksum
+readlink $linkfile | md5sum
+
+# success, all done
+status=0
+exit
diff --git a/tests/generic/352.out b/tests/generic/352.out
new file mode 100644
index 0000000..01c7e87
--- /dev/null
+++ b/tests/generic/352.out
@@ -0,0 +1,2 @@
+QA output created by 352
+cd3b0a56bc304075e28a20a4edd57068  -
diff --git a/tests/generic/group b/tests/generic/group
index 36fb759..4b65dcb 100644
--- a/tests/generic/group
+++ b/tests/generic/group
@@ -354,3 +354,4 @@
 349 blockdev quick rw
 350 blockdev quick rw
 351 blockdev quick rw
+352 auto quick metadata
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-06-14 11:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-14  7:53 [PATCH 1/3] generic: test symlink to very long path Eryu Guan
2016-06-14  7:53 ` [PATCH 2/3] generic: test error handling on filesystem shutdown Eryu Guan
2016-06-14 11:43   ` Brian Foster
2016-06-14 11:54     ` Eryu Guan
2016-06-14  7:53 ` [PATCH 3/3] generic: test remount on I/O errors Eryu Guan
2016-06-14 11:43   ` Brian Foster
2016-06-14 11:43 ` [PATCH 1/3] generic: test symlink to very long path Brian Foster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.