@@ -177,13 +177,40 @@ void nvmf_default_config(struct nvme_fabrics_config *cfg)
177177 cfg -> ctrl_loss_tmo = NVMF_DEF_CTRL_LOSS_TMO ;
178178}
179179
180- #define UPDATE_CFG_OPTION (c , n , o , d ) \
180+ #define MERGE_CFG_OPTION (c , n , o , d ) \
181181 if ((c)->o == d) (c)->o = (n)->o
182182static struct nvme_fabrics_config * merge_config (nvme_ctrl_t c ,
183183 const struct nvme_fabrics_config * cfg )
184184{
185185 struct nvme_fabrics_config * ctrl_cfg = nvme_ctrl_get_config (c );
186186
187+ MERGE_CFG_OPTION (ctrl_cfg , cfg , host_traddr , NULL );
188+ MERGE_CFG_OPTION (ctrl_cfg , cfg , host_iface , NULL );
189+ MERGE_CFG_OPTION (ctrl_cfg , cfg , nr_io_queues , 0 );
190+ MERGE_CFG_OPTION (ctrl_cfg , cfg , nr_write_queues , 0 );
191+ MERGE_CFG_OPTION (ctrl_cfg , cfg , nr_poll_queues , 0 );
192+ MERGE_CFG_OPTION (ctrl_cfg , cfg , queue_size , 0 );
193+ MERGE_CFG_OPTION (ctrl_cfg , cfg , keep_alive_tmo , 0 );
194+ MERGE_CFG_OPTION (ctrl_cfg , cfg , reconnect_delay , 0 );
195+ MERGE_CFG_OPTION (ctrl_cfg , cfg , ctrl_loss_tmo ,
196+ NVMF_DEF_CTRL_LOSS_TMO );
197+ MERGE_CFG_OPTION (ctrl_cfg , cfg , fast_io_fail_tmo , 0 );
198+ MERGE_CFG_OPTION (ctrl_cfg , cfg , tos , -1 );
199+ MERGE_CFG_OPTION (ctrl_cfg , cfg , duplicate_connect , false);
200+ MERGE_CFG_OPTION (ctrl_cfg , cfg , disable_sqflow , false);
201+ MERGE_CFG_OPTION (ctrl_cfg , cfg , hdr_digest , false);
202+ MERGE_CFG_OPTION (ctrl_cfg , cfg , data_digest , false);
203+ MERGE_CFG_OPTION (ctrl_cfg , cfg , tls , false);
204+
205+ return ctrl_cfg ;
206+ }
207+
208+ #define UPDATE_CFG_OPTION (c , n , o , d ) \
209+ if ((n)->o != d) (c)->o = (n)->o
210+ void nvmf_update_config (nvme_ctrl_t c , const struct nvme_fabrics_config * cfg )
211+ {
212+ struct nvme_fabrics_config * ctrl_cfg = nvme_ctrl_get_config (c );
213+
187214 UPDATE_CFG_OPTION (ctrl_cfg , cfg , host_traddr , NULL );
188215 UPDATE_CFG_OPTION (ctrl_cfg , cfg , host_iface , NULL );
189216 UPDATE_CFG_OPTION (ctrl_cfg , cfg , nr_io_queues , 0 );
@@ -201,8 +228,6 @@ static struct nvme_fabrics_config *merge_config(nvme_ctrl_t c,
201228 UPDATE_CFG_OPTION (ctrl_cfg , cfg , hdr_digest , false);
202229 UPDATE_CFG_OPTION (ctrl_cfg , cfg , data_digest , false);
203230 UPDATE_CFG_OPTION (ctrl_cfg , cfg , tls , false);
204-
205- return ctrl_cfg ;
206231}
207232
208233static int add_bool_argument (char * * argstr , char * tok , bool arg )
0 commit comments