On Thu, Apr 10, 2025 at 12:19 PM ronnie sahlberg
<
ronnies...@gmail.com> wrote:
>
> Please ignore.
> Somehow I lost the ublksrv_queue_send_event() call. It works now.
It looks not work in my side, and the following change is needed:
diff --git a/targets/ublk.nfs.cpp b/targets/ublk.nfs.cpp
index 84d6f4f..656a061 100644
--- a/targets/ublk.nfs.cpp
+++ b/targets/ublk.nfs.cpp
@@ -136,13 +136,16 @@ static int nfs_handle_io_async(const struct
ublksrv_queue *q,
return nfs_tgt_write(q, iod, data->tag);
case UBLK_IO_OP_DISCARD:
ublk_err("UBLK_IO_OP_DISCARD is not supported");
- return -EINVAL;
+ ublksrv_complete_io(q, data->tag, -ENOTSUP);
+ break;
case UBLK_IO_OP_FLUSH:
ublk_err("UBLK_IO_OP_FLUSH is not supported");
+ ublksrv_complete_io(q, data->tag, 0);
break;
case UBLK_IO_OP_WRITE_ZEROES:
ublk_err("UBLK_IO_OP_WRITE_ZEROS is not supported");
- return -EINVAL;
+ ublksrv_complete_io(q, data->tag, -ENOTSUP);
+ break;
default:
return -EINVAL;
}
Thanks,
Ming Lei