All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 0/3] Is it time for varlen extended and vendor-specific cdbs
@ 2008-03-25 16:21 Boaz Harrosh
  2008-03-25 16:22 ` [PATCH] Let scsi_cmnd->cmnd use request->cmd buffer Boaz Harrosh
                   ` (4 more replies)
  0 siblings, 5 replies; 80+ messages in thread
From: Boaz Harrosh @ 2008-03-25 16:21 UTC (permalink / raw)
  To: James Bottomley, Jens Axboe, Christoph Hellwig, linux-scsi,
	Andrew

Submitted is a patchset for adding support for variable-length, extended,
and vendor specific CDBs. It should now cover the entire range of the 
SCSI standard. (and/or any other use of command packets in block devices)

They are based on scsi-misc/scsi-rc-fixes/linux-block. They are aimed
for the 2.6.26 merge window. Andrew please also include them in -mm
for testing.

Difference from last time, is at struct request. I did a smallish
hack to save the extra pointer space. The pointer now shares it's
space with the request->cmd, as they are mutual exclusive. The
flag to switch between them is when cmd_len == 0 and varlen_cdb_len != 0
I've added 2 accessors to hide the mess. I think this approach
should be safe with legacy drivers.

This is on top of the size shrink to struct scsi_cmnd gained
in the first patch. We save upto 12 bytes on 32 bit ARCHs

So over all, this cleans things up, and add fixtures without
*any extra cost*.

[1/3] Let scsi_cmnd->cmnd use request->cmd buffer
  Here I let scsi_cmnd->cmnd point to the space allocated by
  request->cmd, instead of copying the data. The scsi_cmnd->cmd_len
  is guaranteed to contain the right length of the command.
  I have tried to go over every single place in the kernel that uses
  scsi_cmnd->cmnd and make sure it looks sane. Surprisingly to me,
  that was not at all bad. I hope I did not miss anything.

  I've tested on an x86_64 machine booting from a sata disk and
  ran the iscsi regression tests as well as my bidi and varlen tests
  on top of the complete patchset and all tests passed.

[2/3] block layer varlen-cd
   Here I added an option to use a user supplied buffer for an arbitrary
   large command. Buffer must be kept valid until execution of request
   ends. The pointer to the buffer shares it's space with the fixed
   length command, so the size of struct request does not change.

[3/3] scsi: varlen extended and vendor-specific cdbs
  Adds support for variable length, extended, and vendor-specific
  cdbs at the scsi mid-layer.

Boaz


^ permalink raw reply	[flat|nested] 80+ messages in thread
* Current git --> kaboom [bisect] seems IDE related.
@ 2008-02-09 19:32 Sebastian Siewior
  2008-02-09 23:06 ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 80+ messages in thread
From: Sebastian Siewior @ 2008-02-09 19:32 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: Tejun Heo, Sergei Shtylyov, linux-ide

Hello,

current git results in a freeze. I tracked it down to

|         error = type->get_sb(type, flags, name, data, mnt);
in vfs_kern_mount(), fs/super.c (what is called from mount_root() during
the boot process). I use XFS on my rootfs partition. After this, I
started to bisect.
During the bisect process I stepped into two things. The commit

|commit 813a0eb233ee67d7166241a8b389b6a76f2247f9
|Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|Date:   Fri Jan 25 22:17:10 2008 +0100
|
|    ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests
|
|    Based on the earlier work by Tejun Heo.
|
|    There should be no functionality changes caused by this patch.
|
|    Cc: Tejun Heo <htejun@gmail.com>
|    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|:040000 040000 e4708c62aef233d2b07da20aedd644182258f1f1 66aea951e7c32aa82621d8460b0f97ff132f23a6 M      drivers
 
turned the working boot process into [1]. Since this isn't the freeze I
was looking I continued my bisect process. The commit
 
|10d90157c83d4b6743c9063c36f9e7f27aa254b6 is first bad commit
|commit 10d90157c83d4b6743c9063c36f9e7f27aa254b6
|Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|Date:   Fri Jan 25 22:17:16 2008 +0100
|
|    ide: convert do_rw_taskfile() to use ->data_phase
|
|    * Use task->data_phase in do_rw_taskfile() to decide what to do.
|
|    * task->prehandler is only used by TASKFILE[_MULTI]_OUT so just
|      use pre_task_out_intr() directly and remove no longer needed
|      'prehandler' field from ide_task_t.
|
|    * Remove no longer needed ide_pre_handler_t type.
|
|    There should be no functionality changes caused by this patch.
|
|    Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
|    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
|
|:040000 040000 4197f4ab343f54f9eab32000df33eb118121f9fa e38665b62f3fc315e5b3bd9bb9c49bec4a961d43 M      drivers
|:040000 040000 a9abbd138a5713e16406fd63be0799e109849c53 3ee5fade5fc65ea1b41b6ca55b3de2dbb904623b M      include
 
turned the Oops into the freeze. There was no working commit in between
(well, git-bisect did not find one).

My .config [2], my lspci and cpuinfo [3].

[1] http://download.breakpoint.cc/lnx-2.6.24-post-crash.jpg
[2] http://download.breakpoint.cc/notebook-config.txt
[3] http://download.breakpoint.cc/system.txt

Sebastian

^ permalink raw reply	[flat|nested] 80+ messages in thread

end of thread, other threads:[~2008-04-18 17:13 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-25 16:21 [PATCHSET 0/3] Is it time for varlen extended and vendor-specific cdbs Boaz Harrosh
2008-03-25 16:22 ` [PATCH] Let scsi_cmnd->cmnd use request->cmd buffer Boaz Harrosh
2008-03-25 16:32 ` [PATCH 2/3] block layer varlen-cdb Boaz Harrosh
2008-04-03 16:43   ` James Bottomley
2008-04-03 17:26     ` Benny Halevy
2008-04-03 18:32     ` [PATCH 2/3 ver2] block layer extended-cdb support Boaz Harrosh
2008-04-04 11:46       ` Jens Axboe
2008-04-06  9:35         ` Boaz Harrosh
2008-04-06 11:05           ` Boaz Harrosh
2008-04-07  8:31             ` Jens Axboe
2008-04-12  5:52           ` FUJITA Tomonori
2008-04-13  9:13             ` Boaz Harrosh
2008-04-13 16:17               ` FUJITA Tomonori
2008-04-13 16:50                 ` Boaz Harrosh
2008-04-14  9:49                   ` [PATCH 2/3 ver3] " Boaz Harrosh
2008-04-14 11:04                     ` FUJITA Tomonori
2008-04-14 11:28                       ` Boaz Harrosh
2008-04-14 12:08                         ` FUJITA Tomonori
2008-04-14 12:22                           ` Boaz Harrosh
2008-04-14 11:04                   ` [PATCH 2/3 ver2] " FUJITA Tomonori
2008-04-14 10:50                 ` [PATCH 0/4] add large command support to the block layer FUJITA Tomonori
2008-04-14 10:50                   ` [PATCH 1/4] block: no need to initialize rq->cmd in prepare_flush_fn hook FUJITA Tomonori
2008-04-14 10:50                     ` [PATCH 2/4] block: no need to initialize rq->cmd with blk_get_request FUJITA Tomonori
2008-04-14 10:50                       ` [PATCH 3/4] block: replace sizeof(rq->cmd) with BLK_MAX_CDB FUJITA Tomonori
2008-04-14 10:50                         ` [PATCH 4/4] block: add large command support FUJITA Tomonori
2008-04-14 11:29                           ` Jens Axboe
2008-04-14 12:08                             ` FUJITA Tomonori
2008-04-15 22:50                             ` Bartlomiej Zolnierkiewicz
2008-04-15 22:57                               ` FUJITA Tomonori
2008-04-16  0:22                                 ` Bartlomiej Zolnierkiewicz
2008-04-16  8:33                                 ` Jens Axboe
2008-04-16  9:08                                   ` Boaz Harrosh
2008-04-16  9:42                                     ` Jens Axboe
2008-04-16 22:28                                       ` Bartlomiej Zolnierkiewicz
2008-04-17  3:59                                     ` FUJITA Tomonori
2008-04-17  7:07                                       ` Jens Axboe
2008-04-17 11:55                                         ` Bartlomiej Zolnierkiewicz
2008-04-17 11:58                                           ` Bartlomiej Zolnierkiewicz
2008-04-17 12:07                                         ` FUJITA Tomonori
2008-04-17  4:02                                   ` FUJITA Tomonori
2008-04-14 14:41                           ` Pete Wyckoff
2008-04-14 22:33                             ` FUJITA Tomonori
2008-04-15 13:44                               ` Pete Wyckoff
2008-04-15  7:45                             ` Boaz Harrosh
2008-04-15 10:05                               ` FUJITA Tomonori
2008-04-15  7:29                           ` Jens Axboe
2008-04-14 11:21                   ` [PATCH 0/4] add large command support to the block layer FUJITA Tomonori
2008-04-14 11:38                   ` Boaz Harrosh
2008-04-14 12:36                     ` Boaz Harrosh
2008-04-14 13:06                       ` FUJITA Tomonori
2008-04-15 12:24                   ` [PATCH 0/3] scsi: variable-length CDBs support Boaz Harrosh
2008-04-15 12:30                     ` [PATCH 1/3] Let scsi_cmnd->cmnd use request->cmd buffer Boaz Harrosh
2008-04-15 12:34                     ` [PATCH 2/3] scsi: varlen extended and vendor-specific cdbs Boaz Harrosh
2008-04-16  2:09                       ` FUJITA Tomonori
2008-04-16  6:40                         ` Boaz Harrosh
2008-04-16  6:49                           ` [PATCH 2/3 ver2] " Boaz Harrosh
2008-04-17  4:01                           ` [PATCH 2/3] " FUJITA Tomonori
2008-04-17 12:25                             ` [PATCH 2/3 ver3] " Boaz Harrosh
2008-04-17 12:49                               ` Boaz Harrosh
2008-04-17 13:04                               ` FUJITA Tomonori
2008-04-17 13:29                                 ` Boaz Harrosh
2008-04-15 12:37                     ` [PATCH 3/3] iscsi_tcp: Enable large commands Boaz Harrosh
2008-04-15 13:08                       ` James Smart
2008-04-15 13:38                         ` Boaz Harrosh
2008-04-15 13:57                           ` Benny Halevy
2008-04-15 13:46                         ` FUJITA Tomonori
2008-04-13 14:07             ` [PATCH 2/3 ver2] block layer extended-cdb support James Bottomley
2008-04-13 16:17               ` FUJITA Tomonori
2008-03-25 16:36 ` [PATCH 3/3] scsi: varlen extended and vendor-specific cdbs Boaz Harrosh
2008-04-03 16:07 ` [PATCHSET 0/3] Is it time for " Boaz Harrosh
2008-04-13 16:30 ` [PATCHSET 0/4 ver2] " Boaz Harrosh
2008-04-13 16:37   ` [PATCH 1/4] Let scsi_cmnd->cmnd use request->cmd buffer Boaz Harrosh
2008-04-13 16:39   ` [PATCH 2/4] block layer extended-cdb support Boaz Harrosh
2008-04-13 16:39   ` [PATCH 3/4] scsi: varlen extended and vendor-specific cdbs Boaz Harrosh
2008-04-13 16:41   ` [PATCH 4/4] iscsi_tcp: Enable large command Boaz Harrosh
2008-04-18 17:11     ` Mike Christie
  -- strict thread matches above, loose matches on Subject: below --
2008-02-09 19:32 Current git --> kaboom [bisect] seems IDE related Sebastian Siewior
2008-02-09 23:06 ` Bartlomiej Zolnierkiewicz
2008-02-10  5:26   ` Christoph Hellwig
2008-02-10 13:38     ` Bartlomiej Zolnierkiewicz
2008-02-10 14:43       ` Christoph Hellwig
2008-02-10 15:07         ` Boaz Harrosh
2008-02-10 18:59           ` [PATCHSET 0/3] varlen extended and vendor-specific cdbs Boaz Harrosh
2008-02-10 19:09             ` [PATCH 2/3] block layer varlen-cdb Boaz Harrosh
2008-02-12 17:48               ` Christoph Hellwig
2008-02-12 17:54                 ` Boaz Harrosh
2008-02-12 18:07                   ` Boaz Harrosh

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.