diff --git a/lib/blobfs/blobfs.c b/lib/blobfs/blobfs.c index 09dbe9f3e..b83c1f5c1 100644 --- a/lib/blobfs/blobfs.c +++ b/lib/blobfs/blobfs.c @@ -2348,6 +2348,7 @@ __file_close_async_done(void *ctx, int bserrno) spdk_fs_delete_file_async(file->fs, file->name, blob_delete_cb, ctx); return; } + args->fn.file_op(args->arg, bserrno); free_fs_request(req); } @@ -2367,7 +2368,8 @@ __file_close_async(struct spdk_file *file, struct spdk_fs_request *req) file->ref_count--; if (file->ref_count > 0) { pthread_spin_unlock(&file->lock); - __file_close_async_done(req, 0); + req->args.fn.file_op(req->args.arg, 0); + free_fs_request(req); return; }