diff options
-rw-r--r-- | include/iscsi_if.h | 1 | ||||
-rw-r--r-- | kernel/scsi_transport_iscsi.c | 28 | ||||
-rw-r--r-- | usr/iscsi_sysfs.c | 15 | ||||
-rw-r--r-- | usr/iscsi_sysfs.h | 1 | ||||
-rw-r--r-- | usr/netlink.c | 10 |
5 files changed, 0 insertions, 55 deletions
diff --git a/include/iscsi_if.h b/include/iscsi_if.h index 19df961..6548560 100644 --- a/include/iscsi_if.h +++ b/include/iscsi_if.h @@ -58,7 +58,6 @@ enum iscsi_uevent_e { ISCSI_KEVENT_DESTROY_SESSION = KEVENT_BASE + 4, ISCSI_KEVENT_UNBIND_SESSION = KEVENT_BASE + 5, ISCSI_KEVENT_CREATE_SESSION = KEVENT_BASE + 6, - ISCSI_KEVENT_TRANS_ERROR = KEVENT_BASE + 7, }; enum iscsi_tgt_dscvr { diff --git a/kernel/scsi_transport_iscsi.c b/kernel/scsi_transport_iscsi.c index 98bb210..1b232ee 100644 --- a/kernel/scsi_transport_iscsi.c +++ b/kernel/scsi_transport_iscsi.c @@ -1673,32 +1673,6 @@ free_priv: } EXPORT_SYMBOL_GPL(iscsi_register_transport); -void iscsi_trans_error(struct iscsi_transport *tt) -{ - struct nlmsghdr *nlh; - struct sk_buff *skb; - struct iscsi_uevent *ev; - int len = NLMSG_SPACE(sizeof(*ev)); - struct iscsi_internal *priv; - - priv = iscsi_if_transport_lookup(tt); - if (!priv) - return; - - skb = alloc_skb(len, GFP_KERNEL); - if (!skb) { - printk(KERN_ERR "iscsi: gracefully ignored transport error\n"); - return; - } - - nlh = __nlmsg_put(skb, priv->daemon_pid, 0, 0, (len - sizeof(*nlh)), 0); - ev = NLMSG_DATA(nlh); - ev->transport_handle = iscsi_handle(tt); - ev->type = ISCSI_KEVENT_TRANS_ERROR; - - iscsi_broadcast_skb(skb, GFP_KERNEL); -} - int iscsi_unregister_transport(struct iscsi_transport *tt) { struct iscsi_internal *priv; @@ -1708,8 +1682,6 @@ int iscsi_unregister_transport(struct iscsi_transport *tt) mutex_lock(&rx_queue_mutex); - iscsi_trans_error(tt); - priv = iscsi_if_transport_lookup(tt); BUG_ON (!priv); diff --git a/usr/iscsi_sysfs.c b/usr/iscsi_sysfs.c index 7b65d6d..aef766b 100644 --- a/usr/iscsi_sysfs.c +++ b/usr/iscsi_sysfs.c @@ -109,21 +109,6 @@ void free_transports(void) } } -int free_transport_by_handle(uint64_t handle) -{ - struct iscsi_transport *t; - - list_for_each_entry(t, &transports, list) { - if (t->handle == handle) { - list_del(&t->list); - free(t); - return 0; - } - } - - return 1; -} - static int trans_filter(const struct dirent *dir) { return strcmp(dir->d_name, ".") && strcmp(dir->d_name, ".."); diff --git a/usr/iscsi_sysfs.h b/usr/iscsi_sysfs.h index 4282a16..9a43506 100644 --- a/usr/iscsi_sysfs.h +++ b/usr/iscsi_sysfs.h @@ -93,7 +93,6 @@ extern struct iscsi_transport *get_transport_by_hba(long host_no); extern struct iscsi_transport *get_transport_by_session(char *sys_session); extern struct iscsi_transport *get_transport_by_sid(uint32_t sid); extern struct iscsi_transport *get_transport_by_name(char *transport_name); -extern int free_transport_by_handle(uint64_t handle); extern struct list_head transports; diff --git a/usr/netlink.c b/usr/netlink.c index f039aff..c9598a5 100644 --- a/usr/netlink.c +++ b/usr/netlink.c @@ -918,16 +918,6 @@ static int ctldev_handle(void) ; /* fall through */ } - /* Handle transport error which is not connection related */ - if (ev->type == ISCSI_KEVENT_TRANS_ERROR) { - rc = free_transport_by_handle(ev->transport_handle); - if (rc) { - log_error("Could not release transport 0x%lx\n", ev->transport_handle); - } - drop_data(nlh); - return rc; - } - /* verify connection */ session = session_find_by_sid(sid); if (!session) { |