mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fstests: Add virtio-fs shared file system support
This patch adds support for virtio-fs shared file system that lets virtual machines access a directory tree on the host. To run xfstests on it, first, start virtiofsd daemon in host: ./virtiofsd -o vhost_user_socket=/tmp/vhostqemu0 -o source=$DIR0 -o cache=always ./virtiofsd -o vhost_user_socket=/tmp/vhostqemu1 -o source=$DIR1 -o cache=always second, launch QEMU with: -chardev socket,id=char0,path=/tmp/vhostqemu0 -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=myfs0 -chardev socket,id=char1,path=/tmp/vhostqemu1 -device vhost-user-fs-pci,queue-size=1024,chardev=char1,tag=myfs1 -m 8G -object memory-backend-file,id=mem,size=8G,mem-path=/dev/shm,share=on -numa node,memdev=mem then, inside the VM run xfstests with: export TEST_DEV=myfs0 export TEST_DIR=$TESTDIR export SCRATCH_DEV=myfs1 export SCRATCH_MNT=$SCRATCHMNT export MOUNT_OPTIONS="" export TEST_FS_MOUNT_OPTS="" Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Misono Tomohiro <misono.tomohiro@fujitsu.com> Signed-off-by: QI Fuli <qi.fuli@fujitsu.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
@@ -56,6 +56,7 @@ check options
|
||||
-glusterfs test GlusterFS
|
||||
-cifs test CIFS
|
||||
-9p test 9p
|
||||
-virtiofs test virtiofs
|
||||
-overlay test overlay
|
||||
-pvfs2 test PVFS2
|
||||
-tmpfs test TMPFS
|
||||
@@ -268,6 +269,7 @@ while [ $# -gt 0 ]; do
|
||||
-glusterfs) FSTYP=glusterfs ;;
|
||||
-cifs) FSTYP=cifs ;;
|
||||
-9p) FSTYP=9p ;;
|
||||
-virtiofs) FSTYP=virtiofs ;;
|
||||
-overlay) FSTYP=overlay; export OVERLAY=true ;;
|
||||
-pvfs2) FSTYP=pvfs2 ;;
|
||||
-tmpfs) FSTYP=tmpfs ;;
|
||||
|
||||
+2
-2
@@ -480,8 +480,8 @@ _check_device()
|
||||
fi
|
||||
|
||||
case "$FSTYP" in
|
||||
9p|tmpfs)
|
||||
# 9p mount tags are just plain strings, so anything is allowed
|
||||
9p|tmpfs|virtiofs)
|
||||
# 9p and virtiofs mount tags are just plain strings, so anything is allowed
|
||||
# tmpfs doesn't use mount source, ignore
|
||||
;;
|
||||
overlay)
|
||||
|
||||
@@ -603,6 +603,9 @@ _test_mkfs()
|
||||
9p)
|
||||
# do nothing for 9p
|
||||
;;
|
||||
virtiofs)
|
||||
# do nothing for virtiofs
|
||||
;;
|
||||
ceph)
|
||||
# do nothing for ceph
|
||||
;;
|
||||
@@ -640,6 +643,9 @@ _mkfs_dev()
|
||||
9p)
|
||||
# do nothing for 9p
|
||||
;;
|
||||
virtiofs)
|
||||
# do nothing for virtiofs
|
||||
;;
|
||||
overlay)
|
||||
# do nothing for overlay
|
||||
;;
|
||||
@@ -704,7 +710,7 @@ _scratch_mkfs()
|
||||
local mkfs_status
|
||||
|
||||
case $FSTYP in
|
||||
nfs*|cifs|ceph|overlay|glusterfs|pvfs2|9p)
|
||||
nfs*|cifs|ceph|overlay|glusterfs|pvfs2|9p|virtiofs)
|
||||
# unable to re-create this fstyp, just remove all files in
|
||||
# $SCRATCH_MNT to avoid EEXIST caused by the leftover files
|
||||
# created in previous runs
|
||||
@@ -1467,7 +1473,7 @@ _require_scratch_nocheck()
|
||||
_notrun "this test requires a valid \$SCRATCH_MNT"
|
||||
fi
|
||||
;;
|
||||
9p)
|
||||
9p|virtiofs)
|
||||
if [ -z "$SCRATCH_DEV" ]; then
|
||||
_notrun "this test requires a valid \$SCRATCH_DEV"
|
||||
fi
|
||||
@@ -1591,7 +1597,7 @@ _require_test()
|
||||
_notrun "this test requires a valid \$TEST_DIR"
|
||||
fi
|
||||
;;
|
||||
9p)
|
||||
9p|virtiofs)
|
||||
if [ -z "$TEST_DEV" ]; then
|
||||
_notrun "this test requires a valid \$TEST_DEV"
|
||||
fi
|
||||
@@ -2686,6 +2692,9 @@ _check_test_fs()
|
||||
9p)
|
||||
# no way to check consistency for 9p
|
||||
;;
|
||||
virtiofs)
|
||||
# no way to check consistency for virtiofs
|
||||
;;
|
||||
ceph)
|
||||
# no way to check consistency for CephFS
|
||||
;;
|
||||
@@ -2744,6 +2753,9 @@ _check_scratch_fs()
|
||||
9p)
|
||||
# no way to check consistency for 9p
|
||||
;;
|
||||
virtiofs)
|
||||
# no way to check consistency for virtiofs
|
||||
;;
|
||||
ceph)
|
||||
# no way to check consistency for CephFS
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user