Hi everyone,

    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() -> spdk_blob_resize()

    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