I simply tested the BlobFS Asynchronous API by using SPDK events framework to execute
multi tasks, each task writes one file.
But it doesn't work, the spdk_file_write_async() reported an error when resizing
the file size.
The call stack looks like this:
spdk_file_write_async() -> __readwrite() -> spdk_file_truncate_async()
The resize operation must be done in the metadata thread which invoked the
spdk_fs_load(), so only the task dispatched to the metadata CPU core works.
That's to say only one thread can be used to write files. It's hard to use,
and performance issues may arise.
Does anyone knows further more about this?
thanks very much
Show replies by date