Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filesize * nrfiles is no equal to actual I/O size when the filesize option is set too small and size option is not specified #1683

Open
1 task done
KeisukeeLee opened this issue Dec 10, 2023 · 3 comments

Comments

@KeisukeeLee
Copy link

Please acknowledge the following before creating a ticket

Description of the bug:

I use fio as follow command(specify filesize and nrfiles option, but no specify size option): fio --name=read --ioengine=sync --rw=read --bs=4k --numjobs=1 --filesize=30K --nrfiles=1 --end_fsync=1 - -direct=1, I find out that the total aggregate io is only 28.0KiB, but filesize * nrfiles=30K*1=30K, I thought that the two should be equal.
image
When I tryfio --name=read --ioengine=sync --rw=read --bs=4k --numjobs=1 --filesize=30Mi --nrfiles=1 --end_fsync=1 --direct=1(I change --filesize to 30Mi), the result is as expected.
image
So, what happens when it read small sized file?
Environment:
WSL2(Ubuntu) in Windows10
fio version:
Version: 3.16-1
Reproduction steps

fio --name=read --ioengine=sync --rw=read --bs=4k --numjobs=1 --filesize=30K --nrfiles=1 --end_fsync=1 - -direct=1andfio --name=read --ioengine=sync --rw=read --bs=4k --numjobs=1 --filesize=30Mi --nrfiles=1 --end_fsync=1 --direct=1

@vincentkfu
Copy link
Collaborator

Fio can't write 30k because your block size is 4k.

@KeisukeeLee
Copy link
Author

Thx! @vincentkfu

@KeisukeeLee KeisukeeLee reopened this Dec 10, 2023
@KeisukeeLee
Copy link
Author

Also, When I run the following command, fio --name=read --ioengine=sync --rw=read --bs=4k --numjobs=1 --filesize=1Ki-50Ki --nrfiles=1000 --end_fsync=1, there's always a file that doesn't get created, it finally spits out an error: fio: pid=349, err=2/file:filesetup.c:701, func=open(read.0.7), error=No such file or directory. Is that the same thing? If so, I think it's a bit weird.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants