From mboxrd@z Thu Jan 1 00:00:00 1970 From: Douglas Gilbert Subject: [PATCH] scsi_debug 1.64 for lk2.5.47 mark II Date: Mon, 18 Nov 2002 01:03:22 +1100 Sender: linux-scsi-owner@vger.kernel.org Message-ID: <3DD7A1AA.6040009@torque.net> Reply-To: dougg@torque.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060104030405000809000608" Return-path: Received: from torque.net (dm1-68.triode.net.au [202.147.125.68]) by iggy.triode.net.au (8.11.6/8.11.6) with ESMTP id gAHE3q112060 for ; Mon, 18 Nov 2002 01:03:52 +1100 List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org This is a multi-part message in MIME format. --------------060104030405000809000608 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Attached is an incremental patch on the previous scsi_debug 1.64 version for lk 2.5.47 . [I think James has that one in BK.] There is also a tarball of the scsi_debug driver if the increments are getting tedious. This version adds back ".module = THIS_MODULE" into the host template to fix the module "in use" count. It also cleans up BIOS geometry code (parts copied from the aic7xxx driver). Mike Anderson has "/sysfs/bus/pseudo" patches for scsi_debug which look good. Hopefully he can re-apply over this patch and send them to this list. Doug Gilbert --------------060104030405000809000608 Content-Type: application/x-gzip; name="scsi_debug_164_2547_2.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="scsi_debug_164_2547_2.diff.gz" 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 --------------060104030405000809000608 Content-Type: application/x-gzip; name="scsi_debug_164_2547_2.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="scsi_debug_164_2547_2.tgz" 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 z7efsp9/AwQaGJ8AyAAA --------------060104030405000809000608--