From: <vl...@us...> - 2007-10-02 15:05:34
|
Revision: 204 http://scst.svn.sourceforge.net/scst/?rev=204&view=rev Author: vlnb Date: 2007-10-02 08:04:04 -0700 (Tue, 02 Oct 2007) Log Message: ----------- - Fixes 2 shutdown problems - Cosmetics Modified Paths: -------------- trunk/iscsi-scst/kernel/iscsi.c trunk/iscsi-scst/kernel/nthread.c trunk/iscsi-scst/kernel/param.c trunk/iscsi-scst/kernel/target.c trunk/iscsi-scst/usr/iscsi_scstd.c trunk/iscsi-scst/usr/iscsid.h trunk/iscsi-scst/usr/log.c trunk/scst/README trunk/scst/src/scst_main.c trunk/scst/src/scst_targ.c Modified: trunk/iscsi-scst/kernel/iscsi.c =================================================================== --- trunk/iscsi-scst/kernel/iscsi.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/kernel/iscsi.c 2007-10-02 15:04:04 UTC (rev 204) @@ -2541,7 +2541,6 @@ #endif } - module_init(iscsi_init); module_exit(iscsi_exit); Modified: trunk/iscsi-scst/kernel/nthread.c =================================================================== --- trunk/iscsi-scst/kernel/nthread.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/kernel/nthread.c 2007-10-02 15:04:04 UTC (rev 204) @@ -172,15 +172,15 @@ msleep(50); } + TRACE_CONN_CLOSE("Notifying user space about closing conn %p", conn); + event_send(target->tid, session->sid, conn->cid, E_CONN_CLOSE, 0); + mutex_lock(&target->target_mutex); conn_free(conn); if (list_empty(&session->conn_list)) session_del(target, session->sid); mutex_unlock(&target->target_mutex); - TRACE_CONN_CLOSE("Notifying user space about closing conn %p", conn); - event_send(target->tid, session->sid, conn->cid, E_CONN_CLOSE, 0); - TRACE_EXIT(); return; } Modified: trunk/iscsi-scst/kernel/param.c =================================================================== --- trunk/iscsi-scst/kernel/param.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/kernel/param.c 2007-10-02 15:04:04 UTC (rev 204) @@ -186,8 +186,13 @@ static int trgt_param(struct iscsi_target *target, struct iscsi_param_info *info, int set) { if (set) { + struct iscsi_trgt_param *prm; trgt_param_check(info); trgt_param_set(target, info); + + prm = &target->trgt_param; + PRINT_INFO_PR("Target parameter changed: queued_cmnds %d", + prm->queued_cmnds); } else trgt_param_get(&target->trgt_param, info); Modified: trunk/iscsi-scst/kernel/target.c =================================================================== --- trunk/iscsi-scst/kernel/target.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/kernel/target.c 2007-10-02 15:04:04 UTC (rev 204) @@ -229,26 +229,28 @@ struct iscsi_session *session, *ts; mutex_lock(&target->target_mutex); if (!list_empty(&target->session_list)) { - TRACE_DBG("target %p", target); + TRACE_MGMT_DBG("Cleaning up target %p", target); list_for_each_entry_safe(session, ts, &target->session_list, session_list_entry) { - TRACE_DBG("session %p", session); + TRACE_MGMT_DBG("Cleaning up session %p", session); if (!list_empty(&session->conn_list)) { struct iscsi_conn *conn, *tc; list_for_each_entry_safe(conn, tc, &session->conn_list, conn_list_entry) { - TRACE_DBG("conn %p", conn); + TRACE_MGMT_DBG("Mark conn %p " + "closing", conn); mark_conn_closed(conn); } } else { - TRACE_DBG("session %p with empty " - "connection list", session); + TRACE_MGMT_DBG("Freeing session %p " + "without connections", session); + session_del(target, session->sid); } } mutex_unlock(&target->target_mutex); } else { - TRACE_DBG("deleting target %p", target); + TRACE_MGMT_DBG("Deleting target %p", target); list_del(&target->target_list_entry); nr_targets--; mutex_unlock(&target->target_mutex); Modified: trunk/iscsi-scst/usr/iscsi_scstd.c =================================================================== --- trunk/iscsi-scst/usr/iscsi_scstd.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/usr/iscsi_scstd.c 2007-10-02 15:04:04 UTC (rev 204) @@ -209,6 +209,20 @@ return; } + if (from.ss_family == AF_INET) { + struct sockaddr_in *in = (struct sockaddr_in *)&from; + log_info("Connect from %s:%hd", inet_ntoa(in->sin_addr), + ntohs(in->sin_port)); + } else if (from.ss_family == AF_INET6) { + struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)&from; + log_info("Connect from %x:%x:%x:%x:%x:%x:%x:%x.%hd", + in6->sin6_addr.s6_addr16[7], in6->sin6_addr.s6_addr16[6], + in6->sin6_addr.s6_addr16[5], in6->sin6_addr.s6_addr16[4], + in6->sin6_addr.s6_addr16[3], in6->sin6_addr.s6_addr16[2], + in6->sin6_addr.s6_addr16[1], in6->sin6_addr.s6_addr16[0], + ntohs(in6->sin6_port)); + } + if (conn_blocked) { log_warning("A connection refused\n"); close(fd); Modified: trunk/iscsi-scst/usr/iscsid.h =================================================================== --- trunk/iscsi-scst/usr/iscsid.h 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/usr/iscsid.h 2007-10-02 15:04:04 UTC (rev 204) @@ -181,6 +181,8 @@ extern int log_level; extern void log_init(void); +extern void log_info(const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))); extern void log_warning(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); extern void log_error(const char *fmt, ...) Modified: trunk/iscsi-scst/usr/log.c =================================================================== --- trunk/iscsi-scst/usr/log.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/iscsi-scst/usr/log.c 2007-10-02 15:04:04 UTC (rev 204) @@ -19,6 +19,7 @@ #include <stdio.h> #include <syslog.h> #include <sys/time.h> +#include <string.h> #include "iscsid.h" @@ -33,9 +34,15 @@ static void dolog(int prio, const char *fmt, va_list ap) { - if (log_daemon) - vsyslog(prio, fmt, ap); - else { + if (log_daemon) { + int len = strlen(fmt); + char f[len+1+1]; + if (fmt[len] != '\n') + sprintf(f, "%s\n", fmt); + else + sprintf(f, "%s", fmt); + vsyslog(prio, f, ap); + } else { struct timeval time; gettimeofday(&time, NULL); @@ -46,6 +53,14 @@ } } +void log_info(const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + dolog(LOG_INFO, fmt, ap); + va_end(ap); +} + void log_warning(const char *fmt, ...) { va_list ap; Modified: trunk/scst/README =================================================================== --- trunk/scst/README 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/scst/README 2007-10-02 15:04:04 UTC (rev 204) @@ -587,7 +587,7 @@ - You may need to increase amount of requests that OS on initiator sends to the target device. To do it on Linux initiators, run - echo “512” > /sys/block/sdX/queue/nr_requests + echo “64” > /sys/block/sdX/queue/nr_requests where X is a device letter like above. Modified: trunk/scst/src/scst_main.c =================================================================== --- trunk/scst/src/scst_main.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/scst/src/scst_main.c 2007-10-02 15:04:04 UTC (rev 204) @@ -325,8 +325,8 @@ mutex_unlock(&scst_mutex); scst_resume_activity(); - PRINT_INFO_PR("Target %s for template %s registered successfully", - target_name, vtt->name); + PRINT_INFO_PR("Target %s (%p) for template %s registered successfully", + target_name, tgt, vtt->name); out: TRACE_EXIT(); @@ -344,7 +344,8 @@ tgt = NULL; out_err: - PRINT_ERROR_PR("Failed to register target for template %s", vtt->name); + PRINT_ERROR_PR("Failed to register target %s for template %s", + target_name, vtt->name); goto out; } @@ -393,11 +394,11 @@ del_timer_sync(&tgt->retry_timer); + PRINT_INFO_PR("Target %p for template %s unregistered successfully", + tgt, vtt->name); + kfree(tgt); - PRINT_INFO_PR("Target for template %s unregistered successfully", - vtt->name); - TRACE_EXIT(); return; } @@ -445,8 +446,8 @@ mutex_lock(&scst_suspend_mutex); - TRACE_MGMT_DBG("suspend_count %d", suspend_count); suspend_count--; + TRACE_MGMT_DBG("suspend_count %d left", suspend_count); if (suspend_count > 0) goto out_up; Modified: trunk/scst/src/scst_targ.c =================================================================== --- trunk/scst/src/scst_targ.c 2007-10-01 08:10:31 UTC (rev 203) +++ trunk/scst/src/scst_targ.c 2007-10-02 15:04:04 UTC (rev 204) @@ -4164,7 +4164,7 @@ acg->acg_name, sess->initiator_name); sess->acg = acg; - TRACE_DBG("Assigning session %p to acg %s", sess, acg->acg_name); + TRACE_MGMT_DBG("Assigning session %p to acg %s", sess, acg->acg_name); list_add_tail(&sess->acg_sess_list_entry, &acg->acg_sess_list); TRACE_DBG("Adding sess %p to tgt->sess_list", sess); @@ -4292,6 +4292,8 @@ TRACE_ENTRY(); + TRACE_MGMT_DBG("Unregistering session %p (wait %d)", sess, wait); + #ifdef CONFIG_LOCKDEP pc = sess->shutdown_compl; #else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |