aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/ctl
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cam/ctl')
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c
index 253ffbe7dbdc..03d5c91f7bf5 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.c
+++ b/sys/cam/ctl/ctl_frontend_iscsi.c
@@ -2150,17 +2150,24 @@ cfiscsi_ioctl_port_create(struct ctl_req *req)
uint16_t tag;
target = dnvlist_get_string(req->args_nvl, "cfiscsi_target", NULL);
- alias = dnvlist_get_string(req->args_nvl, "cfiscsi_target_alias", NULL);
+ if (target == NULL) {
+ req->status = CTL_LUN_ERROR;
+ snprintf(req->error_str, sizeof(req->error_str),
+ "Missing required argument: cfiscsi_target");
+ return;
+ }
+
val = dnvlist_get_string(req->args_nvl, "cfiscsi_portal_group_tag",
NULL);
-
- if (target == NULL || val == NULL) {
+ if (val == NULL) {
req->status = CTL_LUN_ERROR;
snprintf(req->error_str, sizeof(req->error_str),
- "Missing required argument");
+ "Missing required argument: cfiscsi_portal_group_tag");
return;
}
+ alias = dnvlist_get_string(req->args_nvl, "cfiscsi_target_alias", NULL);
+
tag = strtoul(val, NULL, 0);
ct = cfiscsi_target_find_or_create(&cfiscsi_softc, target, alias, tag);
if (ct == NULL) {
@@ -2251,13 +2258,19 @@ cfiscsi_ioctl_port_remove(struct ctl_req *req)
uint16_t tag;
target = dnvlist_get_string(req->args_nvl, "cfiscsi_target", NULL);
+ if (target == NULL) {
+ req->status = CTL_LUN_ERROR;
+ snprintf(req->error_str, sizeof(req->error_str),
+ "Missing required argument: cfiscsi_target");
+ return;
+ }
+
val = dnvlist_get_string(req->args_nvl, "cfiscsi_portal_group_tag",
NULL);
-
- if (target == NULL || val == NULL) {
+ if (val == NULL) {
req->status = CTL_LUN_ERROR;
snprintf(req->error_str, sizeof(req->error_str),
- "Missing required argument");
+ "Missing required argument: cfiscsi_portal_group_tag");
return;
}