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