From: Mike Christie Subject: [PATCH 5/5] iscsi: convert iscsi tcp to libiscsi Date: Thu, 06 Apr 2006 21:26:46 -0500 Message-ID: <4435CDE6.8010704@cs.wisc.edu> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090300010405080407020106" Return-path: Received: from sabe.cs.wisc.edu ([128.105.6.20]:61102 "EHLO sabe.cs.wisc.edu") by vger.kernel.org with ESMTP id S932293AbWDGC0z (ORCPT ); Thu, 6 Apr 2006 22:26:55 -0400 Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org, open-iscsi@googlegroups.com This is a multi-part message in MIME format. --------------090300010405080407020106 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This patch is pretty large. It will not go through embedded (already failed once today). There was a about 2000 lines duplicated in iscsi_tcp and iscsi_iser. diffstat 05-convert-tcp2.patch iscsi_tcp.c | 2899 +++++++++++++++++------------------------------------------- iscsi_tcp.h | 182 --- 2 files changed, 844 insertions(+), 2237 deletions(-) A lot of the additions in the patch is due to a rename of iscsi_tcp structs to avoid conflicts with the lib. The patch is mostly the ripping out of the code that was added in libiscsi.c and replacement with a call to the libiscsi function. I attached the patch as a bz2 file. Sorry about this. --------------090300010405080407020106 Content-Type: application/x-bzip; name="05-convert-tcp2.patch.bz2" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="05-convert-tcp2.patch.bz2" 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 Ir1EnyKECHeThH/8XckU4UJCvddV+A== --------------090300010405080407020106--