通过fio usrbio进行测试时报错ioring create failed: hf3fs_iorwrap failed -2
- Dominant language
- C++
- Stars
- 10.2k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
执行fio时,开启了debug mode,输出信息如下:
[2025-03-26T19:31:53.143514601+08:00 fio:836233 UsrbIo.cc:472 ERROR] ioring create failed: hf3fs_iorwrap failed -2
fio: io engine hf3fs_usrbio init failed. Perhaps try reducing io depth?
fio: pid=836233, err=-2/
file 836233 close files
[2025-03-26T19:31:53.143547087+08:00 fio:836233 UsrbIo.cc:196 ERROR] cannot iovfree() an iov created by iovwrap()
io 836233 close ioengine hf3fs_usrbio
io 836233 free ioengine hf3fs_usrbio
parse 836233 free options
io 836233 dlclose ioengine hf3fs_usrbio
process 836233 pid=836233: runstate RUNNING -> EXITED
process 836167 pid=836233: runstate EXITED -> REAPED
process 836167 terminate group_id=-1
process 836167 setting terminate on 2depth_128file_4M_direct_read_bw1/836233
diskutil 836167 update io ticks
diskutil 836232 update io ticks
helperthread 836232 next_log: 500, msec_to_next_event: 249
process 836232 pid=836233: runstate REAPED -> FINISHING
process 836232 pid=836233: runstate FINISHING -> REAPED
执行的fio命令如下:
fio --debug=all -ioengine=external:hf3fs_usrbio.so -numjobs=1 -fallocate=none -iodepth=32 -iodepth_batch_submit=1024 -iodepth_batch_complete_min=1024 -iodepth_batch_complete_max=1024 -direct=1 -rw=randread -bs=4k --group_reporting -size=100M -time_based -runtime=300 -name=2depth_128file_4M_direct_read_bw1 -mountpoint=/var/www/html/apt-repo
看源码发现,是在
cqeSem的readlink时,由于link不存在报错,想问下,这个link是在什么时候创建的,以及这个问题需要如何解决?
` auto link = fmt::format("{}/3fs-virt/iovs/submit-ios{}",
std::string(hf3fs_mount_point),
prio == 0 ? ""
: prio < 0 ? ".ph"
: ".pl");`
Contributor guide
No contributing guide indexed for this repository
Research direction
Run the reported fio command with the hf3fs_usrbio external engine and inspect UsrbIo.cc around lines 196 and 472, focusing on cqeSem's readlink of the submit-ios path. Trace when the /3fs-virt/iovs/submit-ios, submit-ios.ph, or submit-ios.pl link is expected to exist; done means explaining the missing link and identifying the appropriate resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100