Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2020 22:32:50 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r363656 - head/usr.sbin/ctld
Message-ID:  <202007282232.06SMWob3071103@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Tue Jul 28 22:32:50 2020
New Revision: 363656
URL: https://svnweb.freebsd.org/changeset/base/363656

Log:
  When modifying LUN pass "special" options too.
  
  Before switching to nvlists CTL merged previous and new options, so
  any options not passed just kept previous value.  Now CTL completely
  replaces them, so we must pass everything still relevant.
  
  MFC after:	1 week
  Sponsored by:	iXsystems, Inc.

Modified:
  head/usr.sbin/ctld/kernel.c

Modified: head/usr.sbin/ctld/kernel.c
==============================================================================
--- head/usr.sbin/ctld/kernel.c	Tue Jul 28 20:06:16 2020	(r363655)
+++ head/usr.sbin/ctld/kernel.c	Tue Jul 28 22:32:50 2020	(r363656)
@@ -777,6 +777,30 @@ kernel_lun_modify(struct lun *lun)
 	req.reqdata.modify.lun_id = lun->l_ctl_lun;
 	req.reqdata.modify.lun_size_bytes = lun->l_size;
 
+	if (lun->l_path != NULL) {
+		o = option_find(&lun->l_options, "file");
+		if (o != NULL) {
+			option_set(o, lun->l_path);
+		} else {
+			o = option_new(&lun->l_options, "file", lun->l_path);
+			assert(o != NULL);
+		}
+	}
+
+	o = option_find(&lun->l_options, "ctld_name");
+	if (o != NULL) {
+		option_set(o, lun->l_name);
+	} else {
+		o = option_new(&lun->l_options, "ctld_name", lun->l_name);
+		assert(o != NULL);
+	}
+
+	o = option_find(&lun->l_options, "scsiname");
+	if (o == NULL && lun->l_scsiname != NULL) {
+		o = option_new(&lun->l_options, "scsiname", lun->l_scsiname);
+		assert(o != NULL);
+	}
+
 	if (!TAILQ_EMPTY(&lun->l_options)) {
 		req.args_nvl = nvlist_create(0);
 		if (req.args_nvl == NULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202007282232.06SMWob3071103>