mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-15 06:42:51 +01:00
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.
This commit is contained in:
parent
3008333d44
commit
3b11655c7e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=363656
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user