When the startup mode has been specified in iscsid.conf it needs to be kept in sync for both settings, 'node.startup' and 'node.conn[0].startup'.
References: bnc#458142 Signed-off-by: Hannes Reinecke <h...@suse.de> --- usr/idbm.c | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/usr/idbm.c b/usr/idbm.c index a73b410..1f01535 100644 --- a/usr/idbm.c +++ b/usr/idbm.c @@ -598,6 +598,8 @@ void idbm_recinfo_config(recinfo_t *info, FILE *f) char name[NAME_MAXVAL]; char value[VALUE_MAXVAL]; char *line, *nl, buffer[2048]; + char *node_startup_value = NULL; + char *conn_startup_value = NULL; int line_number = 0; int c = 0, i; @@ -656,8 +658,29 @@ void idbm_recinfo_config(recinfo_t *info, FILE *f) } *(value+i) = 0; - idbm_rec_update_param(info, name, value, line_number); + if (!strcmp(name, "node.startup")) { + node_startup_value = strdup(value); + } + if (!strcmp(name, "node.conn[0].startup")) { + conn_startup_value = strdup(value); + } + (void)idbm_rec_update_param(info, name, value, line_number); } while (line); + /* + * Compat hack: + * Keep node.startup and node.conn[0].startup in sync even + * if only one of those has been specified in the config file. + */ + if (node_startup_value && !conn_startup_value) { + (void)idbm_rec_update_param(info, "node.conn[0].startup", + node_startup_value, -1); + free(node_startup_value); + } + if (conn_startup_value && !node_startup_value) { + (void)idbm_rec_update_param(info, "node.startup", + conn_startup_value, -1); + free(conn_startup_value); + } } /* -- 1.7.3.4 -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To post to this group, send email to open-iscsi@googlegroups.com. To unsubscribe from this group, send email to open-iscsi+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/open-iscsi?hl=en.