From: tytso@mit.edu
To: axboe@suse.de
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: [PATCH] Fix: BK-Current doesn't compile w/o SCSI enabled
Date: Tue, 29 Oct 2002 09:30:53 -0500 [thread overview]
Message-ID: <E186XOP-0006Z7-00@snap.thunk.org> (raw)
BK current doesn't compile without SCSI being enabled, since
sg_scsi_ioctl() in drivers/block/scsi_ioctl.c is always being compiled,
regardless of whether or not SCSI is present (since some non-SCSI
devices now use this infrastructure). Unfortunately, it makes reference
to the COMMAND_SIZE() macro, which is defined in drivers/scsi/scsi.c,
and that is NOT defined on non-SCSI build kernels.
The simplest solution to this problem seems to be move scsi_command_size
from drivers/scsi/scsi.c to drivers/block/scsi_ioctl.c, where it is used
(and since it is always compiled in, this shouldn't break anything on
SCSI systems).
I'm a bit uneasy about the abstraction violation of moving the
scsi_command_size array outside of the drivers/scsi tree, but that
problem was introduced when the code in drivers/block/scsi_ioctl.c was
moved out of the drivers/scsi tree, since drivers/block/scsi_ioctl.c
already #includes ../scsi/scsi.h, so I haven't introduced a new layering
violation.
Jens, do you agree this is the best way of fixing this issue? If so,
please push this change to Linus. Thanks!!
- Ted
diff -Nru a/drivers/block/scsi_ioctl.c b/drivers/block/scsi_ioctl.c
--- a/drivers/block/scsi_ioctl.c Tue Oct 29 09:25:36 2002
+++ b/drivers/block/scsi_ioctl.c Tue Oct 29 09:25:36 2002
@@ -39,6 +39,14 @@
#define BLK_DEFAULT_TIMEOUT (60 * HZ)
+/* Command group 3 is reserved and should never be used. */
+const unsigned char scsi_command_size[8] =
+{
+ 6, 10, 10, 12,
+ 16, 12, 10, 10
+};
+EXPORT_SYMBOL(scsi_command_size);
+
int blk_do_rq(request_queue_t *q, struct block_device *bdev, struct request *rq)
{
DECLARE_COMPLETION(wait);
diff -Nru a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
--- a/drivers/scsi/scsi.c Tue Oct 29 09:25:36 2002
+++ b/drivers/scsi/scsi.c Tue Oct 29 09:25:36 2002
@@ -123,12 +123,6 @@
*/
unsigned long scsi_pid;
Scsi_Cmnd *last_cmnd;
-/* Command group 3 is reserved and should never be used. */
-const unsigned char scsi_command_size[8] =
-{
- 6, 10, 10, 12,
- 16, 12, 10, 10
-};
static unsigned long serial_number;
struct softscsi_data {
diff -Nru a/drivers/scsi/scsi_syms.c b/drivers/scsi/scsi_syms.c
--- a/drivers/scsi/scsi_syms.c Tue Oct 29 09:25:36 2002
+++ b/drivers/scsi/scsi_syms.c Tue Oct 29 09:25:36 2002
@@ -39,7 +39,6 @@
EXPORT_SYMBOL(scsi_bios_ptable);
EXPORT_SYMBOL(scsi_allocate_device);
EXPORT_SYMBOL(scsi_do_cmd);
-EXPORT_SYMBOL(scsi_command_size);
EXPORT_SYMBOL(scsi_ioctl);
EXPORT_SYMBOL(print_command);
EXPORT_SYMBOL(print_sense);
next reply other threads:[~2002-10-29 14:24 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-29 14:30 tytso [this message]
2002-10-29 14:32 ` [PATCH] Fix: BK-Current doesn't compile w/o SCSI enabled Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E186XOP-0006Z7-00@snap.thunk.org \
--to=tytso@mit.edu \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox