[RFC PATCHSET pata-2.6] ide: clean up ide-tape

From: Tejun Heo
Date: Wed Mar 25 2009 - 10:18:33 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/