- if (nbd_export_find(name)) {
- error_setg(errp, "NBD server already has export named '%s'", name);
- return;
+ export_opts = g_new(BlockExportOptions, 1);
+ *export_opts = (BlockExportOptions) {
+ .type = BLOCK_EXPORT_TYPE_NBD,
+ .id = g_strdup(arg->name),
+ .node_name = g_strdup(bdrv_get_node_name(bs)),
+ .has_writable = arg->has_writable,
+ .writable = arg->writable,
+ };
+ QAPI_CLONE_MEMBERS(BlockExportOptionsNbdBase, &export_opts->u.nbd,
+ qapi_NbdServerAddOptions_base(arg));
+ if (arg->has_bitmap) {
+ export_opts->u.nbd.has_bitmaps = true;
+ QAPI_LIST_PREPEND(export_opts->u.nbd.bitmaps, g_strdup(arg->bitmap));