* [PATCH 1/2] common: implement _require_xfs_io_command "open"
@ 2016-12-08 10:52 Amir Goldstein
2016-12-08 10:52 ` [PATCH 2/2] overlay/016: use xfs_io -C for executing commands Amir Goldstein
0 siblings, 1 reply; 2+ messages in thread
From: Amir Goldstein @ 2016-12-08 10:52 UTC (permalink / raw
To: Eryu Guan; +Cc: Dave Chinner, fstests, linux-unionfs
-c "open $f" is broken in xfs_io <= 4.8. Using it results
in an endless loop and xfs_io exists with error EMFILE.
A fix for that bug makes "open" a 'one shot' command.
Along with this fix, a new -C flag was introduced to explicitly
request to execute a one shot command.
Check for -C flag support as an indication that -c "open $f"
is not broken.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---
common/rc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/common/rc b/common/rc
index 2719b23..cd2e8eb 100644
--- a/common/rc
+++ b/common/rc
@@ -1757,6 +1757,14 @@ _require_xfs_io_command()
echo $testio | egrep -q "Inappropriate ioctl" && \
_notrun "xfs_io $command support is missing"
;;
+ "open")
+ # -c "open $f" is broken in xfs_io <= 4.8. Along with the fix,
+ # a new -C flag was introduced to execute one shot commands.
+ # Check for -C flag support as an indication for the bug fix.
+ testio=`$XFS_IO_PROG -F -f -C "open $testfile" $testfile 2>&1`
+ echo $testio | egrep -q "invalid option" && \
+ _notrun "xfs_io $command support is missing"
+ ;;
*)
testio=`$XFS_IO_PROG -c "$command help" 2>&1`
esac
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 2/2] overlay/016: use xfs_io -C for executing commands
2016-12-08 10:52 [PATCH 1/2] common: implement _require_xfs_io_command "open" Amir Goldstein
@ 2016-12-08 10:52 ` Amir Goldstein
0 siblings, 0 replies; 2+ messages in thread
From: Amir Goldstein @ 2016-12-08 10:52 UTC (permalink / raw
To: Eryu Guan; +Cc: Dave Chinner, fstests, linux-unionfs
This test requires a fix to xfs_io to support
-C one shot commands and -c "open foo" command.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---
tests/overlay/016 | 27 +++++++++++++--------------
tests/overlay/016.out | 11 +++++------
2 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/tests/overlay/016 b/tests/overlay/016
index 6d3e339..041ab3d 100755
--- a/tests/overlay/016
+++ b/tests/overlay/016
@@ -50,6 +50,7 @@ _cleanup()
_supported_fs overlay
_supported_os Linux
_require_scratch
+_require_xfs_io_command "open"
rm -f $seqres.full
@@ -72,13 +73,12 @@ cd $SCRATCH_MNT
# write to rwfd
# read from rofd
#
-$XFS_IO_PROG << EOF | _filter_xfs_io
-open -r foo
-open foo
-pwrite -S 0x61 0 16
-file 0
-pread -v 0 16
-EOF
+$XFS_IO_PROG -r foo \
+ -C "open foo" \
+ -C "pwrite -S 0x61 0 16" \
+ -C "file 0" \
+ -C "pread -v 0 16" \
+| _filter_xfs_io
#
# case #2:
@@ -86,13 +86,12 @@ EOF
# write to rwfd
# read from mapped memory
#
-$XFS_IO_PROG << EOF | _filter_xfs_io
-open -r bar
-mmap -r 0 16
-open bar
-pwrite -S 0x61 0 16
-mread -v 0 16
-EOF
+$XFS_IO_PROG -r bar \
+ -C "mmap -r 0 16" \
+ -C "open bar" \
+ -C "pwrite -S 0x61 0 16" \
+ -C "mread -v 0 16" \
+| _filter_xfs_io
status=0
exit
diff --git a/tests/overlay/016.out b/tests/overlay/016.out
index 52b8cd7..c49f8dc 100644
--- a/tests/overlay/016.out
+++ b/tests/overlay/016.out
@@ -1,12 +1,11 @@
QA output created by 016
-xfs_io> xfs_io> xfs_io> wrote 16/16 bytes at offset 0
+wrote 16/16 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-xfs_io> [000] foo (foreign,non-sync,non-direct,read-only)
+[000] foo (foreign,non-sync,non-direct,read-only)
001 foo (foreign,non-sync,non-direct,read-write)
-xfs_io> 00000000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
+00000000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
read 16/16 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-xfs_io> xfs_io> xfs_io> xfs_io> xfs_io> wrote 16/16 bytes at offset 0
+wrote 16/16 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-xfs_io> 00000000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
-xfs_io>
\ No newline at end of file
+00000000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-12-08 10:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-08 10:52 [PATCH 1/2] common: implement _require_xfs_io_command "open" Amir Goldstein
2016-12-08 10:52 ` [PATCH 2/2] overlay/016: use xfs_io -C for executing commands Amir Goldstein
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.