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:30 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.