linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCHSET pata-2.6] ide: clean up ide-tape
@ 2009-03-25 14:17 Tejun Heo
  2009-03-25 14:17 ` [PATCH 01/10] ide-atapi: allow ->pc_callback() to change rq->data_len Tejun Heo
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Tejun Heo @ 2009-03-25 14:17 UTC (permalink / raw)
  To: bzolnier, linux-kernel, axboe, linux-ide

Hi, Bartlomiej, Jens.

This RFC patchset cleans up ide-tape.  Note that the patchset
currently is only compile tested, so it's likely to be broken, so the
RFC status.  Albert Lee is sending me some IDE tape drives, so I'll
test these patches as soon as I receive them and repost with whatever
necessary fixes.

The ide-tape drive is quite interesting in that it implements its own
multi-segment buffer management using struct idetape_bh.  Its rw path
doesn't use standard IDE or block data transfer mechanisms and
sometimes abuses them in interesting ways.

This patchset converts ide-tape to use bio like the rest of the world.
Currently, this is done using single contiguous buffer which uses an
order higher allocation than the original code if the buffer size is
not power of two.  The maximum being single order 4 allocation per
device, which is the same as the original code, I don't think this is
an issue but if it ever is adopting sg-based multi-segment buffer
handling isn't difficult and can be nicely built on top of the updated
bio-based code.

This patchset simplifies ide-tape quite a bit as will be show in the
diffstat at the end of the message and also simplifies ide-atapi and
ide-io a bit.  Most importantly, it enables further work on block
layer by unifying API usage.

This patchset contains the following ten patches.

 0001-ide-atapi-allow-pc_callback-to-change-rq-data_.patch
 0002-ide-tape-use-single-continuous-buffer.patch
 0003-ide-tape-convert-to-bio.patch
 0004-ide-tape-use-standard-data-transfer-mechanism.patch
 0005-ide-tape-kill-idetape_bh.patch
 0006-ide-tape-unify-r-w-init-paths.patch
 0007-ide-tape-use-byte-size-instead-of-sectors-on-rw-iss.patch
 0008-ide-tape-simplify-read-write-functions.patch
 0009-ide-atapi-kill-unused-fields-and-callbacks.patch
 0010-ide-drop-rq-data-handling-from-ide_map_sg.patch

0001-0005 converts ide-tape to bio and kills idetape_bh.  0006-0008
makes additional clean ups on ide-tape.  0009-0010 removes now
unnecessary stuff from ide-atapi and ide-io.

This patchset is on top of linux-next pata-2.6 tree as of 2009-03-23 +
ide-rq-buffer-data-special-and-misc-cleanups patchset[1] and available
in the following git tree.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git ide-phase2
 http://git.kernel.org/?p=linux/kernel/git/tj/misc.git;a=shortlog;h=ide-phase2

diffstat follows.

 drivers/ide/ide-atapi.c |   31 --
 drivers/ide/ide-io.c    |    6 
 drivers/ide/ide-tape.c  |  714 +++++++++---------------------------------------
 include/linux/ide.h     |   12 
 4 files changed, 160 insertions(+), 603 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.ide/39275

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [GIT PATCH pata-2.6] ide: clean up ide-tape, take#2
@ 2009-04-18 23:58 Tejun Heo
  2009-04-18 23:58 ` [PATCH 09/10] ide-atapi: kill unused fields and callbacks Tejun Heo
  0 siblings, 1 reply; 19+ messages in thread
From: Tejun Heo @ 2009-04-18 23:58 UTC (permalink / raw)
  To: petkovbb, bzolnier, axboe, linux-ide

Hello, Bartlomiej, Jens, Borislav.

Upon ack, please pull from the following git tree.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git ide-phase2

This is the second take of clean-up-ide-tape patchset.  Please read
the head message on the last take[L] for general description.

Changes from the last take are

* Tested with Seagate STT8000A rev 5.44 and various fixes bugs
  including a few already existing ones.

* 0003 and 0004 of the last take are merged into one.  The first one
  converted data carrier to bio and the second changed data transfer
  mechanism accordingly.  As blk_rq_map_kern() can produce scatter IO
  the first one without the second didn't work.

* Rebased.

This patchset contains the following ten patches.

 0001-ide-tape-floppy-fix-failed-command-completion-after.patch
 0002-ide-atapi-tape-floppy-allow-pc_callback-to-chan.patch
 0003-ide-tape-use-single-continuous-buffer.patch
 0004-ide-tape-use-standard-data-transfer-mechanism.patch
 0005-ide-tape-kill-idetape_bh.patch
 0006-ide-tape-unify-r-w-init-paths.patch
 0007-ide-tape-use-byte-size-instead-of-sectors-on-rw-iss.patch
 0008-ide-tape-simplify-read-write-functions.patch
 0009-ide-atapi-kill-unused-fields-and-callbacks.patch
 0010-ide-drop-rq-data-handling-from-ide_map_sg.patch

and is on top of

  linux-pata-2.6#for-next (15da90b516e9da92cc1d90001e640fd6707d0e27)
+ [1] ide-rq-buffer-data-special-cleanups patchset, take#2

and contains the following changes.

 drivers/ide/ide-atapi.c  |   29 -
 drivers/ide/ide-floppy.c |    4 
 drivers/ide/ide-io.c     |    6 
 drivers/ide/ide-tape.c   |  722 ++++++++++-------------------------------------
 include/linux/ide.h      |   12 
 5 files changed, 170 insertions(+), 603 deletions(-)

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.ide/39316
[1] http://thread.gmane.org/gmane.linux.ide/39930

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

end of thread, other threads:[~2009-04-18 23:58 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-25 14:17 [RFC PATCHSET pata-2.6] ide: clean up ide-tape Tejun Heo
2009-03-25 14:17 ` [PATCH 01/10] ide-atapi: allow ->pc_callback() to change rq->data_len Tejun Heo
2009-03-25 14:17 ` [PATCH 02/10] ide-tape: use single continuous buffer Tejun Heo
2009-03-25 16:04   ` Grant Grundler
2009-03-25 16:13     ` Tejun Heo
2009-03-25 16:38       ` Borislav Petkov
2009-03-25 14:17 ` [PATCH 03/10] ide-tape-convert-to-bio Tejun Heo
2009-03-25 14:24   ` [PATCH 03/10 REPOST] ide-tape: use bio to carry data area Tejun Heo
2009-03-25 14:17 ` [PATCH 04/10] ide-tape: use standard data transfer mechanism Tejun Heo
2009-03-25 15:12   ` Borislav Petkov
2009-03-25 15:20     ` Borislav Petkov
2009-03-25 14:17 ` [PATCH 05/10] ide-tape: kill idetape_bh Tejun Heo
2009-03-25 14:17 ` [PATCH 06/10] ide-tape: unify r/w init paths Tejun Heo
2009-03-25 14:17 ` [PATCH 07/10] ide-tape: use byte size instead of sectors on rw issue functions Tejun Heo
2009-03-25 14:17 ` [PATCH 08/10] ide-tape: simplify read/write functions Tejun Heo
2009-03-25 14:17 ` [PATCH 09/10] ide-atapi: kill unused fields and callbacks Tejun Heo
2009-03-25 14:17 ` [PATCH 10/10] ide: drop rq->data handling from ide_map_sg() Tejun Heo
2009-03-31  7:48 ` [RFC PATCHSET pata-2.6] ide: clean up ide-tape Borislav Petkov
  -- strict thread matches above, loose matches on Subject: below --
2009-04-18 23:58 [GIT PATCH pata-2.6] ide: clean up ide-tape, take#2 Tejun Heo
2009-04-18 23:58 ` [PATCH 09/10] ide-atapi: kill unused fields and callbacks Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).