diff --git a/iscsi-scst/usr/chap.c b/iscsi-scst/usr/chap.c index a436eea1a..a1bb72c87 100644 --- a/iscsi-scst/usr/chap.c +++ b/iscsi-scst/usr/chap.c @@ -225,7 +225,8 @@ static void encode_base64_string(const u8 *intnum, long length, char *string) strptr += 4; } else if (delta == 2) { string[strptr] = base64code[(intnum[count] & 0xfc) >> 2]; - string[strptr + 1] = base64code[((intnum[count] & 0x03) << 4) | ((intnum[count + 1] & 0xf0) >> 4)]; + string[strptr + 1] = base64code[((intnum[count] & 0x03) << 4) | + ((intnum[count + 1] & 0xf0) >> 4)]; string[strptr + 2] = base64code[(intnum[count + 1] & 0x0f) << 2]; string[strptr + 3] = base64code[64]; strptr += 4; @@ -288,7 +289,7 @@ static int chap_decode_string(char *encoded, u8 *decode_buf, int buf_len, int en if (encoding_fmt == HEX_FORMAT) { if ((strlen(encoded) - 2) > (2 * buf_len)) { log_error("%s(%d) BUG? buf[%d] !sufficient to decode string[%d]", - __func__, __LINE__, buf_len, (int) strlen(encoded)); + __func__, __LINE__, buf_len, (int)strlen(encoded)); return CHAP_TARGET_ERROR; } decode_hex_string(encoded + 2, decode_buf, buf_len); @@ -296,7 +297,7 @@ static int chap_decode_string(char *encoded, u8 *decode_buf, int buf_len, int en } else if (encoding_fmt == BASE64_FORMAT) { if ((strlen(encoded) - 2) > ((buf_len - 1) / 3 + 1) * 4) { log_error("%s(%d) BUG? buf[%d] !sufficient to decode string[%d]", - __func__, __LINE__, buf_len, (int) strlen(encoded)); + __func__, __LINE__, buf_len, (int)strlen(encoded)); return CHAP_TARGET_ERROR; } decode_base64_string(encoded + 2, decode_buf, buf_len); @@ -308,7 +309,8 @@ static int chap_decode_string(char *encoded, u8 *decode_buf, int buf_len, int en return 0; } -static inline void chap_encode_string(const u8 *intnum, int buf_len, char *encode_buf, int encoding_fmt) +static inline void chap_encode_string(const u8 *intnum, int buf_len, char *encode_buf, + int encoding_fmt) { encode_buf[0] = '0'; if (encoding_fmt == HEX_FORMAT) { @@ -321,7 +323,7 @@ static inline void chap_encode_string(const u8 *intnum, int buf_len, char *encod } static inline void chap_calc_digest_md5(char chap_id, const char *secret, int secret_len, - const u8 *challenge, int challenge_len, u8 *digest) + const u8 *challenge, int challenge_len, u8 *digest) { struct md5_ctx ctx; @@ -333,7 +335,7 @@ static inline void chap_calc_digest_md5(char chap_id, const char *secret, int se } static inline void chap_calc_digest_sha1(char chap_id, const char *secret, int secret_len, - const u8 *challenge, int challenge_len, u8 *digest) + const u8 *challenge, int challenge_len, u8 *digest) { struct sha1_ctx ctx; @@ -468,7 +470,6 @@ static int chap_initiator_auth_create_challenge(struct connection *conn) conn->auth_state = CHAP_AUTH_STATE_CHALLENGE; break; } - } if (!p) return CHAP_INITIATOR_ERROR; @@ -753,11 +754,13 @@ static int chap_target_auth_create_response(struct connection *conn) switch (conn->auth.chap.digest_alg) { case CHAP_DIGEST_ALG_MD5: chap_calc_digest_md5(chap_id, ISCSI_USER_PASS(user), - strlen(ISCSI_USER_PASS(user)), challenge, challenge_len, digest); + strlen(ISCSI_USER_PASS(user)), challenge, challenge_len, + digest); break; case CHAP_DIGEST_ALG_SHA1: chap_calc_digest_sha1(chap_id, ISCSI_USER_PASS(user), - strlen(ISCSI_USER_PASS(user)), challenge, challenge_len, digest); + strlen(ISCSI_USER_PASS(user)), challenge, challenge_len, + digest); break; case CHAP_DIGEST_ALG_SHA256: res = chap_calc_digest_sha256(chap_id, ISCSI_USER_PASS(user), diff --git a/iscsi-scst/usr/config.c b/iscsi-scst/usr/config.c index 54e2521f0..3379d1864 100644 --- a/iscsi-scst/usr/config.c +++ b/iscsi-scst/usr/config.c @@ -49,8 +49,8 @@ struct iscsi_key user_keys[] = { static struct __qelem discovery_users_in = LIST_HEAD_INIT(discovery_users_in); static struct __qelem discovery_users_out = LIST_HEAD_INIT(discovery_users_out); -struct iscsi_attr *iscsi_attr_lookup_by_sysfs_name( - const struct __qelem *attrs_list, const char *sysfs_name) +struct iscsi_attr *iscsi_attr_lookup_by_sysfs_name(const struct __qelem *attrs_list, + const char *sysfs_name) { struct iscsi_attr *attr; @@ -62,8 +62,7 @@ struct iscsi_attr *iscsi_attr_lookup_by_sysfs_name( return NULL; } -struct iscsi_attr *iscsi_attr_lookup_by_key( - const struct __qelem *attrs_list, const char *key) +struct iscsi_attr *iscsi_attr_lookup_by_key(const struct __qelem *attrs_list, const char *key) { struct iscsi_attr *attr; @@ -103,7 +102,7 @@ void iscsi_attrs_free(struct __qelem *attrs_list) } int iscsi_attr_create(int attr_size, struct __qelem *attrs_list, - const char *sysfs_name_tmpl, const char *key, const char *val, + const char *sysfs_name_tmpl, const char *key, const char *val, u32 mode, struct iscsi_attr **res_attr) { int res = 0; @@ -153,7 +152,7 @@ int iscsi_attr_create(int attr_size, struct __qelem *attrs_list, if (num == 0) num++; snprintf(attr->sysfs_name, sizeof(attr->sysfs_name), - "%s%d", sysfs_name_tmpl, num); + "%s%d", sysfs_name_tmpl, num); if (!iscsi_attr_lookup_by_sysfs_name(attrs_list, attr->sysfs_name)) break; num++; @@ -173,7 +172,7 @@ out_free: } int iscsi_attr_replace(const struct __qelem *attrs_list, const char *sysfs_name, - char *raw_value) + char *raw_value) { int res = 0; struct iscsi_attr *attr, *a; @@ -194,7 +193,7 @@ int iscsi_attr_replace(const struct __qelem *attrs_list, const char *sysfs_name, if (a && a != attr) { log_error("Attr %s (sysfs_name %s) already exists\n", key, - a->sysfs_name); + a->sysfs_name); res = -EEXIST; goto out; } @@ -295,7 +294,8 @@ static char *config_gets(char *buf, int size, const char *data, int *offset) { int offs = *offset, i = 0; - while ((i < size-1) && (data[offs] != '\n') && (data[offs] != ';') && (data[offs] != '\0')) + while ((i < size - 1) && (data[offs] != '\n') && + (data[offs] != ';') && (data[offs] != '\0')) buf[i++] = data[offs++]; if (i == 0 && (data[offs] == '\0')) @@ -329,7 +329,7 @@ int accounts_empty(u32 tid, int dir) } static struct iscsi_attr *__account_lookup_by_name(struct target *target, - int dir, const char *name) + int dir, const char *name) { const struct __qelem *list; @@ -377,7 +377,7 @@ struct iscsi_attr *account_get_first(u32 tid, int dir) } struct iscsi_attr *account_lookup_by_sysfs_name(struct target *target, - int dir, const char *sysfs_name) + int dir, const char *sysfs_name) { const struct __qelem *list; @@ -400,7 +400,7 @@ int config_account_query(u32 tid, int dir, const char *name, char *pass) } int config_account_list(u32 tid, int dir, u32 *cnt, u32 *overflow, - char *buf, size_t buf_sz) + char *buf, size_t buf_sz) { struct target *target; const struct __qelem *list; @@ -476,7 +476,7 @@ int config_account_del(u32 tid, int dir, char *name, u32 cookie) } log_debug(1, "Deleting %s user %s (%p, target %s, sysfs name %s)", - (dir == ISCSI_USER_DIR_OUTGOING) ? "outgoing" : "incoming", + (dir == ISCSI_USER_DIR_OUTGOING) ? "outgoing" : "incoming", ISCSI_USER_NAME(user), user, target ? target->name : "discovery", user->sysfs_name); @@ -491,14 +491,14 @@ out: } static int account_create(struct __qelem *list, const char *sysfs_name, - const char *name, const char *pass, struct iscsi_attr **res_user) + const char *name, const char *pass, struct iscsi_attr **res_user) { return iscsi_attr_create(sizeof(struct iscsi_attr), list, sysfs_name, name, pass, 0600, res_user); } int account_replace(struct target *target, int direction, - const char *sysfs_name, char *value) + const char *sysfs_name, char *value) { const struct __qelem *list; @@ -546,7 +546,7 @@ int __config_account_add(struct target *target, int dir, char *name, const char list_for_each_entry(old, list, ulist) { log_warning("Only one outgoing %s account is supported. Replacing the old one.\n", - target ? "target" : "discovery"); + target ? "target" : "discovery"); account_destroy(old); break; } @@ -697,7 +697,7 @@ static int __initiator_match(int fd, char *str) int err = 0; len = sizeof(from); - if (getpeername(fd, (struct sockaddr *) &from, &len) < 0) + if (getpeername(fd, (struct sockaddr *)&from, &len) < 0) return 0; while ((p = strsep(&str, ","))) { @@ -864,7 +864,7 @@ out: } int config_params_set(u32 tid, u64 sid, int type, u32 partial, - struct iscsi_param *params) + struct iscsi_param *params) { int err, i; struct target *target; @@ -889,11 +889,13 @@ int config_params_set(u32 tid, u64 sid, int type, u32 partial, if (type == key_session) { for (i = 0; i < session_key_last; i++) { uint32_t in_val = params[i].val; + if (partial & (1 << i)) { err = params_check_val(session_keys, i, ¶ms[i].val); if (err < 0) { log_error("%s: Wrong value %u->%u for session parameter %s\n", - __func__, in_val, params[i].val, session_keys[i].name); + __func__, in_val, params[i].val, + session_keys[i].name); goto out; } } @@ -905,11 +907,13 @@ int config_params_set(u32 tid, u64 sid, int type, u32 partial, } else { for (i = 0; i < target_key_last; i++) { uint32_t in_val = params[i].val; + if (partial & (1 << i)) { err = params_check_val(target_keys, i, ¶ms[i].val); if (err < 0) { log_error("%s: Wrong value %u->%u for target parameter %s\n", - __func__, in_val, params[i].val, target_keys[i].name); + __func__, in_val, params[i].val, + target_keys[i].name); goto out; } } @@ -992,11 +996,12 @@ int config_parse_main(const char *data, u32 cookie) res = params_str_to_val(target_keys, idx, str, &val); if (res < 0) { log_error("Wrong value %s for parameter %s\n", - str, target_keys[idx].name); + str, target_keys[idx].name); continue; } uint32_t in_val = val; + res = params_check_val(target_keys, idx, &val); if (res < 0) { log_error("%s: Wrong value %u->%u for target parameter %s\n", @@ -1017,11 +1022,12 @@ int config_parse_main(const char *data, u32 cookie) res = params_str_to_val(session_keys, idx, str, &val); if (res < 0) { log_error("Wrong value %s for parameter %s\n", - str, session_keys[idx].name); + str, session_keys[idx].name); continue; } uint32_t in_val = val; + res = params_check_val(session_keys, idx, &val); if (res < 0) { log_error("%s: Wrong value %u->%u for session parameter %s\n", @@ -1045,7 +1051,7 @@ int config_parse_main(const char *data, u32 cookie) } res = __config_account_add(target, idx, name, pass, p, - !target, 0); + !target, 0); if (res < 0) continue; } else if (global_section && @@ -1138,7 +1144,7 @@ int config_load(const char *config_name) } else { err = -errno; log_error("Open config file %s failed: %s", cname, - strerror(errno)); + strerror(errno)); goto out; } } @@ -1150,7 +1156,7 @@ int config_load(const char *config_name) goto out_close; } - buf = malloc(size+1); + buf = malloc(size + 1); if (!buf) { err = -ENOMEM; log_error("malloc() failed: %s", strerror(-err)); diff --git a/iscsi-scst/usr/conn.c b/iscsi-scst/usr/conn.c index 3c4352453..43aac6ec6 100644 --- a/iscsi-scst/usr/conn.c +++ b/iscsi-scst/usr/conn.c @@ -66,10 +66,10 @@ void conn_pass_to_kern(struct connection *conn, int fd) int err; log_debug(1, "fd %d, cid %u, stat_sn %u, exp_stat_sn %u sid %" PRIx64, - fd, conn->cid, conn->stat_sn, conn->exp_stat_sn, conn->sid.id64); + fd, conn->cid, conn->stat_sn, conn->exp_stat_sn, conn->sid.id64); err = kernel_conn_create(conn->tid, conn->sess->sid.id64, conn->cid, - conn->stat_sn, conn->exp_stat_sn, fd); + conn->stat_sn, conn->exp_stat_sn, fd); if (err == 0) conn->passed_to_kern = 1; diff --git a/iscsi-scst/usr/ctldev.c b/iscsi-scst/usr/ctldev.c index 1066543ed..f26830746 100644 --- a/iscsi-scst/usr/ctldev.c +++ b/iscsi-scst/usr/ctldev.c @@ -50,7 +50,7 @@ int kernel_open(void) goto out_close; } else { log_debug(0, "max_data_seg_len %d, max_queued_cmds %d", - reg.max_data_seg_len, reg.max_queued_cmds); + reg.max_data_seg_len, reg.max_queued_cmds); iscsi_init_params.max_data_seg_len = reg.max_data_seg_len; iscsi_init_params.max_queued_cmds = reg.max_queued_cmds; } @@ -163,13 +163,13 @@ int kernel_target_create(struct target *target, u32 *tid, u32 cookie) } log_debug(1, "Adding target %s (attrs_num %d)", target->name, - info.attrs_num); + info.attrs_num); err = ioctl(ctrl_fd, ADD_TARGET, &info); if (err < 0) { err = -errno; log_error("Can't create target %s: %s\n", target->name, - strerror(errno)); + strerror(errno)); } else { target->tid = err; if (tid) @@ -201,9 +201,8 @@ int kernel_target_destroy(u32 tid, u32 cookie) return res; } - int kernel_attr_add(const struct target *target, const char *name, u32 mode, - u32 cookie) + u32 cookie) { struct iscsi_kern_attr_info info; int res; @@ -252,7 +251,6 @@ int kernel_user_del(const struct target *target, const struct iscsi_attr *user, return kernel_attr_del(target, user->sysfs_name, cookie); } - int kernel_initiator_allowed(u32 tid, const char *full_initiator_name) { int err; @@ -327,7 +325,7 @@ out: } int kernel_params_set(u32 tid, u64 sid, int type, u32 partial, - const struct iscsi_param *params) + const struct iscsi_param *params) { int i, err; struct iscsi_kern_params_info info; @@ -383,9 +381,8 @@ int kernel_session_create(struct connection *conn) info.exp_cmd_sn = conn->exp_cmd_sn; iscsi_strscpy(info.initiator_name, conn->sess->initiator, sizeof(info.initiator_name)); - iscsi_make_full_initiator_name(target->per_portal_acl, - conn->sess->initiator, conn->target_portal, + conn->sess->initiator, conn->target_portal, info.full_initiator_name, sizeof(info.full_initiator_name)); for (i = 0; i < session_key_last; i++) @@ -397,7 +394,9 @@ int kernel_session_create(struct connection *conn) res = ioctl(ctrl_fd, ADD_SESSION, &info); if (res < 0) { res = -errno; - log_error("Can't create sess 0x%" PRIx64 " (tid %d, initiator %s): %s\n", conn->sess->sid.id64, conn->tid, + log_error("Can't create sess 0x%" PRIx64 " (tid %d, initiator %s): %s\n", + conn->sess->sid.id64, + conn->tid, conn->sess->initiator, strerror(errno)); } @@ -419,14 +418,14 @@ int kernel_session_destroy(u32 tid, u64 sid) if (res < 0) { res = -errno; log_debug(2, "Can't destroy sess 0x%" PRIx64 " (tid %d): %s\n", - sid, tid, strerror(errno)); + sid, tid, strerror(errno)); } return res; } int kernel_conn_create(u32 tid, u64 sid, u32 cid, u32 stat_sn, u32 exp_stat_sn, - int fd) + int fd) { struct iscsi_kern_conn_info info; int res; @@ -444,7 +443,7 @@ int kernel_conn_create(u32 tid, u64 sid, u32 cid, u32 stat_sn, u32 exp_stat_sn, if (res < 0) { res = -errno; log_error("Can't create conn %x (sess 0x%" PRIx64 ", tid %d): %s\n", - cid, sid, tid, strerror(errno)); + cid, sid, tid, strerror(errno)); } return res; diff --git a/iscsi-scst/usr/event.c b/iscsi-scst/usr/event.c index 4f907019e..b6d4dc919 100644 --- a/iscsi-scst/usr/event.c +++ b/iscsi-scst/usr/event.c @@ -36,7 +36,7 @@ #define ISCSI_ISNS_SYSFS_ACCESS_CONTROL_ENABLED "AccessControl" -#define STATIC_ASSERT(e) ((void)sizeof(int[1-2*!(e)])) +#define STATIC_ASSERT(e) ((void)sizeof(int[1 - 2 * !(e)])) static struct sockaddr_nl src_addr, dest_addr; @@ -97,7 +97,6 @@ static int nl_read(int fd, void *data, int len, bool wait) return res; } - static int strncasecmp_numwild(const char *name, const char *mask) { int err = -EINVAL; @@ -119,7 +118,7 @@ out: } static int send_mgmt_cmd_res(u32 tid, u32 cookie, u32 req_cmd, int result, - const char *res_str) + const char *res_str) { struct iscsi_kern_mgmt_cmd_res_info cinfo; int res; @@ -177,7 +176,7 @@ static int handle_e_add_target(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_ADD_TARGET, -errno, NULL); exit(1); } @@ -194,7 +193,7 @@ static int handle_e_add_target(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_ADD_TARGET, -errno, NULL); exit(1); } @@ -244,7 +243,8 @@ static int handle_add_user(struct target *target, int dir, } static int __handle_add_attr(const struct target *target, struct __qelem *attrs_list, - const char *sysfs_name_tmpl, char *p, int single_param_only, u32 cookie) + const char *sysfs_name_tmpl, char *p, int single_param_only, + u32 cookie) { int res; const char *name = p; @@ -279,7 +279,7 @@ static int __handle_add_attr(const struct target *target, struct __qelem *attrs_ } res = iscsi_attr_create(sizeof(*attr), attrs_list, sysfs_name_tmpl, key, - val, 0644, &attr); + val, 0644, &attr); if (res != 0) { log_error("Unknown portal %s", key); goto out; @@ -309,7 +309,7 @@ static int handle_add_attr(struct target *target, char *p, u32 cookie) res = handle_add_user(target, dir, pp, p, cookie); } else if (strncasecmp_numwild(ISCSI_ALLOWED_PORTAL_ATTR_NAME, pp) == 0) { res = __handle_add_attr(target, &target->allowed_portals, - ISCSI_ALLOWED_PORTAL_ATTR_NAME, p, 1, cookie); + ISCSI_ALLOWED_PORTAL_ATTR_NAME, p, 1, cookie); } else { log_error("Syntax error at %s", pp); res = -EINVAL; @@ -328,13 +328,13 @@ static int handle_del_user(const struct target *target, int dir, char *p, u32 co name = config_sep_string(&p); res = config_account_del((target) ? target->tid : 0, dir, - name, cookie); + name, cookie); return res; } static int __handle_del_attr(const struct target *target, struct __qelem *attrs_list, - char *p, u32 cookie) + char *p, u32 cookie) { int res; const char *key; @@ -377,7 +377,7 @@ static int handle_del_attr(struct target *target, char *p, u32 cookie) res = handle_del_user(target, dir, p, cookie); } else if (strncasecmp_numwild(ISCSI_ALLOWED_PORTAL_ATTR_NAME, pp) == 0) { res = __handle_del_attr(target, &target->allowed_portals, - p, cookie); + p, cookie); } else { log_error("Syntax error at %s", pp); res = -EINVAL; @@ -417,7 +417,7 @@ static int handle_e_mgmt_cmd(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_MGMT_CMD, -errno, NULL); exit(1); } @@ -473,7 +473,7 @@ static void add_key_mark(char *res_str, int res_str_len, int new_line) int offs = strlen(res_str); snprintf(&res_str[offs], res_str_len - offs, "%s%s\n", - new_line ? "\n" : "", SCST_SYSFS_KEY_MARK); + new_line ? "\n" : "", SCST_SYSFS_KEY_MARK); } static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) @@ -509,7 +509,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_GET_ATTR_VALUE, -errno, NULL); exit(1); } @@ -533,7 +533,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } params_val_to_str(target_keys, idx, target->target_params[idx], - res_str, sizeof(res_str)); + res_str, sizeof(res_str)); if (target->target_params[idx] != target_keys[idx].local_def) add_key_mark(res_str, sizeof(res_str), 1); @@ -545,7 +545,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } params_val_to_str(session_keys, idx, target->session_params[idx], - res_str, sizeof(res_str)); + res_str, sizeof(res_str)); if (target->session_params[idx] != session_keys[idx].local_def) add_key_mark(res_str, sizeof(res_str), 1); @@ -560,7 +560,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } snprintf(res_str, sizeof(res_str), "%s %s\n", ISCSI_USER_NAME(user), - ISCSI_USER_PASS(user)); + ISCSI_USER_PASS(user)); add_key_mark(res_str, sizeof(res_str), 0); } else if (strncasecmp_numwild(ISCSI_ALLOWED_PORTAL_ATTR_NAME, pp) == 0) { const struct iscsi_attr *portal; @@ -583,7 +583,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_ENABLED_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -609,10 +609,10 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) ISCSI_TARGET_REDIRECTION_VALUE_PERM; if (target->redirect.port != ISCSI_LISTEN_PORT) snprintf(res_str, sizeof(res_str), "%s:%d %s\n", - target->redirect.addr, target->redirect.port, type); + target->redirect.addr, target->redirect.port, type); else snprintf(res_str, sizeof(res_str), "%s %s\n", - target->redirect.addr, type); + target->redirect.addr, type); add_key_mark(res_str, sizeof(res_str), 0); } else { *res_str = '\0'; @@ -632,14 +632,15 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_ISNS_SERVER_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } if (isns_server) { snprintf(res_str, sizeof(res_str), "%s %s\n", isns_server, - isns_access_control ? ISCSI_ISNS_SYSFS_ACCESS_CONTROL_ENABLED : ""); + isns_access_control ? + ISCSI_ISNS_SYSFS_ACCESS_CONTROL_ENABLED : ""); add_key_mark(res_str, sizeof(res_str), 0); } else { snprintf(res_str, sizeof(res_str), "\n"); @@ -647,7 +648,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_ISNS_ENTITY_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -655,7 +656,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_LINK_LOCAL_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -665,7 +666,7 @@ static int handle_e_get_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_INTERNAL_PORTAL_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -739,7 +740,7 @@ static int handle_target_redirect(struct target *target, char *p) if (port) { *port = '\0'; port++; - port_num = strtol(port, (char **) NULL, 10); + port_num = strtol(port, (char **)NULL, 10); if (port_num <= 0 || errno == EINVAL) { log_error("Invalid port %s", port); res = -EINVAL; @@ -750,7 +751,7 @@ static int handle_target_redirect(struct target *target, char *p) addr_len = strlen(addr); if (addr_len >= sizeof(target->redirect.addr)) { log_error("Too long addr %s, max allowed %zd", addr, - sizeof(target->redirect.addr)-1); + sizeof(target->redirect.addr) - 1); res = -ERANGE; goto out; } @@ -759,7 +760,7 @@ static int handle_target_redirect(struct target *target, char *p) char tmp[sizeof(target->redirect.addr)]; if (*addr == '[') - t = addr+1; + t = addr + 1; else t = addr; iscsi_strscpy(tmp, t, strchrnul(t, ']') - t + 1); @@ -783,7 +784,7 @@ static int handle_target_redirect(struct target *target, char *p) } log_info("Target %s %s redirected to %s:%d", target->name, - (type_num == ISCSI_STATUS_TGT_MOVED_TEMP) ? "temporarily" : "permanently", + (type_num == ISCSI_STATUS_TGT_MOVED_TEMP) ? "temporarily" : "permanently", addr, port_num); memcpy(target->redirect.addr, addr, addr_len + 1); @@ -831,7 +832,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_SET_ATTR_VALUE, -errno, NULL); exit(1); } @@ -847,7 +848,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) if (errno == EINTR || errno == EAGAIN) continue; log_error("read netlink fd (%d) failed: %s", fd, - strerror(errno)); + strerror(errno)); send_mgmt_cmd_res(0, event->cookie, E_SET_ATTR_VALUE, -errno, NULL); exit(1); } @@ -886,14 +887,14 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) res = params_str_to_val(target_keys, idx, pp, &val); if (res < 0) { log_error("Wrong value %s for parameter %s\n", - pp, target_keys[idx].name); + pp, target_keys[idx].name); goto out_free; } res = params_check_val(target_keys, idx, &val); if (res < 0) { log_error("Wrong value %u for parameter %s\n", - val, target_keys[idx].name); + val, target_keys[idx].name); goto out_free; } @@ -903,7 +904,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) params[idx].val = val; list_for_each_entry(session, &target->sessions_list, slist) { kernel_params_set(event->tid, session->sid.id64, - key_target, 1 << idx, params); + key_target, 1 << idx, params); } } else if ((idx = params_index_by_name(pp, session_keys)) >= 0) { if (!target) { @@ -924,14 +925,14 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) res = params_str_to_val(session_keys, idx, pp, &val); if (res < 0) { log_error("Wrong value %s for parameter %s\n", - pp, session_keys[idx].name); + pp, session_keys[idx].name); goto out_free; } res = params_check_val(session_keys, idx, &val); if (res < 0) { log_error("Wrong value %u for parameter %s\n", - val, session_keys[idx].name); + val, session_keys[idx].name); goto out_free; } @@ -971,7 +972,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_ENABLED_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -1055,7 +1056,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_ISNS_SERVER_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -1114,7 +1115,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_LINK_LOCAL_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -1131,7 +1132,7 @@ static int handle_e_set_attr_value(int fd, const struct iscsi_kern_event *event) } else if (strcasecmp(ISCSI_INTERNAL_PORTAL_ATTR_NAME, pp) == 0) { if (target) { log_error("Not NULL target %s for global attribute %s", - target->name, pp); + target->name, pp); res = -EINVAL; goto out_free; } @@ -1197,7 +1198,6 @@ out_free_server: goto out; } - /* Return zero after handling an event, or -EAGAIN when no event is available. */ int handle_iscsi_events(int fd, bool wait) { @@ -1315,7 +1315,8 @@ retry: conn = conn_find(session, event.cid); if (!conn) { - log_error("Connection %x for session %#" PRIx64 " not found", event.cid, event.sid); + log_error("Connection %x for session %#" PRIx64 " not found", event.cid, + event.sid); goto retry; } diff --git a/iscsi-scst/usr/iscsi_adm.c b/iscsi-scst/usr/iscsi_adm.c index 7ba9f48c2..cd4d16941 100644 --- a/iscsi-scst/usr/iscsi_adm.c +++ b/iscsi-scst/usr/iscsi_adm.c @@ -154,7 +154,7 @@ static int iscsid_request_send(int fd, const struct iscsi_adm_req *req) } static int iscsid_response_recv(int fd, struct iscsi_adm_req *req, void *rsp_data, - int rsp_data_sz) + int rsp_data_sz) { int err, ret; struct iovec iov[2]; @@ -182,7 +182,7 @@ static int iscsid_response_recv(int fd, struct iscsi_adm_req *req, void *rsp_dat if (ret != rsp_data_sz) { err = (ret < 0) ? -errno : -EIO; fprintf(stderr, "read failed: read %d instead of %d (%s)\n", - ret, (int)rsp_data_sz, strerror(-err)); + ret, (int)rsp_data_sz, strerror(-err)); } } @@ -203,9 +203,9 @@ static int iscsid_connect(void) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_LOCAL; - memcpy((char *) &addr.sun_path + 1, ISCSI_ADM_NAMESPACE, strlen(ISCSI_ADM_NAMESPACE)); + memcpy((char *)&addr.sun_path + 1, ISCSI_ADM_NAMESPACE, strlen(ISCSI_ADM_NAMESPACE)); - if (connect(fd, (struct sockaddr *) &addr, sizeof(addr))) { + if (connect(fd, (struct sockaddr *)&addr, sizeof(addr))) { close(fd); fd = -errno; fprintf(stderr, "Unable to connect to iscsid: %s\n", @@ -218,7 +218,7 @@ out: } static int iscsid_request(struct iscsi_adm_req *req, void *rsp_data, - int rsp_data_sz) + int rsp_data_sz) { int fd, err; diff --git a/iscsi-scst/usr/iscsi_scstd.c b/iscsi-scst/usr/iscsi_scstd.c index ec342edd0..1c9f01218 100644 --- a/iscsi-scst/usr/iscsi_scstd.c +++ b/iscsi-scst/usr/iscsi_scstd.c @@ -119,7 +119,8 @@ static void create_listen_socket(struct pollfd *array) break; if (i == LISTEN_MAX) { - log_error("Cannot handle address %s! Too many were specified.", server_address); + log_error("Cannot handle address %s! Too many were specified.", + server_address); exit(1); } @@ -149,7 +150,7 @@ static void create_listen_socket(struct pollfd *array) strerror(errno)); opt = 1; if (res->ai_family == AF_INET6 && - setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &opt, sizeof(opt))) { + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &opt, sizeof(opt))) { log_error("Unable to restrict IPv6 socket (%s)", strerror(errno)); close(sock); continue; @@ -162,7 +163,8 @@ static void create_listen_socket(struct pollfd *array) } if (listen(sock, INCOMING_MAX)) { - log_error("Unable to listen to server socket (%s)!", strerror(errno)); + log_error("Unable to listen to server socket (%s)!", + strerror(errno)); close(sock); continue; } @@ -280,14 +282,15 @@ static void create_iser_listen_socket(struct pollfd *array) break; if (i == ISERT_MAX_PORTALS) { - log_error("iSER: Cannot handle address %s! Too many were specified.", server_address); + log_error("iSER: Cannot handle address %s! Too many were specified.", + server_address); exit(1); } rc = getaddrinfo(server_address, servname, &hints, &res0); if (rc != 0) { log_error("iSER: Unable to get address info[%s] (%s)!", - server_address, get_error_str(rc)); + server_address, get_error_str(rc)); exit(1); } @@ -298,7 +301,7 @@ static void create_iser_listen_socket(struct pollfd *array) rc = ioctl(iser_fd, SET_LISTEN_ADDR, &info); if (rc != 0) { log_error("iSER: Unable to set listen address (%s)!", - strerror(errno)); + strerror(errno)); } ++i; } @@ -347,7 +350,7 @@ static void iser_accept(int fd) conn_fd = open(buff, O_RDWR); if (conn_fd == -1) { log_error("open(iser_connection) %s failed: %s\n", - buff, strerror(errno)); + buff, strerror(errno)); goto out; } @@ -359,12 +362,12 @@ static void iser_accept(int fd) } ret = getnameinfo((struct sockaddr *)&addr, sizeof(addr), target_portal, - sizeof(target_portal), target_portal_port, + sizeof(target_portal), target_portal_port, sizeof(target_portal_port), NI_NUMERICHOST | NI_NUMERICSERV); if (ret != 0) { log_error("Target portal getnameinfo() failed: %s!", - get_error_str(ret)); + get_error_str(ret)); goto out_close; } @@ -455,7 +458,7 @@ static void accept_connection(int listen) break; default: log_error("accept(incoming_socket) failed: %s", - strerror(errno)); + strerror(errno)); exit(1); } goto out; @@ -469,25 +472,25 @@ static void accept_connection(int listen) } rc = getnameinfo(&to.sa, sizeof(to), target_portal, sizeof(target_portal), - target_portal_port, sizeof(target_portal_port), + target_portal_port, sizeof(target_portal_port), NI_NUMERICHOST | NI_NUMERICSERV); if (rc != 0) { log_error("Target portal getnameinfo() failed: %s!", - get_error_str(rc)); + get_error_str(rc)); goto out_close; } rc = getnameinfo(&from.sa, sizeof(from), initiator_addr, - sizeof(initiator_addr), initiator_port, + sizeof(initiator_addr), initiator_port, sizeof(initiator_port), NI_NUMERICHOST | NI_NUMERICSERV); if (rc != 0) { log_error("Initiator getnameinfo() failed: %s!", - get_error_str(rc)); + get_error_str(rc)); goto out_close; } log_info("Connect from %s:%s to %s:%s", initiator_addr, initiator_port, - target_portal, target_portal_port); + target_portal, target_portal_port); if (conn_blocked) { log_warning("Connection refused due to blocking\n"); @@ -544,12 +547,12 @@ again: switch (conn->iostate) { case IOSTATE_READ_BHS: case IOSTATE_READ_AHS_DATA: - read_again: +read_again: errno = 0; /* for the log_debug() */ res = read(pollfd->fd, conn->buffer, conn->rwsize); if (res <= 0) { log_debug(1, "read(%u, %p, %u) returned %d, errno=%u", - pollfd->fd, conn->buffer, conn->rwsize, res, errno); + pollfd->fd, conn->buffer, conn->rwsize, res, errno); if (res == 0 || (errno != EINTR && errno != EAGAIN)) { conn->state = STATE_DROP; goto out; @@ -573,7 +576,7 @@ again: conn->rwsize = (conn->req.ahssize + conn->req.datasize + 3) & -4; if (conn->rwsize > INCOMING_BUFSIZE) { log_warning("Recv PDU with invalid size %d (max: %d)", conn->rwsize, - INCOMING_BUFSIZE); + INCOMING_BUFSIZE); conn->state = STATE_DROP; goto out; } @@ -612,12 +615,12 @@ again: case IOSTATE_WRITE_BHS: case IOSTATE_WRITE_AHS: case IOSTATE_WRITE_DATA: - write_again: +write_again: conn->cork_transmit(pollfd->fd); res = write(pollfd->fd, conn->buffer, conn->rwsize); if (res < 0) { log_debug(1, "write(%u, %p, %u) returned %d, errno=%u", - pollfd->fd, conn->buffer, conn->rwsize, res, errno); + pollfd->fd, conn->buffer, conn->rwsize, res, errno); if (errno != EINTR && errno != EAGAIN) { conn->state = STATE_DROP; goto out; @@ -651,7 +654,7 @@ again: o = conn->rwsize & 3; if (o) { for (o = 4 - o; o; o--) - *((u8 *) conn->buffer + conn->rwsize++) = + *((u8 *)conn->buffer + conn->rwsize++) = 0; } goto write_again; @@ -684,7 +687,7 @@ again: break; default: log_error("illegal iostate %d for port %d!\n", conn->iostate, - pollfd->fd); + pollfd->fd); exit(1); } out: @@ -734,13 +737,13 @@ static void event_loop(void) __func__); else log_error("%s: poll() failed: %s", __func__, - strerror(errno)); + strerror(errno)); exit(1); } for (i = 0; i < LISTEN_MAX; i++) { - if (poll_array[POLL_LISTEN + i].revents - && incoming_cnt < INCOMING_MAX) + if (poll_array[POLL_LISTEN + i].revents && + incoming_cnt < INCOMING_MAX) accept_connection(poll_array[POLL_LISTEN + i].fd); } @@ -827,9 +830,9 @@ static void init_max_params(void) target_keys[key_queued_cmnds].local_def = min((int)target_keys[key_queued_cmnds].local_def, iscsi_init_params.max_queued_cmds); target_keys[key_queued_cmnds].max = min_t(int, target_keys[key_queued_cmnds].max, - iscsi_init_params.max_queued_cmds); + iscsi_init_params.max_queued_cmds); target_keys[key_queued_cmnds].min = min_t(int, target_keys[key_queued_cmnds].min, - iscsi_init_params.max_queued_cmds); + iscsi_init_params.max_queued_cmds); /* MaxRecvDataSegmentLength */ session_keys[key_max_recv_data_length].local_def = iscsi_init_params.max_data_seg_len; @@ -870,7 +873,6 @@ int main(int argc, char **argv) gid_t gid = 0; int err; - if (pipe(init_report_pipe) == -1) { perror("pipe failed"); exit(-1); @@ -885,6 +887,7 @@ int main(int argc, char **argv) */ struct sigaction act = (struct sigaction) { .sa_handler = SIG_IGN }; int rc = sigaction(SIGPIPE, &act, NULL); + assert(rc == 0); act = (struct sigaction) { .sa_handler = suspend_logins }; @@ -963,16 +966,16 @@ int main(int argc, char **argv) } err = kernel_attr_add(NULL, ISCSI_ISNS_SERVER_ATTR_NAME, - 0644, 0); + 0644, 0); if (err != 0) exit(err); err = kernel_attr_add(NULL, ISCSI_ENABLED_ATTR_NAME, - 0644, 0); + 0644, 0); if (err != 0) exit(err); err = kernel_attr_add(NULL, ISCSI_ISNS_ENTITY_ATTR_NAME, - 0644, 0); + 0644, 0); if (err != 0) exit(err); err = kernel_attr_add(NULL, ISCSI_LINK_LOCAL_ATTR_NAME, 0644, 0); @@ -994,7 +997,7 @@ int main(int argc, char **argv) pid_t pid; int fd; - fd = open("/run/iscsi-scstd.pid", O_WRONLY|O_CREAT, 0644); + fd = open("/run/iscsi-scstd.pid", O_WRONLY | O_CREAT, 0644); if (fd < 0) { log_error("unable to create pid file"); exit(1); diff --git a/iscsi-scst/usr/iscsid.c b/iscsi-scst/usr/iscsid.c index 3140d247a..d99a8b969 100644 --- a/iscsi-scst/usr/iscsid.c +++ b/iscsi-scst/usr/iscsid.c @@ -75,8 +75,8 @@ char *text_key_find(struct connection *conn, const char *search_key) data++; datasize--; - if (keylen == value - key - 1 - && !strncasecmp(key, search_key, keylen)) + if (keylen == value - key - 1 && + !strncasecmp(key, search_key, keylen)) return value; } } @@ -110,7 +110,7 @@ static char *next_key(char **data, int *datasize, char **value) } static struct buf_segment *conn_alloc_buf_segment(struct connection *conn, - size_t sz) + size_t sz) { struct buf_segment *seg = malloc(sizeof(*seg) + sz); @@ -287,12 +287,15 @@ static int login_check_reinstatement(struct connection *conn) if (session) { if (req->sid.id.tsih == 0) { /* Kernel will do session reinstatement */ - log_debug(1, "Session sid %#" PRIx64 " reinstatement detected (tid %d, initiator %s)", req->sid.id64, + log_debug(1, "Session sid %#" PRIx64 " reinstatement detected (tid %d, initiator %s)", + req->sid.id64, conn->tid, conn->initiator); res = ISCSI_SESS_REINSTATEMENT; } else if (req->sid.id.tsih != session->sid.id.tsih) { log_error("TSIH for existing session sid %#" PRIx64 - ") doesn't match (tid %d, initiator %s, sid requested %#" PRIx64, session->sid.id64, conn->tid, + ") doesn't match (tid %d, initiator %s, sid requested %#" PRIx64, + session->sid.id64, + conn->tid, conn->initiator, req->sid.id64); /* Fail the login */ login_rsp_ini_err(conn, ISCSI_STATUS_SESSION_NOT_FOUND); @@ -321,14 +324,15 @@ static int login_check_reinstatement(struct connection *conn) } else { if (req->sid.id.tsih != 0) { log_error("Requested TSIH not 0 (TSIH %d, tid %d, initiator %s, sid requisted %#" PRIx64 ")", - req->sid.id.tsih, conn->tid, conn->initiator, - req->sid.id64); + req->sid.id.tsih, conn->tid, conn->initiator, + req->sid.id64); /* Fail the login */ login_rsp_ini_err(conn, ISCSI_STATUS_SESSION_NOT_FOUND); res = -1; goto out; } else { - log_debug(1, "New session sid %#" PRIx64 "(tid %d, initiator %s)", req->sid.id64, + log_debug(1, "New session sid %#" PRIx64 "(tid %d, initiator %s)", + req->sid.id64, conn->tid, conn->initiator); } } @@ -411,7 +415,7 @@ static void text_scan_login(struct connection *conn) if (val != conn->session_params[idx].val) { login_rsp_ini_err(conn, ISCSI_STATUS_INIT_ERR); log_warning("%s %u %u\n", key, - val, conn->session_params[idx].val); + val, conn->session_params[idx].val); goto out; } conn->session_params[idx].key_state = KEY_STATE_DONE; @@ -445,7 +449,7 @@ static int text_check_params(struct connection *conn) continue; } else if (p[i].key_state == KEY_STATE_DONE_ADDED) { log_debug(1, "Key %s was already added, val %d", - session_keys[i].name, p[i].val); + session_keys[i].name, p[i].val); continue; } switch (conn->state) { @@ -500,7 +504,6 @@ out: static bool valid_ascii_name_char(char ch) { - /* * From rtf3722 * @@ -859,7 +862,7 @@ static void login_start(struct connection *conn) /* We may "leak" here if we have an iSCSI event on the wrong time */ if (!iscsi_enabled) { log_info("Connect from %s to disabled iSCSI-SCST refused", - name); + name); login_rsp_tgt_err(conn, 0); conn->state = STATE_DROP; return; @@ -867,7 +870,7 @@ static void login_start(struct connection *conn) if (!target->tgt_enabled) { log_info("Connect from %s to disabled target %s refused", - name, target_name); + name, target_name); login_rsp_tgt_err(conn, 0); conn->state = STATE_DROP; return; @@ -890,7 +893,7 @@ static void login_start(struct connection *conn) (struct iscsi_login_rsp_hdr *)&conn->rsp.bhs; log_debug(1, "Redirecting target %s login to %s:%d", - target->name, target->redirect.addr, + target->name, target->redirect.addr, target->redirect.port); rsp->status_class = ISCSI_STATUS_REDIRECT; @@ -931,7 +934,7 @@ static void login_start(struct connection *conn) if (target->alias) text_key_add(conn, "TargetAlias", target->alias); log_debug(1, "target %s, sessions_count %d", target_name, - target->sessions_count); + target->sessions_count); } conn->exp_cmd_sn = be32_to_cpu(req->cmd_sn); @@ -1117,7 +1120,7 @@ static void cmnd_exec_login(struct connection *conn) if (rsp->status_class) return; if (!accounts_empty(conn->tid, ISCSI_USER_DIR_INCOMING) && - !on_internal_portal(conn)) + !on_internal_portal(conn)) goto auth_err; if (rsp->status_class) return; @@ -1349,7 +1352,7 @@ int cmnd_execute(struct connection *conn) break; } cmnd_exec_login(conn); - login_rsp = (struct iscsi_login_rsp_hdr *) &conn->rsp.bhs; + login_rsp = (struct iscsi_login_rsp_hdr *)&conn->rsp.bhs; if (login_rsp->status_class && login_rsp->status_class != ISCSI_STATUS_REDIRECT) conn_free_rsp_buf_list(conn); break; diff --git a/iscsi-scst/usr/iscsid.h b/iscsi-scst/usr/iscsid.h index 587f4f7da..e5a724c0f 100644 --- a/iscsi-scst/usr/iscsid.h +++ b/iscsi-scst/usr/iscsid.h @@ -379,10 +379,9 @@ struct iscsi_attr *account_lookup_by_sysfs_name(struct target *target, int account_replace(struct target *target, int direction, const char *sysfs_name, char *value); void accounts_free(struct __qelem *accounts_list); -struct iscsi_attr *iscsi_attr_lookup_by_sysfs_name( - const struct __qelem *attrs_list, const char *sysfs_name); -struct iscsi_attr *iscsi_attr_lookup_by_key( - const struct __qelem *attrs_list, const char *key); +struct iscsi_attr *iscsi_attr_lookup_by_sysfs_name(const struct __qelem *attrs_list, + const char *sysfs_name); +struct iscsi_attr *iscsi_attr_lookup_by_key(const struct __qelem *attrs_list, const char *key); void iscsi_attrs_free(struct __qelem *attrs_list); int iscsi_attr_create(int attr_size, struct __qelem *attrs_list, const char *sysfs_name_tmpl, const char *key, const char *val, diff --git a/iscsi-scst/usr/isns.c b/iscsi-scst/usr/isns.c index a4da509a6..f4f31ab2a 100644 --- a/iscsi-scst/usr/isns.c +++ b/iscsi-scst/usr/isns.c @@ -187,7 +187,7 @@ static void isns_hdr_init(struct isns_hdr *hdr, uint16_t function, } static int isns_tlv_set(struct isns_tlv **tlv, int max_tlv_buflen, - uint32_t tag, uint32_t length, const void *value) + uint32_t tag, uint32_t length, const void *value) { int l = length; int res; @@ -197,7 +197,7 @@ static int isns_tlv_set(struct isns_tlv **tlv, int max_tlv_buflen, if (sizeof(struct isns_tlv) + l > max_tlv_buflen) { log_error("Too big tlv len %d (max allowed %d)", l, - max_tlv_buflen); + max_tlv_buflen); res = -EOVERFLOW; goto out; } @@ -237,13 +237,13 @@ static int isns_scn_deregister(const char *name) max_buf = sizeof(buf) - offsetof(struct isns_hdr, pdu); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; @@ -299,10 +299,10 @@ static int isns_scn_register(void) if (strlen(isns_entity_target_name) < 1) { target = list_entry(targets_list.q_forw, struct target, tlist); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(target->name) + 1, target->name); + strlen(target->name) + 1, target->name); } else { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(isns_entity_target_name) + 1, isns_entity_target_name); + strlen(isns_entity_target_name) + 1, isns_entity_target_name); } if (err < 0) @@ -320,7 +320,7 @@ static int isns_scn_register(void) scn_flags = htonl(scn_flags); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_SCN_BITMAP, - sizeof(scn_flags), &scn_flags); + sizeof(scn_flags), &scn_flags); if (err < 0) goto out; length += err; @@ -375,13 +375,13 @@ static int isns_attr_query(const char *name) } err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NODE_TYPE, - sizeof(node), &node); + sizeof(node), &node); if (err < 0) goto out; length += err; @@ -445,7 +445,7 @@ static int isns_deregister(void) target = list_entry(targets_list.q_forw, struct target, tlist); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(target->name) + 1, target->name); + strlen(target->name) + 1, target->name); if (err < 0) goto out; length += err; @@ -456,7 +456,7 @@ static int isns_deregister(void) length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ENTITY_IDENTIFIER, - strlen(eid) + 1, eid); + strlen(eid) + 1, eid); if (err < 0) goto out; length += err; @@ -503,17 +503,17 @@ int isns_target_register(const char *name) if (strlen(isns_entity_target_name) < 1) { target = list_entry(targets_list.q_forw, struct target, tlist); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(target->name) + 1, target->name); + strlen(target->name) + 1, target->name); } else { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(isns_entity_target_name) + 1, isns_entity_target_name); + strlen(isns_entity_target_name) + 1, isns_entity_target_name); } if (err < 0) goto out; length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ENTITY_IDENTIFIER, - strlen(eid) + 1, eid); + strlen(eid) + 1, eid); if (err < 0) goto out; length += err; @@ -524,26 +524,26 @@ int isns_target_register(const char *name) length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ENTITY_IDENTIFIER, - strlen(eid) + 1, eid); + strlen(eid) + 1, eid); if (err < 0) goto out; length += err; if (initial) { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ENTITY_PROTOCOL, - sizeof(type), &type); + sizeof(type), &type); if (err < 0) goto out; length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_PORTAL_IP_ADDRESS, - sizeof(ip), &ip); + sizeof(ip), &ip); if (err < 0) goto out; length += err; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_PORTAL_PORT, - sizeof(port), &port); + sizeof(port), &port); if (err < 0) goto out; length += err; @@ -554,7 +554,7 @@ int isns_target_register(const char *name) uint32_t sport = htonl(scn_listen_port); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_SCN_PORT, - sizeof(sport), &sport); + sizeof(sport), &sport); if (err < 0) goto out; length += err; @@ -562,21 +562,21 @@ int isns_target_register(const char *name) } err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; if (alias_target && alias_target->alias) { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_ALIAS, - strlen(alias_target->alias) + 1, alias_target->alias); + strlen(alias_target->alias) + 1, alias_target->alias); if (err < 0) goto out; length += err; } err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NODE_TYPE, - sizeof(node), &node); + sizeof(node), &node); if (err < 0) goto out; length += err; @@ -641,7 +641,7 @@ int isns_target_deregister(const char *name) max_buf = sizeof(buf) - offsetof(struct isns_hdr, pdu); err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; @@ -653,13 +653,13 @@ int isns_target_deregister(const char *name) if (last) { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ENTITY_IDENTIFIER, - strlen(eid) + 1, eid); + strlen(eid) + 1, eid); if (err < 0) goto out; length += err; } else { err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; @@ -814,7 +814,7 @@ static char *print_scn_pdu(struct isns_hdr *hdr) switch (ntohl(tlv->tag)) { case ISNS_ATTR_ISCSI_NAME: - ((char *)tlv->value)[vlen-1] = '\0'; + ((char *)tlv->value)[vlen - 1] = '\0'; log_debug(3, "scn name: %u, %s", vlen, (char *)tlv->value); if (!name) name = (char *)tlv->value; @@ -907,7 +907,7 @@ found: switch (ntohl(tlv->tag)) { case ISNS_ATTR_ISCSI_NAME: - ((char *)tlv->value)[vlen-1] = '\0'; + ((char *)tlv->value)[vlen - 1] = '\0'; name = (char *)tlv->value; break; case ISNS_ATTR_ISCSI_NODE_TYPE: @@ -1045,7 +1045,7 @@ static int send_scn_rsp(const char *name, uint16_t transaction) length += 4; err = isns_tlv_set(&tlv, max_buf - length, ISNS_ATTR_ISCSI_NAME, - strlen(name) + 1, name); + strlen(name) + 1, name); if (err < 0) goto out; length += err; @@ -1177,7 +1177,7 @@ int isns_init(void) err = getaddrinfo(isns_server, (char *)&port, &hints, &res); if (err) { log_error("getaddrinfo error: %s, %s", get_error_str(err), - isns_server); + isns_server); goto out; } memcpy(&ss, res->ai_addr, sizeof(*res->ai_addr)); diff --git a/iscsi-scst/usr/log.c b/iscsi-scst/usr/log.c index 5112bf5df..38d19a7ac 100644 --- a/iscsi-scst/usr/log.c +++ b/iscsi-scst/usr/log.c @@ -36,7 +36,7 @@ static void dolog_nofunc(int prio, const char *fmt, va_list ap) { if (log_daemon) { int len = strlen(fmt); - char f[len+1+1]; + char f[len + 1 + 1]; if (fmt[len] != '\n') sprintf(f, "%s\n", fmt); @@ -63,7 +63,7 @@ static void dolog(int prio, const char *func, int line, const char *fmt, va_list if (log_daemon) { int len = strlen(func) + strlen(fmt); - char f[len+1+1]; + char f[len + 1 + 1]; if (fmt[len] != '\n') sprintf(f, "%s:%d: %s %s\n", func, line, diff --git a/iscsi-scst/usr/md5.c b/iscsi-scst/usr/md5.c index a99b040eb..2b978f589 100644 --- a/iscsi-scst/usr/md5.c +++ b/iscsi-scst/usr/md5.c @@ -28,7 +28,7 @@ (w) = ((w) << (s) | (w) >> (32 - (s))) + (x)) static void __md5_transform(u32 hash[MD5_DIGEST_WORDS], - const u32 in[MD5_BLOCK_WORDS]) + const u32 in[MD5_BLOCK_WORDS]) { register u32 a, b, c, d; diff --git a/iscsi-scst/usr/message.c b/iscsi-scst/usr/message.c index 23a45481b..52ad82467 100644 --- a/iscsi-scst/usr/message.c +++ b/iscsi-scst/usr/message.c @@ -37,10 +37,10 @@ int iscsi_adm_request_listen(void) memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_LOCAL; - memcpy((char *) &addr.sun_path + 1, ISCSI_ADM_NAMESPACE, - strlen(ISCSI_ADM_NAMESPACE)); + memcpy((char *)&addr.sun_path + 1, ISCSI_ADM_NAMESPACE, + strlen(ISCSI_ADM_NAMESPACE)); - err = bind(fd, (struct sockaddr *) &addr, sizeof(addr)); + err = bind(fd, (struct sockaddr *)&addr, sizeof(addr)); if (err < 0) { close(fd); return err; @@ -56,12 +56,12 @@ int iscsi_adm_request_listen(void) } static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_rsp *rsp, - void **rsp_data, size_t *rsp_data_sz) + void **rsp_data, size_t *rsp_data_sz) { int err = 0; log_debug(1, "request %u, tid %u, sid 0x%" PRIx64 ", cid %u", - req->rcmnd, req->tid, req->sid, req->cid); + req->rcmnd, req->tid, req->sid, req->cid); switch (req->rcmnd) { case C_TRGT_NEW: @@ -73,7 +73,7 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r case C_TRGT_UPDATE: if (req->u.trgt.type & (1 << key_session)) err = config_params_set(req->tid, req->sid, - key_session, + key_session, req->u.trgt.session_partial, req->u.trgt.session_params); @@ -82,12 +82,12 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r if (req->u.trgt.type & (1 << key_target)) err = config_params_set(req->tid, req->sid, key_target, - req->u.trgt.target_partial, + req->u.trgt.target_partial, req->u.trgt.target_params); break; case C_TRGT_SHOW: err = config_params_get(req->tid, req->sid, key_target, - req->u.trgt.target_params); + req->u.trgt.target_params); break; case C_SESS_NEW: @@ -96,7 +96,7 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r break; case C_SESS_SHOW: err = config_params_get(req->tid, req->sid, key_session, - req->u.trgt.session_params); + req->u.trgt.session_params); break; case C_CONN_NEW: @@ -112,12 +112,12 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r case C_ACCT_NEW: err = config_account_add(req->tid, req->u.acnt.auth_dir, - req->u.acnt.u.user.name, + req->u.acnt.u.user.name, req->u.acnt.u.user.pass, NULL, 0); break; case C_ACCT_DEL: err = config_account_del(req->tid, req->u.acnt.auth_dir, - req->u.acnt.u.user.name, 0); + req->u.acnt.u.user.name, 0); break; case C_ACCT_LIST: *rsp_data = malloc(req->u.acnt.u.list.alloc_len); @@ -130,7 +130,7 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r memset(*rsp_data, 0x0, *rsp_data_sz); err = config_account_list(req->tid, req->u.acnt.auth_dir, - &req->u.acnt.u.list.count, + &req->u.acnt.u.list.count, &req->u.acnt.u.list.overflow, *rsp_data, *rsp_data_sz); break; @@ -138,7 +138,7 @@ static void iscsi_adm_request_exec(struct iscsi_adm_req *req, struct iscsi_adm_r break; case C_ACCT_SHOW: err = config_account_query(req->tid, req->u.acnt.auth_dir, - req->u.acnt.u.user.name, + req->u.acnt.u.user.name, req->u.acnt.u.user.pass); break; default: @@ -163,7 +163,7 @@ int iscsi_adm_request_handle(int accept_fd) memset(&rsp, 0, sizeof(rsp)); len = sizeof(addr); - fd = accept(accept_fd, (struct sockaddr *) &addr, &len); + fd = accept(accept_fd, (struct sockaddr *)&addr, &len); if (fd < 0) { if (errno == EINTR) err = -EINTR; @@ -174,7 +174,7 @@ int iscsi_adm_request_handle(int accept_fd) } len = sizeof(cred); - err = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, (void *) &cred, &len); + err = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, (void *)&cred, &len); if (err < 0) { rsp.err = -EPERM; goto send; diff --git a/iscsi-scst/usr/misc.c b/iscsi-scst/usr/misc.c index 244744a2f..2c3db1c8e 100644 --- a/iscsi-scst/usr/misc.c +++ b/iscsi-scst/usr/misc.c @@ -114,18 +114,22 @@ void sock_set_keepalive(int sock, int timeout) int opt = 2; if (setsockopt(sock, SOL_TCP, TCP_KEEPCNT, &opt, sizeof(opt))) - log_warning("unable to set TCP_KEEPCNT on server socket (%s)!", strerror(errno)); + log_warning("unable to set TCP_KEEPCNT on server socket (%s)!", + strerror(errno)); if (setsockopt(sock, SOL_TCP, TCP_KEEPIDLE, &timeout, sizeof(timeout))) - log_warning("unable to set TCP_KEEPIDLE on server socket (%s)!", strerror(errno)); + log_warning("unable to set TCP_KEEPIDLE on server socket (%s)!", + strerror(errno)); opt = 3; if (setsockopt(sock, SOL_TCP, TCP_KEEPINTVL, &opt, sizeof(opt))) - log_warning("unable to set KEEPINTVL on server socket (%s)!", strerror(errno)); + log_warning("unable to set KEEPINTVL on server socket (%s)!", + strerror(errno)); opt = 1; if (setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &opt, sizeof(opt))) - log_warning("unable to set SO_KEEPALIVE on server socket (%s)!", strerror(errno)); + log_warning("unable to set SO_KEEPALIVE on server socket (%s)!", + strerror(errno)); } } diff --git a/iscsi-scst/usr/misc.h b/iscsi-scst/usr/misc.h index b05ddf03d..d7a501bfd 100644 --- a/iscsi-scst/usr/misc.h +++ b/iscsi-scst/usr/misc.h @@ -29,7 +29,7 @@ struct __qelem { #ifdef __compiler_offsetof #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) #else -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER) #endif #define LIST_HEAD_INIT(name) { &(name), &(name) } @@ -53,7 +53,7 @@ static inline int list_length_is_one(const struct __qelem *head) } #define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + const typeof(((type *)0)->member) * __mptr = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) #define list_entry(ptr, type, member) \ @@ -67,7 +67,7 @@ static inline int list_length_is_one(const struct __qelem *head) #define list_for_each_entry_safe(pos, n, head, member) \ for (pos = list_entry((head)->q_forw, typeof(*pos), member), \ n = list_entry(pos->member.q_forw, typeof(*pos), member); \ - &pos->member != (head); \ + &pos->member != (head); \ pos = n, n = list_entry(n->member.q_forw, typeof(*n), member)) #define list_del(elem) remque(elem) @@ -86,13 +86,13 @@ static inline void list_del_init(struct __qelem *elem) #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ - (void) (&_min1 == &_min2); \ + (void)(&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) #define max(x, y) ({ \ typeof(x) _max1 = (x); \ typeof(y) _max2 = (y); \ - (void) (&_max1 == &_max2); \ + (void)(&_max1 == &_max2); \ _max1 > _max2 ? _max1 : _max2; }) /* ... and their non-checking counterparts, also taken from the kernel. */ diff --git a/iscsi-scst/usr/param.c b/iscsi-scst/usr/param.c index d92211abe..30559dbdd 100644 --- a/iscsi-scst/usr/param.c +++ b/iscsi-scst/usr/param.c @@ -192,7 +192,7 @@ static int digest_val_to_str(unsigned int val, char *str, int len) if (val & DIGEST_CRC32C) { len -= pos; pos = snprintf(&str[pos], len, "%s%s", - (pos != 0) ? "," : "", "CRC32C"); + (pos != 0) ? "," : "", "CRC32C"); } if (pos >= len) @@ -301,7 +301,7 @@ int params_check_val(const struct iscsi_key *keys, int idx, unsigned int *val) } int params_set_val(struct iscsi_key *keys, struct iscsi_param *param, - int idx, unsigned int *val) + int idx, unsigned int *val) { if (keys[idx].ops->set_val) return keys[idx].ops->set_val(param, idx, val); diff --git a/iscsi-scst/usr/session.c b/iscsi-scst/usr/session.c index 6ade7e2b1..d2526a504 100644 --- a/iscsi-scst/usr/session.c +++ b/iscsi-scst/usr/session.c @@ -183,7 +183,7 @@ void session_free(struct session *session) target->sessions_count--; log_debug(1, "target %s, sessions_count %d", target->name, - target->sessions_count); + target->sessions_count); list_del(&session->slist); } diff --git a/iscsi-scst/usr/sha1.c b/iscsi-scst/usr/sha1.c index d7f15e1db..f0c0a9695 100644 --- a/iscsi-scst/usr/sha1.c +++ b/iscsi-scst/usr/sha1.c @@ -33,7 +33,7 @@ static inline u32 rol32(u32 word, unsigned int shift) } static void __sha1_transform(u32 hash[SHA1_DIGEST_WORDS], - const u32 in[SHA1_BLOCK_WORDS], + const u32 in[SHA1_BLOCK_WORDS], u32 W[SHA1_WORKSPACE_WORDS]) { register u32 a, b, c, d, e, t; @@ -43,7 +43,7 @@ static void __sha1_transform(u32 hash[SHA1_DIGEST_WORDS], W[i] = cpu_to_be32(in[i]); for (i = 0; i < 64; i++) - W[i+16] = rol32(W[i+13] ^ W[i+8] ^ W[i+2] ^ W[i], 1); + W[i + 16] = rol32(W[i + 13] ^ W[i + 8] ^ W[i + 2] ^ W[i], 1); a = hash[0]; b = hash[1]; @@ -79,7 +79,7 @@ static void __sha1_transform(u32 hash[SHA1_DIGEST_WORDS], } static inline void sha1_transform(u32 digest[SHA1_DIGEST_WORDS], - const u32 block[SHA1_BLOCK_WORDS]) + const u32 block[SHA1_BLOCK_WORDS]) { u32 workspace[SHA1_WORKSPACE_WORDS]; diff --git a/iscsi-scst/usr/target.c b/iscsi-scst/usr/target.c index 109c4089d..a0f0e3a71 100644 --- a/iscsi-scst/usr/target.c +++ b/iscsi-scst/usr/target.c @@ -37,12 +37,12 @@ struct __qelem targets_list = LIST_HEAD_INIT(targets_list); int send_targets_link_local = DEFAULT_SEND_TARGETS_LINK_LOCAL; const char *iscsi_make_full_initiator_name(int per_portal_acl, - const char *initiator_name, const char *target_portal, + const char *initiator_name, const char *target_portal, char *buf, int size) { if (per_portal_acl) snprintf(buf, size, "%s#%s", initiator_name, - target_portal); + target_portal); else snprintf(buf, size, "%s", initiator_name); @@ -86,7 +86,7 @@ static int __wildcmp(const char *wild, const char *string, int recursion_level) return 1; mp = wild; - cp = string+1; + cp = string + 1; } else if ((tolower(*wild) == tolower(*string)) || (*wild == '?')) { wild++; string++; @@ -140,7 +140,7 @@ static int wildcmp(const char *wild, const char *string) * the positive patterns must match and none of the negative. */ int target_portal_allowed(struct target *target, - const char *target_portal, const char *initiator_name) + const char *target_portal, const char *initiator_name) { int res; char full_initiator_name[ISCSI_FULL_NAME_LEN]; @@ -164,9 +164,9 @@ int target_portal_allowed(struct target *target, goto out; } - initiator_name = iscsi_make_full_initiator_name(target->per_portal_acl, - initiator_name, target_portal, - full_initiator_name, sizeof(full_initiator_name)); + initiator_name = iscsi_make_full_initiator_name(target->per_portal_acl, initiator_name, + target_portal, full_initiator_name, + sizeof(full_initiator_name)); res = kernel_initiator_allowed(target->tid, initiator_name); if (res < 0) res = 0; /* false */ @@ -212,14 +212,14 @@ static void target_print_addr(struct connection *conn, const char *addr, int fam return; snprintf(taddr, sizeof(taddr), - (family == AF_INET) ? "%s:%d,1" : "[%s]:%d,1", + (family == AF_INET) ? "%s:%d,1" : "[%s]:%d,1", addr, server_port); text_key_add(conn, "TargetAddress", taddr); } static void target_list_build_ifaddrs(struct connection *conn, - struct target *target, const char *exclude_addr, int family) + struct target *target, const char *exclude_addr, int family) { struct ifaddrs *ifaddr, *ifa; char if_addr[NI_MAXHOST]; @@ -258,7 +258,7 @@ void target_list_build(struct connection *conn, const char *target_name) char portal[NI_MAXHOST]; int family, i; - if (conn->getsockname(conn->fd, (struct sockaddr *) &ss1, &slen)) { + if (conn->getsockname(conn->fd, (struct sockaddr *)&ss1, &slen)) { log_error("getsockname failed: %m"); return; } @@ -282,10 +282,10 @@ void target_list_build(struct connection *conn, const char *target_name) slen = sizeof(struct sockaddr_storage); if (getsockname(poll_array[i].fd, - (struct sockaddr *) &ss2, &slen)) + (struct sockaddr *)&ss2, &slen)) continue; - if (getnameinfo((struct sockaddr *) &ss2, slen, portal, + if (getnameinfo((struct sockaddr *)&ss2, slen, portal, sizeof(portal), NULL, 0, NI_NUMERICHOST)) continue; @@ -294,12 +294,12 @@ void target_list_build(struct connection *conn, const char *target_name) if (is_addr_unspecified(portal)) target_list_build_ifaddrs(conn, target, - conn->target_portal, family); + conn->target_portal, family); else if (strcmp(conn->target_portal, portal) && !is_addr_loopback(portal) && target_portal_allowed(target, portal, conn->initiator)) - target_print_addr(conn, portal, family); + target_print_addr(conn, portal, family); } } } @@ -454,7 +454,6 @@ int target_add(struct target *target, u32 *tid, u32 cookie) list_add_tail(&target->tlist, &targets_list); - out: return err; } @@ -498,7 +497,7 @@ bool target_redirected(const struct target *target, struct connection *conn) snprintf(addr, sizeof(addr), "%s", tmp); snprintf(redirect, sizeof(redirect), "%s:%d", target->redirect.addr, - target->redirect.port); + target->redirect.port); if (strcmp(target->redirect.addr, addr)) { text_key_add(conn, "TargetAddress", redirect); diff --git a/usr/events/events.c b/usr/events/events.c index a32bb8236..4dc7ebe95 100644 --- a/usr/events/events.c +++ b/usr/events/events.c @@ -31,11 +31,12 @@ char *app_name; #if defined(DEBUG) || defined(TRACING) #ifdef DEBUG -/*#define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF \ - & ~TRACE_FUNCTION) -#define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF & \ - ~TRACE_SCSI & ~TRACE_SCSI_SERIALIZING & ~TRACE_DEBUG) -*/ +/* + * #define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF \ + * & ~TRACE_FUNCTION) + * #define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF & \ + * ~TRACE_SCSI & ~TRACE_SCSI_SERIALIZING & ~TRACE_DEBUG) + */ #define DEFAULT_LOG_FLAGS (TRACE_OUT_OF_MEM | TRACE_MINOR | TRACE_PID | \ TRACE_FUNCTION | TRACE_SPECIAL | TRACE_MGMT | TRACE_MGMT_DEBUG | \ TRACE_TIME) @@ -87,13 +88,16 @@ static void usage(void) static void handle_reg_vdev_received(struct scst_event_user *event_user) { - const struct scst_event_reg_vdev_payload *p = (struct scst_event_reg_vdev_payload *)event_user->out_event.payload; + const struct scst_event_reg_vdev_payload *p = + (struct scst_event_reg_vdev_payload *)event_user->out_event.payload; + printf("Virtual device %s registration received.\n", p->device_name); } static void handle_tm_received(struct scst_event_user *event_user) { - const struct scst_event_tm_fn_received_payload *p = (struct scst_event_tm_fn_received_payload *)event_user->out_event.payload; + const struct scst_event_tm_fn_received_payload *p = + (struct scst_event_tm_fn_received_payload *)event_user->out_event.payload; printf("fn %u, device %s\n", p->fn, p->device_name); } @@ -116,14 +120,14 @@ int main(int argc, char **argv) app_name = argv[0]; while ((ch = getopt_long(argc, argv, "+e:i:d:nhv", - long_options, &longindex)) >= 0) { + long_options, &longindex)) >= 0) { switch (ch) { case 'e': if (allowed_events[allowed_events_num].event_code != 0) { allowed_events_num++; if (allowed_events_num >= MAX_ALLOWED_EVENTS) { PRINT_ERROR("Too many allowed events %d", - allowed_events_num); + allowed_events_num); exit(1); } } @@ -134,12 +138,13 @@ int main(int argc, char **argv) allowed_events_num++; if (allowed_events_num >= MAX_ALLOWED_EVENTS) { PRINT_ERROR("Too many allowed events %d", - allowed_events_num); + allowed_events_num); exit(1); } } snprintf(allowed_events[allowed_events_num].issuer_name, - sizeof(allowed_events[allowed_events_num].issuer_name), "%s", optarg); + sizeof(allowed_events[allowed_events_num].issuer_name), "%s", + optarg); break; case 'n': non_blocking = 1; @@ -176,7 +181,7 @@ int main(int argc, char **argv) if (event_fd < 0) { res = -errno; PRINT_ERROR("Unable to open SCST event device %s (%s)", - SCST_EVENT_DEV, strerror(-res)); + SCST_EVENT_DEV, strerror(-res)); goto out_done; } @@ -188,7 +193,7 @@ int main(int argc, char **argv) struct scst_event e; PRINT_INFO("Setting allowed event code %d, issuer_name %s", - allowed_events[i].event_code, + allowed_events[i].event_code, allowed_events[i].issuer_name); memset(&e, 0, sizeof(e)); e.event_code = allowed_events[i].event_code; @@ -198,7 +203,7 @@ int main(int argc, char **argv) res = ioctl(event_fd, SCST_EVENT_ALLOW_EVENT, &e); if (res != 0) { PRINT_ERROR("SCST_EVENT_ALLOW_EVENT failed: %s (res %d)", - strerror(errno), res); + strerror(errno), res); goto out_done; } } @@ -224,7 +229,7 @@ int main(int argc, char **argv) continue; default: PRINT_ERROR("SCST_EVENT_GET_NEXT_EVENT failed: %s (res %d)", - strerror(errno), res); + strerror(errno), res); goto out_done; } again_poll: @@ -252,7 +257,6 @@ again_poll: #endif } } - } PRINT_INFO("\nevent_code %u, issuer_name %s", @@ -260,7 +264,7 @@ again_poll: event_user->out_event.issuer_name); if (event_user->out_event.payload_len != 0) PRINT_BUFFER("payoad", event_user->out_event.payload, - event_user->out_event.payload_len); + event_user->out_event.payload_len); PRINT_INFO("%s", ""); if (event_user->out_event.event_code == 0x12345) { @@ -297,7 +301,7 @@ again_poll: struct scst_event e; PRINT_INFO("Deleting allowed event code %d, issuer_name %s", - allowed_events[0].event_code, + allowed_events[0].event_code, allowed_events[0].issuer_name); memset(&e, 0, sizeof(e)); e.event_code = allowed_events[0].event_code; diff --git a/usr/fileio/common.c b/usr/fileio/common.c index 8789fb378..d0bbdff40 100644 --- a/usr/fileio/common.c +++ b/usr/fileio/common.c @@ -77,6 +77,7 @@ static void set_resp_data_len(struct vdisk_cmd *vcmd, int32_t resp_data_len) if (vcmd->may_need_to_free_pbuf && resp_data_len == 0) { struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; + free((void *)(unsigned long)cmd->pbuf); cmd->pbuf = 0; reply->pbuf = 0; @@ -88,9 +89,10 @@ static void set_resp_data_len(struct vdisk_cmd *vcmd, int32_t resp_data_len) } static inline void set_cmd_error_status(struct vdisk_cmd *vcmd, - int status) + int status) { struct scst_user_scsi_cmd_reply_exec *reply = &vcmd->reply->exec_reply; + reply->status = status; set_resp_data_len(vcmd, 0); } @@ -128,7 +130,7 @@ static void set_cmd_error(struct vdisk_cmd *vcmd, int key, int asc, int ascq) set_cmd_error_status(vcmd, SAM_STAT_CHECK_CONDITION); reply->sense_len = set_sense(vcmd->sense, sizeof(vcmd->sense), key, - asc, ascq); + asc, ascq); reply->psense_buffer = (unsigned long)vcmd->sense; TRACE_EXIT(); @@ -190,7 +192,7 @@ static struct vdisk_tgt_dev *find_tgt_dev(struct vdisk_dev *dev, uint64_t sess_h unsigned int i; struct vdisk_tgt_dev *res = NULL; - for(i = 0; i < ARRAY_SIZE(dev->tgt_devs); i++) { + for (i = 0; i < ARRAY_SIZE(dev->tgt_devs); i++) { if (dev->tgt_devs[i].sess_h == sess_h) { res = &dev->tgt_devs[i]; break; @@ -204,7 +206,7 @@ static struct vdisk_tgt_dev *find_empty_tgt_dev(struct vdisk_dev *dev) unsigned int i; struct vdisk_tgt_dev *res = NULL; - for(i = 0; i < ARRAY_SIZE(dev->tgt_devs); i++) { + for (i = 0; i < ARRAY_SIZE(dev->tgt_devs); i++) { if (dev->tgt_devs[i].sess_h == 0) { res = &dev->tgt_devs[i]; break; @@ -231,7 +233,7 @@ static int do_exec(struct vdisk_cmd *vcmd) /* Must be reinitialized each time to avoid crash on stale value */ vcmd->may_need_to_free_pbuf = 0; - switch(cmd->queue_type) { + switch (cmd->queue_type) { case SCST_CMD_QUEUE_ORDERED: TRACE(TRACE_ORDER, "ORDERED cmd_h %u", vcmd->cmd->cmd_h); break; @@ -257,7 +259,7 @@ static int do_exec(struct vdisk_cmd *vcmd) #ifdef DEBUG_TM_IGNORE if (dev->debug_tm_ignore && (random() % 10000) == 75) { TRACE_MGMT_DBG("Ignore cmd op %x (h=%d)", cdb[0], - vcmd->cmd->cmd_h); + vcmd->cmd->cmd_h); res = 150; goto out; } @@ -272,7 +274,7 @@ static int do_exec(struct vdisk_cmd *vcmd) cmd->pbuf = (unsigned long)dev->alloc_fn(cmd->alloc_len); vcmd->may_need_to_free_pbuf = 1; TRACE_MEM("Buf %" PRIx64 " alloced, len %d", cmd->pbuf, - cmd->alloc_len); + cmd->alloc_len); reply->pbuf = cmd->pbuf; if (cmd->pbuf == 0) { TRACE(TRACE_OUT_OF_MEM, "Unable to allocate buffer (len %d)", @@ -292,10 +294,10 @@ static int do_exec(struct vdisk_cmd *vcmd) ", data_len %" PRId64, vcmd->cmd->cmd_h, cmd->pbuf, lba_start, (uint64_t)loff, data_len); if (loff < 0 || data_len < 0 || ((loff + data_len) > dev->file_size)) { - PRINT_INFO("Access beyond the end of the device (%" PRId64 " of %" PRId64 ", len %" PRId64 ")", (uint64_t)loff, + PRINT_INFO("Access beyond the end of the device (%" PRId64 " of %" PRId64 ", len %" PRId64 ")", + (uint64_t)loff, (uint64_t)dev->file_size, data_len); - set_cmd_error(vcmd, SCST_LOAD_SENSE( - scst_sense_block_out_range_error)); + set_cmd_error(vcmd, SCST_LOAD_SENSE(scst_sense_block_out_range_error)); goto out; } @@ -329,9 +331,9 @@ static int do_exec(struct vdisk_cmd *vcmd) tgt_dev = find_tgt_dev(dev, cmd->sess_h); if (!tgt_dev) { PRINT_ERROR("Session %" PRIx64 " not found", - cmd->sess_h); + cmd->sess_h); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_hardw_error)); + SCST_LOAD_SENSE(scst_sense_hardw_error)); goto out; } @@ -342,7 +344,7 @@ static int do_exec(struct vdisk_cmd *vcmd) } else { PRINT_WARNING("Attempt to write to read-only device %s", dev->name); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_data_protect)); + SCST_LOAD_SENSE(scst_sense_data_protect)); } break; case WRITE_VERIFY: @@ -354,9 +356,9 @@ static int do_exec(struct vdisk_cmd *vcmd) tgt_dev = find_tgt_dev(dev, cmd->sess_h); if (!tgt_dev) { PRINT_ERROR("Session %" PRIx64 " not found", - cmd->sess_h); + cmd->sess_h); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_hardw_error)); + SCST_LOAD_SENSE(scst_sense_hardw_error)); goto out; } @@ -367,18 +369,19 @@ static int do_exec(struct vdisk_cmd *vcmd) } else { PRINT_WARNING("Attempt to write to read-only device %s", dev->name); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_data_protect)); + SCST_LOAD_SENSE(scst_sense_data_protect)); } break; case SYNCHRONIZE_CACHE: case SYNCHRONIZE_CACHE_16: { int immed = cdb[1] & 0x2; + if (data_len == 0) data_len = dev->file_size - ((loff_t)lba_start << dev->block_shift); TRACE(TRACE_ORDER, "SYNCHRONIZE_CACHE: loff=%" PRId64 ", data_len=%" PRId64 ", immed=%d", - (uint64_t)loff, data_len, immed); + (uint64_t)loff, data_len, immed); /* ToDo: execute immediate synchronization in the background. */ exec_fsync(vcmd); break; @@ -424,14 +427,14 @@ static int do_exec(struct vdisk_cmd *vcmd) case WRITE_SAME_16: exec_write_same(vcmd); break; - case SERVICE_ACTION_IN_16: + case SERVICE_ACTION_IN_16: if ((cmd->cdb[1] & 0x1f) == SAI_READ_CAPACITY_16) { exec_read_capacity16(vcmd); } else { TRACE_DBG("Invalid service action %d for SERVICE ACTION IN", cmd->cdb[1] & 0x1f); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); } break; case REPORT_LUNS: @@ -455,12 +458,12 @@ static int do_alloc_mem(struct vdisk_cmd *vcmd) TRACE_ENTRY(); TRACE_MEM("Alloc mem (cmd %d, sess_h %" PRIx64 ", cdb_len %d, alloc_len %d, queue_type %d, data_direction %d)", - cmd->cmd_h, cmd->alloc_cmd.sess_h, - cmd->alloc_cmd.cdb_len, cmd->alloc_cmd.alloc_len, - cmd->alloc_cmd.queue_type, cmd->alloc_cmd.data_direction); + cmd->cmd_h, cmd->alloc_cmd.sess_h, + cmd->alloc_cmd.cdb_len, cmd->alloc_cmd.alloc_len, + cmd->alloc_cmd.queue_type, cmd->alloc_cmd.data_direction); TRACE_BUFF_FLAG(TRACE_MEMORY, "CDB", cmd->alloc_cmd.cdb, - cmd->alloc_cmd.cdb_len); + cmd->alloc_cmd.cdb_len); memset(reply, 0, sizeof(*reply)); reply->cmd_h = cmd->cmd_h; @@ -470,13 +473,13 @@ static int do_alloc_mem(struct vdisk_cmd *vcmd) reply->alloc_reply.pbuf = 0; else #endif - reply->alloc_reply.pbuf = (unsigned long)vcmd->dev->alloc_fn( - cmd->alloc_cmd.alloc_len); + reply->alloc_reply.pbuf = + (unsigned long)vcmd->dev->alloc_fn(cmd->alloc_cmd.alloc_len); TRACE_MEM("Buf %" PRIx64 " alloced, len %d", reply->alloc_reply.pbuf, - cmd->alloc_cmd.alloc_len); + cmd->alloc_cmd.alloc_len); if (reply->alloc_reply.pbuf == 0) { TRACE(TRACE_OUT_OF_MEM, "Unable to allocate buffer (len %d)", - cmd->alloc_cmd.alloc_len); + cmd->alloc_cmd.alloc_len); } TRACE_EXIT_RES(res); @@ -492,7 +495,7 @@ static int do_cached_mem_free(struct vdisk_cmd *vcmd) TRACE_ENTRY(); TRACE_MEM("Cached mem free (cmd %x, buf %" PRIx64 ")", cmd->cmd_h, - cmd->on_cached_mem_free.pbuf); + cmd->on_cached_mem_free.pbuf); free((void *)(unsigned long)cmd->on_cached_mem_free.pbuf); @@ -568,7 +571,7 @@ static int do_ext_copy_remap(struct vdisk_cmd *vcmd) #else rreply->status = SAM_STAT_CHECK_CONDITION; rreply->sense_len = set_sense(vcmd->sense, sizeof(vcmd->sense), - SCST_LOAD_SENSE(scst_sense_data_protect)); + SCST_LOAD_SENSE(scst_sense_data_protect)); rreply->psense_buffer = (unsigned long)vcmd->sense; #endif @@ -637,7 +640,7 @@ static int do_sess(struct vdisk_cmd *vcmd) if (cmd->subcode == SCST_USER_ATTACH_SESS) { if (tgt_dev) { PRINT_ERROR("Session %" PRIx64 " already exists)", - cmd->sess.sess_h); + cmd->sess.sess_h); res = EEXIST; goto reply; } @@ -660,13 +663,13 @@ static int do_sess(struct vdisk_cmd *vcmd) } else { if (!tgt_dev) { PRINT_ERROR("Session %" PRIx64 " not found)", - cmd->sess.sess_h); + cmd->sess.sess_h); res = ESRCH; goto reply; } tgt_dev->sess_h = 0; PRINT_INFO("Session detached (sess_h %" PRIx64 ")", - cmd->sess.sess_h); + cmd->sess.sess_h); } reply: @@ -689,17 +692,17 @@ static int process_cmd(struct vdisk_cmd *vcmd) TRACE_BUFFER("Received cmd", cmd, sizeof(*cmd)); - switch(cmd->subcode) { + switch (cmd->subcode) { case SCST_USER_EXEC: if (cmd->exec_cmd.data_direction & SCST_DATA_WRITE) { TRACE_BUFFER("Received cmd data", - (void *)(unsigned long)cmd->exec_cmd.pbuf, + (void *)(unsigned long)cmd->exec_cmd.pbuf, cmd->exec_cmd.bufflen); } res = do_exec(vcmd); if (reply->exec_reply.resp_data_len != 0 && res != 150) { TRACE_BUFFER("Reply data", - (void *)(unsigned long)reply->exec_reply.pbuf, + (void *)(unsigned long)reply->exec_reply.pbuf, reply->exec_reply.resp_data_len); } break; @@ -721,9 +724,9 @@ static int process_cmd(struct vdisk_cmd *vcmd) break; #ifdef DEBUG_EXT_COPY_REMAP - case SCST_USER_EXT_COPY_REMAP: - res = do_ext_copy_remap(vcmd); - break; + case SCST_USER_EXT_COPY_REMAP: + res = do_ext_copy_remap(vcmd); + break; #endif case SCST_USER_TASK_MGMT_RECEIVED: @@ -745,7 +748,7 @@ static int process_cmd(struct vdisk_cmd *vcmd) default: PRINT_ERROR("Unknown or wrong cmd subcode %x", - cmd->subcode); + cmd->subcode); res = -EINVAL; goto out; } @@ -786,7 +789,7 @@ void *main_loop(void *arg) if (vcmd.fd < 0) { res = -errno; PRINT_ERROR("Unable to open file %s (%s)", dev->file_name, - strerror(-res)); + strerror(-res)); goto out; } @@ -828,7 +831,7 @@ void *main_loop(void *arg) } if (res != 0) { res = errno; - switch(res) { + switch (res) { case ESRCH: case EBUSY: TRACE_MGMT_DBG("SCST_USER returned %d (%s)", res, strerror(res)); @@ -868,7 +871,7 @@ again_poll: goto again_poll; } else { res = errno; - switch(res) { + switch (res) { case ESRCH: case EBUSY: case EAGAIN: @@ -890,9 +893,13 @@ again_poll: if (use_multi) { if (multi.multi_cmd.replies_done < multi.multi_cmd.replies_cnt) { TRACE_MGMT_DBG("replies_done %d < replies_cnt %d (dev %s)", - multi.multi_cmd.replies_done, multi.multi_cmd.replies_cnt, dev->name); - multi.multi_cmd.preplies = (uintptr_t)&multi.replies[multi.multi_cmd.replies_done]; - multi.multi_cmd.replies_cnt = multi.multi_cmd.replies_cnt - multi.multi_cmd.replies_done; + multi.multi_cmd.replies_done, + multi.multi_cmd.replies_cnt, + dev->name); + multi.multi_cmd.preplies = + (uintptr_t)&multi.replies[multi.multi_cmd.replies_done]; + multi.multi_cmd.replies_cnt = + multi.multi_cmd.replies_cnt - multi.multi_cmd.replies_done; multi.multi_cmd.cmds_cnt = MULTI_CMDS_CNT; continue; } @@ -944,7 +951,7 @@ uint64_t gen_dev_id_num(const struct vdisk_dev *dev) { uint32_t dev_id_num; - dev_id_num = crc32buf(dev->name, strlen(dev->name)+1); + dev_id_num = crc32buf(dev->name, strlen(dev->name) + 1); return ((uint64_t)vdisk_ID << 32) | dev_id_num; } @@ -957,7 +964,7 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) int resp_len = 0; int length = cmd->bufflen; unsigned int i; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint8_t buf[INQ_BUF_SZ]; TRACE_ENTRY(); @@ -965,7 +972,7 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) if (cmd->cdb[1] & CMDDT) { TRACE_DBG("%s", "INQUIRY: CMDDT is unsupported"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1004,7 +1011,7 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) buf[num + 1] = 0x1; /* Vendor ID */ memcpy(&buf[num + 4], VENDOR, 8); snprintf(t10_id, sizeof(buf) - num - 12, - "%" PRIx64 "-%s", dev_id_num, dev->name); + "%" PRIx64 "-%s", dev_id_num, dev->name); i = strlen(t10_id) + 1; TRACE_DBG("t10_dev_id %s", t10_id); buf[num + 3] = 8 + i; @@ -1036,18 +1043,19 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) } else if (cmd->cdb[2] == 0xB0) { /* Block Limits */ int max_transfer; + buf[1] = 0xB0; buf[3] = 0x3C; buf[5] = 0xFF; /* No MAXIMUM COMPARE AND WRITE LENGTH limit */ /* Optimal transfer granuality is PAGE_SIZE */ - max_transfer = max((int)(4096/dev->block_size), 1); + max_transfer = max((int)(4096 / dev->block_size), 1); buf[6] = (max_transfer >> 8) & 0xff; buf[7] = max_transfer & 0xff; /* * Max transfer len is min of sg limit and 8M, but we * don't have access to them here, so let's use 1M. */ - max_transfer = 1*1024*1024; + max_transfer = 1 * 1024 * 1024; buf[8] = (max_transfer >> 24) & 0xff; buf[9] = (max_transfer >> 16) & 0xff; buf[10] = (max_transfer >> 8) & 0xff; @@ -1059,7 +1067,7 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) * From other side, too big transfers are not optimal, * because SGV cache supports only <4M buffers. */ - max_transfer = min((int)max_transfer, (int)(512*1024 / dev->block_size)); + max_transfer = min((int)max_transfer, (int)(512 * 1024 / dev->block_size)); buf[12] = (max_transfer >> 24) & 0xff; buf[13] = (max_transfer >> 16) & 0xff; buf[14] = (max_transfer >> 8) & 0xff; @@ -1084,9 +1092,9 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) resp_len = buf[3] + 4; } else { TRACE_DBG("INQUIRY: Unsupported EVPD page %x", - cmd->cdb[2]); + cmd->cdb[2]); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } } else { @@ -1095,7 +1103,7 @@ static void exec_inquiry(struct vdisk_cmd *vcmd) if (cmd->cdb[2] != 0) { TRACE_DBG("INQUIRY: Unsupported page %x", cmd->cdb[2]); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1136,7 +1144,7 @@ static void exec_request_sense(struct vdisk_cmd *vcmd) struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; const struct scst_user_scsi_cmd_reply_exec *reply = &vcmd->reply->exec_reply; int length = cmd->bufflen, l; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint8_t b[SCST_STANDARD_SENSE_LEN]; TRACE_ENTRY(); @@ -1171,7 +1179,7 @@ static int err_recov_pg(unsigned char *p, int pcontrol) } static int disconnect_pg(unsigned char *p, int pcontrol) -{ /* Disconnect-Reconnect page for mode_sense */ +{ /* Disconnect-Reconnect page for mode_sense */ const unsigned char disconnect_pg[] = {0x2, 0xe, 128, 128, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; @@ -1182,7 +1190,7 @@ static int disconnect_pg(unsigned char *p, int pcontrol) } static int rigid_geo_pg(unsigned char *p, int pcontrol, - const struct vdisk_dev *dev) + const struct vdisk_dev *dev) { unsigned char geo_m_pg[] = {0x04, 0x16, 0, 0, 0, DEF_HEADS, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1202,25 +1210,25 @@ static int rigid_geo_pg(unsigned char *p, int pcontrol, } static int format_pg(unsigned char *p, int pcontrol, - const struct vdisk_dev *dev) + const struct vdisk_dev *dev) { /* Format device page for mode_sense */ const unsigned char format_pg[] = {0x3, 0x16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x40, 0, 0, 0}; - memcpy(p, format_pg, sizeof(format_pg)); - p[10] = (DEF_SECTORS >> 8) & 0xff; - p[11] = DEF_SECTORS & 0xff; - p[12] = (dev->block_size >> 8) & 0xff; - p[13] = dev->block_size & 0xff; + memcpy(p, format_pg, sizeof(format_pg)); + p[10] = (DEF_SECTORS >> 8) & 0xff; + p[11] = DEF_SECTORS & 0xff; + p[12] = (dev->block_size >> 8) & 0xff; + p[13] = dev->block_size & 0xff; if (pcontrol == 1) - memset(p + 2, 0, sizeof(format_pg) - 2); - return sizeof(format_pg); + memset(p + 2, 0, sizeof(format_pg) - 2); + return sizeof(format_pg); } static int caching_pg(unsigned char *p, int pcontrol, - const struct vdisk_dev *dev) -{ /* Caching page for mode_sense */ + const struct vdisk_dev *dev) +{ /* Caching page for mode_sense */ const unsigned char caching_pg[] = {0x8, 18, 0x10, 0, 0xff, 0xff, 0, 0, 0xff, 0xff, 0xff, 0xff, 0x80, 0x14, 0, 0, 0, 0, 0, 0}; @@ -1232,8 +1240,8 @@ static int caching_pg(unsigned char *p, int pcontrol, } static int ctrl_m_pg(unsigned char *p, int pcontrol, - const struct vdisk_dev *dev) -{ /* Control mode page for mode_sense */ + const struct vdisk_dev *dev) +{ /* Control mode page for mode_sense */ const unsigned char ctrl_m_pg[] = {0xa, 0xa, 0x20, 0, 0, 0x40, 0, 0, 0, 0, 0x2, 0x4b}; @@ -1248,7 +1256,7 @@ static int ctrl_m_pg(unsigned char *p, int pcontrol, static int iec_m_pg(unsigned char *p, int pcontrol) { /* Informational Exceptions control mode page for mode_sense */ const unsigned char iec_m_pg[] = {0x1c, 0xa, 0x08, 0, 0, 0, 0, 0, - 0, 0, 0x0, 0x0}; + 0, 0, 0x0, 0x0}; memcpy(p, iec_m_pg, sizeof(iec_m_pg)); if (pcontrol == 1) memset(p + 2, 0, sizeof(iec_m_pg) - 2); @@ -1261,7 +1269,7 @@ static void exec_mode_sense(struct vdisk_cmd *vcmd) struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; const struct scst_user_scsi_cmd_reply_exec *reply = &vcmd->reply->exec_reply; int length = cmd->bufflen; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint8_t buf[MSENSE_BUF_SZ]; int blocksize; uint64_t nblocks; @@ -1289,7 +1297,7 @@ static void exec_mode_sense(struct vdisk_cmd *vcmd) if (pcontrol == 0x3) { TRACE_DBG("%s", "MODE SENSE: Saving values not supported"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_saving_params_unsup)); + SCST_LOAD_SENSE(scst_sense_saving_params_unsup)); goto out; } @@ -1306,7 +1314,7 @@ static void exec_mode_sense(struct vdisk_cmd *vcmd) if (subpcode != 0) { /* TODO: Control Extension page */ TRACE_DBG("%s", "MODE SENSE: Only subpage 0 is supported"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1341,9 +1349,9 @@ static void exec_mode_sense(struct vdisk_cmd *vcmd) case 0x2: /* Disconnect-Reconnect page, all devices */ len = disconnect_pg(bp, pcontrol); break; - case 0x3: /* Format device page, direct access */ - len = format_pg(bp, pcontrol, dev); - break; + case 0x3: /* Format device page, direct access */ + len = format_pg(bp, pcontrol, dev); + break; case 0x4: /* Rigid disk geometry */ len = rigid_geo_pg(bp, pcontrol, dev); break; @@ -1368,7 +1376,7 @@ static void exec_mode_sense(struct vdisk_cmd *vcmd) default: TRACE_DBG("MODE SENSE: Unsupported page %x", pcode); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1427,7 +1435,7 @@ static void exec_mode_select(struct vdisk_cmd *vcmd) if (!(cmd->cdb[1] & PF) || (cmd->cdb[1] & SP)) { PRINT_ERROR("MODE SELECT: PF and/or SP are wrongly set (cdb[1]=%x)", cmd->cdb[1]); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1441,28 +1449,27 @@ static void exec_mode_select(struct vdisk_cmd *vcmd) } else if (address[offset - 1] != 0) { PRINT_ERROR("%s", "MODE SELECT: Wrong parameters list length"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_parm_list)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_parm_list)); goto out; } while (length > offset + 2) { if (address[offset] & PS) { PRINT_ERROR("%s", "MODE SELECT: Illegal PS bit"); - set_cmd_error(vcmd, SCST_LOAD_SENSE( - scst_sense_invalid_field_in_parm_list)); + set_cmd_error(vcmd, SCST_LOAD_SENSE(scst_sense_invalid_field_in_parm_list)); goto out; } if ((address[offset] & 0x3f) == 0x8) { /* Caching page */ if (address[offset + 1] != 18) { PRINT_ERROR("%s", "MODE SELECT: Invalid caching page request"); - set_cmd_error(vcmd, SCST_LOAD_SENSE( - scst_sense_invalid_field_in_parm_list)); + set_cmd_error(vcmd, + SCST_LOAD_SENSE(scst_sense_invalid_field_in_parm_list)); goto out; } if (set_wt(dev, - (address[offset + 2] & WCE) ? 0 : 1) != 0) { + (address[offset + 2] & WCE) ? 0 : 1) != 0) { set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_hardw_error)); + SCST_LOAD_SENSE(scst_sense_hardw_error)); goto out; } break; @@ -1480,7 +1487,7 @@ static void exec_read_capacity(struct vdisk_cmd *vcmd) struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; const struct scst_user_scsi_cmd_reply_exec *reply = &vcmd->reply->exec_reply; int length = cmd->bufflen; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint32_t blocksize; uint64_t nblocks; uint8_t buffer[8]; @@ -1524,7 +1531,7 @@ static void exec_read_capacity16(struct vdisk_cmd *vcmd) const struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; const struct scst_user_scsi_cmd_reply_exec *reply = &vcmd->reply->exec_reply; int length = cmd->bufflen; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint32_t blocksize; uint64_t nblocks; uint8_t buffer[32]; @@ -1585,7 +1592,7 @@ static void exec_read_toc(struct vdisk_cmd *vcmd) int length = cmd->bufflen; uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; uint32_t nblocks; - uint8_t buffer[4+8+8] = { 0x00, 0x0a, 0x01, 0x01, 0x00, 0x14, + uint8_t buffer[4 + 8 + 8] = { 0x00, 0x0a, 0x01, 0x01, 0x00, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }; TRACE_ENTRY(); @@ -1593,23 +1600,23 @@ static void exec_read_toc(struct vdisk_cmd *vcmd) if (dev->type != TYPE_ROM) { PRINT_ERROR("%s", "READ TOC for non-CDROM device"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_opcode)); + SCST_LOAD_SENSE(scst_sense_invalid_opcode)); goto out; } if (cmd->cdb[2] & 0x0e/*Format*/) { PRINT_ERROR("%s", "READ TOC: invalid requested data format"); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } if ((cmd->cdb[6] != 0 && (cmd->cdb[2] & 0x01)) || (cmd->cdb[6] > 1 && cmd->cdb[6] != 0xAA)) { PRINT_ERROR("READ TOC: invalid requested track number %x", - cmd->cdb[6]); + cmd->cdb[6]); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); + SCST_LOAD_SENSE(scst_sense_invalid_field_in_cdb)); goto out; } @@ -1621,25 +1628,26 @@ static void exec_read_toc(struct vdisk_cmd *vcmd) buffer[2] = 0x01; /* First Track/Session */ buffer[3] = 0x01; /* Last Track/Session */ off = 4; - if (cmd->cdb[6] <= 1) - { - /* Fistr TOC Track Descriptor */ - buffer[off+1] = 0x14; /* ADDR 0x10 - Q Sub-channel encodes current position data - CONTROL 0x04 - Data track, recoreded uninterrupted */ - buffer[off+2] = 0x01; /* Track Number */ + if (cmd->cdb[6] <= 1) { + /* First TOC Track Descriptor */ + /* + * ADDR 0x10 - Q Sub-channel encodes current position data. + * CONTROL 0x04 - Data track, recorded uninterrupted. + */ + buffer[off + 1] = 0x14; + buffer[off + 2] = 0x01; /* Track Number */ off += 8; - } - if (!(cmd->cdb[2] & 0x01)) - { + } + if (!(cmd->cdb[2] & 0x01)) { /* Lead-out area TOC Track Descriptor */ - buffer[off+1] = 0x14; - buffer[off+2] = 0xAA; /* Track Number */ - buffer[off+4] = (nblocks >> (BYTE * 3)) & 0xFF; /* Track Start Address */ - buffer[off+5] = (nblocks >> (BYTE * 2)) & 0xFF; - buffer[off+6] = (nblocks >> (BYTE * 1)) & 0xFF; - buffer[off+7] = (nblocks >> (BYTE * 0)) & 0xFF; + buffer[off + 1] = 0x14; + buffer[off + 2] = 0xAA; /* Track Number */ + buffer[off + 4] = (nblocks >> (BYTE * 3)) & 0xFF; /* Track Start Address */ + buffer[off + 5] = (nblocks >> (BYTE * 2)) & 0xFF; + buffer[off + 6] = (nblocks >> (BYTE * 1)) & 0xFF; + buffer[off + 7] = (nblocks >> (BYTE * 0)) & 0xFF; off += 8; - } + } buffer[1] = off - 2; /* Data Length */ @@ -1690,7 +1698,7 @@ static void exec_read(struct vdisk_cmd *vcmd, loff_t loff) const struct vdisk_dev *dev = vcmd->dev; const struct scst_user_scsi_cmd_exec *cmd = &vcmd->cmd->exec_cmd; int length = cmd->bufflen; - uint8_t *address = (uint8_t*)(unsigned long)cmd->pbuf; + uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; int fd = vcmd->fd; loff_t err; @@ -1715,12 +1723,12 @@ static void exec_read(struct vdisk_cmd *vcmd, loff_t loff) if (err < 0 || err < length) { PRINT_ERROR("read() returned %" PRId64 " from %d (errno %d)", - (uint64_t)err, length, errno); + (uint64_t)err, length, errno); if (err == -EAGAIN) { set_busy(vcmd); } else { set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_read_error)); + SCST_LOAD_SENSE(scst_sense_read_error)); } goto out; } @@ -1755,7 +1763,7 @@ restart: " (errno %d)", (uint64_t)err, (uint64_t)loff, errno); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_hardw_error)); + SCST_LOAD_SENSE(scst_sense_hardw_error)); goto out; } @@ -1770,7 +1778,7 @@ restart: set_busy(vcmd); } else { set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_write_error)); + SCST_LOAD_SENSE(scst_sense_write_error)); } goto out; } else if (err < length) { @@ -1798,7 +1806,7 @@ static void exec_verify(struct vdisk_cmd *vcmd, loff_t loff) uint8_t *address = (uint8_t *)(unsigned long)cmd->pbuf; int compare; int fd = vcmd->fd; - uint8_t mem_verify[128*1024]; + uint8_t mem_verify[128 * 1024]; TRACE_ENTRY(); @@ -1807,7 +1815,7 @@ static void exec_verify(struct vdisk_cmd *vcmd, loff_t loff) /* * Until the cache is cleared prior the verifying, there is not - * much point in this code. ToDo. + * much point in this code. ToDo. * * Nevertherless, this code is valuable if the data have not read * from the file/disk yet. @@ -1836,7 +1844,7 @@ static void exec_verify(struct vdisk_cmd *vcmd, loff_t loff) int64_t len_mem = (length > (int)sizeof(mem_verify)) ? (int)sizeof(mem_verify) : length; TRACE_DBG("Verify: length %" PRId64 " - len_mem %" PRId64, - length, len_mem); + length, len_mem); if (!dev->nullio) err = read(fd, (char *)mem_verify, len_mem); @@ -1849,14 +1857,14 @@ static void exec_verify(struct vdisk_cmd *vcmd, loff_t loff) set_busy(vcmd); } else { set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_read_error)); + SCST_LOAD_SENSE(scst_sense_read_error)); } goto out; } if (compare && memcmp(address, mem_verify, len_mem) != 0) { TRACE_DBG("Verify: error memcmp length %" PRId64, length); set_cmd_error(vcmd, - SCST_LOAD_SENSE(scst_sense_miscompare_error)); + SCST_LOAD_SENSE(scst_sense_miscompare_error)); goto out; } length -= len_mem; @@ -1891,8 +1899,8 @@ static void exec_write_same(struct vdisk_cmd *vcmd) uwhere[0].usdd_lba = cmd->lba; uwhere[0].usdd_blocks = 1; - uwhere[1].usdd_lba = cmd->lba+1; - uwhere[1].usdd_blocks = blocks-1; + uwhere[1].usdd_lba = cmd->lba + 1; + uwhere[1].usdd_blocks = blocks - 1; reply->reply_type = SCST_EXEC_REPLY_DO_WRITE_SAME; reply->ws_descriptors_len = sizeof(uwhere); diff --git a/usr/fileio/common.h b/usr/fileio/common.h index ddd0958a7..659fcea46 100644 --- a/usr/fileio/common.h +++ b/usr/fileio/common.h @@ -93,15 +93,14 @@ struct vdisk_dev { struct vdisk_tgt_dev tgt_devs[64]; - char *name; /* Name of virtual device, - must be <= SCSI Model + 1 */ + /* Name of virtual device, must be <= SCSI Model + 1. */ + char *name; char *file_name; /* File name */ char usn[MAX_USN_LEN]; int type; }; -struct vdisk_cmd -{ +struct vdisk_cmd { int fd; struct scst_user_get_cmd *cmd; struct vdisk_dev *dev; @@ -115,16 +114,16 @@ struct vdisk_cmd * strict type-checking.. See the * "unnecessary" pointer comparison. */ -#define min(x, y) ({ \ +#define min(x, y) ({ \ typeof(x) _x = (x); \ typeof(y) _y = (y); \ - (void) (&_x == &_y); \ + (void)(&_x == &_y); \ _x < _y ? _x : _y; }) -#define max(x, y) ({ \ +#define max(x, y) ({ \ typeof(x) _x = (x); \ typeof(y) _y = (y); \ - (void) (&_x == &_y); \ + (void)(&_x == &_y); \ _x > _y ? _x : _y; }) #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) diff --git a/usr/fileio/crc32.c b/usr/fileio/crc32.c index 7d408f0ab..06885b64e 100644 --- a/usr/fileio/crc32.c +++ b/usr/fileio/crc32.c @@ -1,5 +1,7 @@ -/* Copyright (C) 1986 Gary S. Brown. You may use this program, or - code or tables extracted from it, as desired without restriction.*/ +/* + * Copyright (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + */ #include "common.h" diff --git a/usr/fileio/fileio.c b/usr/fileio/fileio.c index 17d3491d0..3add1dbc1 100644 --- a/usr/fileio/fileio.c +++ b/usr/fileio/fileio.c @@ -45,11 +45,12 @@ char *app_name; #if defined(DEBUG) || defined(TRACING) #ifdef DEBUG -/*#define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF \ - & ~TRACE_FUNCTION) -#define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF & \ - ~TRACE_SCSI & ~TRACE_SCSI_SERIALIZING & ~TRACE_DEBUG) -*/ +/* + * #define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF \ + * & ~TRACE_FUNCTION) + * #define DEFAULT_LOG_FLAGS (TRACE_ALL & ~TRACE_MEMORY & ~TRACE_BUFF & \ + * ~TRACE_SCSI & ~TRACE_SCSI_SERIALIZING & ~TRACE_DEBUG) + */ #define DEFAULT_LOG_FLAGS (TRACE_OUT_OF_MEM | TRACE_MINOR | TRACE_PID | \ TRACE_FUNCTION | TRACE_SPECIAL | TRACE_MGMT | TRACE_MGMT_DEBUG | \ TRACE_TIME) @@ -102,8 +103,7 @@ bool use_multi = true; static void *(*alloc_fn)(size_t size) = align_alloc; -static const struct option long_options[] = -{ +static const struct option long_options[] = { {"block", required_argument, 0, 'b'}, {"threads", required_argument, 0, 'e'}, {"write_through", no_argument, 0, 't'}, @@ -177,7 +177,7 @@ static int scst_calc_block_shift(int sector_size) if (sector_size == 0) goto out; - while(1) { + while (1) { if ((t & 1) != 0) break; t >>= 1; @@ -280,7 +280,7 @@ static int prealloc_buffers(struct vdisk_dev *dev) if (pre.in.pbuf == 0) { res = errno; PRINT_ERROR("Unable to prealloc buffer: %s", - strerror(res)); + strerror(res)); goto out; } @@ -288,7 +288,7 @@ static int prealloc_buffers(struct vdisk_dev *dev) if (res != 0) { res = errno; PRINT_ERROR("Unable to send prealloced buffer: %s", - strerror(res)); + strerror(res)); free((void *)(unsigned long)pre.in.pbuf); goto out; } @@ -318,7 +318,7 @@ static int start(int argc, char **argv) int j; optind += 2; - if (optind > (argc-2)) + if (optind > (argc - 2)) break; devs[i].block_size = block_size; @@ -336,14 +336,14 @@ static int start(int argc, char **argv) #endif devs[i].type = TYPE_DISK; devs[i].name = argv[optind]; - devs[i].file_name = argv[optind+1]; + devs[i].file_name = argv[optind + 1]; TRACE_DBG("Opening file %s", devs[i].file_name); - fd = open(devs[i].file_name, O_RDONLY|O_LARGEFILE); + fd = open(devs[i].file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) { res = -errno; PRINT_ERROR("Unable to open file %s (%s)", devs[i].file_name, - strerror(-res)); + strerror(-res)); continue; } @@ -355,11 +355,11 @@ static int start(int argc, char **argv) PRINT_INFO("%s", " "); PRINT_INFO("Virtual device \"%s\", path \"%s\", size %" PRId64 "MB, block size %d, nblocks %" PRId64 ", options:", devs[i].name, - devs[i].file_name, (uint64_t)devs[i].file_size/1024/1024, + devs[i].file_name, (uint64_t)devs[i].file_size / 1024 / 1024, devs[i].block_size, (uint64_t)devs[i].nblocks); snprintf(devs[i].usn, sizeof(devs[i].usn), "%" PRIx64, - gen_dev_id_num(&devs[i])); + gen_dev_id_num(&devs[i])); TRACE_DBG("usn %s", devs[i].usn); devs[i].scst_usr_fd = open(DEV_USER_PATH DEV_USER_NAME, O_RDWR | @@ -367,7 +367,7 @@ static int start(int argc, char **argv) if (devs[i].scst_usr_fd < 0) { res = -errno; PRINT_ERROR("Unable to open SCST device %s (%s)", - DEV_USER_PATH DEV_USER_NAME, strerror(-res)); + DEV_USER_PATH DEV_USER_NAME, strerror(-res)); goto out_unreg; } @@ -448,7 +448,7 @@ static int start(int argc, char **argv) if (rc != 0) { res = errno; PRINT_ERROR("pthread_create() failed: %s", - strerror(res)); + strerror(res)); break; } } @@ -463,19 +463,20 @@ static int start(int argc, char **argv) for (i = 0; i < num_devs; i++) { int j = 0; + while (thread[i][j] != 0) { rc = pthread_join(thread[i][j], &rc1); if (rc != 0) { res = errno; PRINT_ERROR("pthread_join() failed: %s", - strerror(res)); + strerror(res)); } else if (rc1) { res = (long)rc1; PRINT_INFO("Thread %d exited (dev %s), res %lx", j, - devs[i].name, (long)rc1); + devs[i].name, (long)rc1); } else { PRINT_INFO("Thread %d exited (dev %s)", j, - devs[i].name); + devs[i].name); } j++; } @@ -491,7 +492,7 @@ out_unreg: if (res != 0) { res = errno; PRINT_ERROR("Unable to unregister device: %s", - strerror(res)); + strerror(res)); /* Close the descriptor even if unregistering failed. */ } } @@ -518,7 +519,7 @@ int main(int argc, char **argv) memset(devs, 0, sizeof(devs)); while ((ch = getopt_long(argc, argv, "+b:e:trongluF:I:cp:f:m:d:vsS:P:hDR:Z:M:", - long_options, &longindex)) >= 0) { + long_options, &longindex)) >= 0) { switch (ch) { case 'b': block_size = atoi(optarg); @@ -614,7 +615,7 @@ int main(int argc, char **argv) flush_interval = strtol(optarg, (char **)NULL, 0); if (flush_interval < 0) { PRINT_ERROR("Wrong flush interval %d", - flush_interval); + flush_interval); flush_interval = 0; } break; @@ -634,7 +635,7 @@ int main(int argc, char **argv) } } - if (optind > (argc-2)) + if (optind > (argc - 2)) goto out_usage; if (!on_free_cmd_type_set && @@ -656,7 +657,7 @@ int main(int argc, char **argv) if (non_blocking) PRINT_INFO(" %s", "NON-BLOCKING"); - switch(parse_type) { + switch (parse_type) { case SCST_USER_PARSE_STANDARD: PRINT_INFO(" %s", "Standard parse"); break; @@ -670,7 +671,7 @@ int main(int argc, char **argv) sBUG(); } - switch(on_free_cmd_type) { + switch (on_free_cmd_type) { case SCST_USER_ON_FREE_CMD_IGNORE: PRINT_INFO(" %s", "Ignore on_free_cmd"); break; @@ -681,7 +682,7 @@ int main(int argc, char **argv) sBUG(); } - switch(memory_reuse_type) { + switch (memory_reuse_type) { case SCST_USER_MEM_REUSE_ALL: PRINT_INFO(" %s", "Full memory reuse enabled"); break; @@ -703,12 +704,12 @@ int main(int argc, char **argv) if (sgv_single_alloc_pages != 0) PRINT_INFO(" Use single entry SGV cache with %d pages/entry", - sgv_single_alloc_pages); + sgv_single_alloc_pages); if (sgv_purge_interval != 0) { if (sgv_purge_interval > 0) PRINT_INFO(" Use SGV cache purge interval %d seconds", - sgv_purge_interval); + sgv_purge_interval); else PRINT_INFO(" %s", "SGV cache purging disabled"); } @@ -718,7 +719,7 @@ int main(int argc, char **argv) if (prealloc_buffers_num > 0 && prealloc_buffer_size > 0) PRINT_INFO(" Prealloc %d buffers of %dKB", - prealloc_buffers_num, prealloc_buffer_size / 1024); + prealloc_buffers_num, prealloc_buffer_size / 1024); if (!o_direct_flag && memory_reuse_type == SCST_USER_MEM_NO_REUSE) { PRINT_INFO(" %s", "Using unaligned buffers"); @@ -745,7 +746,7 @@ int main(int argc, char **argv) if (res != 0) { res = errno; PRINT_ERROR("sigaction() failed: %s", - strerror(res)); + strerror(res)); /* don't do anything */ } @@ -758,7 +759,7 @@ int main(int argc, char **argv) if (res != 0) { res = errno; PRINT_ERROR("sigaction() failed: %s", - strerror(res)); + strerror(res)); goto out_done; } @@ -766,7 +767,7 @@ int main(int argc, char **argv) if (res != 0) { res = errno; PRINT_ERROR("alarm() failed: %s", - strerror(res)); + strerror(res)); goto out_done; } } diff --git a/usr/include/debug.c b/usr/include/debug.c index d5d231429..b63380d5f 100644 --- a/usr/include/debug.c +++ b/usr/include/debug.c @@ -41,7 +41,7 @@ static char trace_buf[TRACE_BUF_SIZE]; static pthread_spinlock_t trace_buf_lock; int debug_print_prefix(unsigned long flags, const char *prefix, - const char *func, int line) + const char *func, int line) { int i = 0; @@ -77,7 +77,7 @@ int debug_print_prefix(unsigned long flags, const char *prefix, void debug_print_buffer(const void *data, int len) { int z, z1, i; - const unsigned char *buf = (const unsigned char *) data; + const unsigned char *buf = (const unsigned char *)data; if (!buf) return; diff --git a/usr/include/debug.h b/usr/include/debug.h index 09e743eea..599a61e85 100644 --- a/usr/include/debug.h +++ b/usr/include/debug.h @@ -147,7 +147,7 @@ do { \ } \ } while (0) -#define TRACE_DBG_SPECIAL(args...) TRACE(TRACE_DEBUG|TRACE_SPECIAL, args) +#define TRACE_DBG_SPECIAL(args...) TRACE(TRACE_DEBUG | TRACE_SPECIAL, args) #define TRACE_MGMT_DBG(format, args...) \ do { \ diff --git a/usr/stpgd/stpgd_main.c b/usr/stpgd/stpgd_main.c index b37720424..f7fd41e78 100644 --- a/usr/stpgd/stpgd_main.c +++ b/usr/stpgd/stpgd_main.c @@ -51,7 +51,7 @@ char *app_name; unsigned long trace_flag = DEFAULT_LOG_FLAGS; #endif /* defined(DEBUG) || defined(TRACING) */ -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) bool log_daemon = true; int transition_timeout = DEFAULT_TRANSITION_TIME; @@ -97,7 +97,7 @@ static void stpg_handle_tm_received(const struct scst_event_user *event_user) } static int invoke_stpg(const uint8_t *device_name, - const struct scst_event_stpg_descr *descr, pid_t *out_pid) + const struct scst_event_stpg_descr *descr, pid_t *out_pid) { char *args[7], *env[7]; int res = 0, ret, i; @@ -208,13 +208,14 @@ static int wait_until_finished(pid_t pid, unsigned long deadline, int *status, i static int handle_stpg_received(struct scst_event_user *event_user) { - const struct scst_event_stpg_payload *p = (struct scst_event_stpg_payload *)event_user->out_event.payload; + const struct scst_event_stpg_payload *p = + (struct scst_event_stpg_payload *)event_user->out_event.payload; int num, k; int res = 0; pid_t pids[p->stpg_descriptors_cnt]; TRACE_DBG("device name %s, stpg_descriptors_cnt %d", p->device_name, - p->stpg_descriptors_cnt); + p->stpg_descriptors_cnt); for (num = 0; num < p->stpg_descriptors_cnt; num++) { res = invoke_stpg(p->device_name, &p->stpg_descriptors[num], &pids[num]); @@ -248,7 +249,7 @@ static int handle_stpg_received(struct scst_event_user *event_user) rc = killpg(pids[k], SIGTERM); if (rc < 0) PRINT_ERROR("Failed to send SIGTERM to child %d (pid %d): %d/%s", - k, pids[k], errno, strerror(errno)); + k, pids[k], errno, strerror(errno)); rc = wait_until_finished(pids[k], 1, &status, k); if (rc != 0) @@ -479,7 +480,7 @@ int main(int argc, char **argv) app_name = argv[0]; while ((ch = getopt_long(argc, argv, "+d:fp:t:hv", - long_options, &longindex)) >= 0) { + long_options, &longindex)) >= 0) { switch (ch) { case 'p': stpg_path = optarg; @@ -487,7 +488,7 @@ int main(int argc, char **argv) #if defined(DEBUG) || defined(TRACING) case 'd': trace_flag = strtol(optarg, (char **)NULL, 0); - break; + break; #endif case 'v': printf("%s version %s\n", app_name, VERSION_STR); @@ -538,7 +539,8 @@ int main(int argc, char **argv) int res1 = -1; close(stpg_init_report_pipe[1]); - if ((unsigned int)read(stpg_init_report_pipe[0], &res1, sizeof(res1)) < sizeof(res1)) { + if ((unsigned int)read(stpg_init_report_pipe[0], &res1, sizeof(res1)) < + sizeof(res1)) { res = -1; goto out_done; } else {