mirror of
https://github.com/deepseek-ai/3FS.git
synced 2026-11-05 00:47:47 +00:00
[GH-ISSUE #79] fio userbio plugin run failed, Segmentation fault #44
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/3FS#44
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @zhangke96 on GitHub (Mar 4, 2025).
Original GitHub issue: https://github.com/deepseek-ai/3FS/issues/79
Originally assigned to: @KuribohG on GitHub.
I run fio with ioengine hf3fs_usrbio failed.
build commit c3a16b5cd8caf7a604270813cc4a5a0772b3d279
fs mount info
fio version
fio command
fio output
coredump info
@beanwang24 commented on GitHub (Mar 4, 2025):
I'm encountering the same issue, the error message shows:
fio: io engine hf3fs_usrbio init failed.
fio:3471854 UsrbIo.cc:196 ERROR] cannot iovfree() an iov created by iovwrap()
@limengzhechen commented on GitHub (Mar 4, 2025):
hi, how to build external:hf3fs_usrbio.so?
root@li:/home/li/fio-master# cd /home/li/fio-master
root@li:/home/li/fio-master# ls /home/li/3FS/build/src/lib/api/
CMakeFiles cmake_install.cmake CTestTestfile.cmake libhf3fs_api.a libhf3fs_api_shared.so Makefile
root@li:/home/li/fio-master# ls /home/li/3FS/src/lib/api/
CMakeLists.txt fuse.h hf3fs_expected.h hf3fs.h hf3fs_usrbio.h UsrbIo.cc UsrbIo.md
root@li:/home/li/fio-master# make HF3FS_LIB_DIR=/home/li/3FS/build/src/lib/api/ HF3FS_INCLUDE_DIR=/home/li/3FS/src/lib/api/ FIO_SRC_DIR=./
then, i can't find hf3fs_usrbio.so ?
@zhangke96 commented on GitHub (Mar 4, 2025):
@zhangke96 commented on GitHub (Mar 4, 2025):
I'm have build issue
I try to add DEBUG macro with g++ cmd
-DCONFIG_SYNC_FILE_RANGE -DCONFIG_PWRITEV2 -DCONFIG_PREADV2to solve.@limengzhechen commented on GitHub (Mar 4, 2025):
i use fio-3.39, also fail like:
./fio -ioengine=external:hf3fs_usrbio.so -directory=//3fs/stage/dir/file-1G -name=test -size=1G -rw=read -bs=1M -numjobs=1 --group_reporting -time_based=1 -runtime=120 -iodepth=1 -direct=0
test: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=hf3fs_usrbio, iodepth=1
fio-3.39
Starting 1 process
fio: io engine hf3fs_usrbio init failed.
fio: pid=692813, err=-22/
[2025-03-04T07:59:24.581448888+00:00 fio:692813 UsrbIo.cc:196 ERROR] cannot iovfree() an iov created by iovwrap()
Run status group 0 (all jobs):
@KuribohG commented on GitHub (Mar 4, 2025):
Sorry, we forgot to add one extra parameter needed in our USRBIO fio plugin.
mountpointis needed in fio configure file, for your instance you can addmountpoint=/mntto solve this problem.I updated the README.md for this.
@limengzhechen commented on GitHub (Mar 4, 2025):
./fio -ioengine=external:hf3fs_usrbio.so -directory=/3fs/stage/dir/file-1G/ -name=test -size=1G -rw=write -bs=4k -numjobs=1 --group_reporting -time_based=1 -runtime=1000 -iodepth=1 -direct=0 -mountpoint=/3fs/stage/dir/file-1G
test: (g=0): rw=write, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=hf3fs_usrbio, iodepth=1
fio-3.39
Starting 1 process
[2025-03-04T08:40:39.431837026+00:00 fio:712318 UsrbIo.cc:155 ERROR] failed to register iov '/dev/shm/hf3fs-iov-e4c77afb-b03b-47b6-ac0d-b1563305a3df' to hf3fs '/3fs/stage/dir/file-1G/3fs-virt/iovs/7e771695-daef-4119-8baf-14210dd0ab2b.r0.t1'
[2025-03-04T08:40:39.432040691+00:00 fio:712318 UsrbIo.cc:463 ERROR] ioring create failed: hf3fs_iovcreate_general failed -2
fio: io engine hf3fs_usrbio init failed.
fio: pid=712318, err=-2/
[2025-03-04T08:40:39.432088940+00:00 fio:712318 UsrbIo.cc:196 ERROR] cannot iovfree() an iov created by iovwrap()
Run status group 0 (all jobs):
@zhangke96 commented on GitHub (Mar 4, 2025):
It works. The client cpu usage has been greatly reduced.
@zhangke96 commented on GitHub (Mar 4, 2025):
-mountpoint=/3fs/stage/dir/file-1Gchange to-mountpoint=$mount_root_dir