public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Martin Schlemmer [c]" <azarah@nosferatu.za.org>
To: Jens Axboe <axboe@suse.de>
Cc: "J.A. Magallon" <jamagallon@able.es>,
	Jan Engelhardt <jengelh@linux01.gwdg.de>,
	Lista Linux-Kernel <linux-kernel@vger.kernel.org>
Subject: Re: cdrecord dev=ATA cannont scanbus as non-root [u]
Date: Wed, 01 Dec 2004 23:16:13 +0200	[thread overview]
Message-ID: <1101935773.11949.86.camel@nosferatu.lan> (raw)
In-Reply-To: <20041130071638.GC10450@suse.de>

[-- Attachment #1: Type: text/plain, Size: 3470 bytes --]

On Tue, 2004-11-30 at 08:16 +0100, Jens Axboe wrote:
> On Mon, Nov 29 2004, J.A. Magallon wrote:
> > dev=ATAPI uses ide-scsi interface, through /dev/sgX. And:
> > 
> > > scsibus: -1 target: -1 lun: -1
> > > Warning: Using ATA Packet interface.
> > > Warning: The related Linux kernel interface code seems to be unmaintained.
> > > Warning: There is absolutely NO DMA, operations thus are slow.
> > 
> > dev=ATA uses direct IDE burning. Try that as root. In my box, as root:
> 
> Oh no, not this again... Please check the facts: the ATAPI method uses
> the SG_IO ioctl, which is direct-to-device. It does _not_ go through
> /dev/sgX, unless you actually give /dev/sgX as the device name. It has
> nothing to do with ide-scsi. Period.
> 
> ATA uses CDROM_SEND_PACKET. This has nothing to do with direct IDE
> burning, it's a crippled interface from the CDROM layer that should not
> be used for anything.  scsi-linux-ata.c should be ripped from the
> cdrecord sources, or at least cdrecord should _never_ select that
> transport for 2.6 kernels. For 2.4 you are far better off using
> ide-scsi.
> 
> > The scan through ATA lasts much less than with ATAPI, and you can burn with
> > dev=ATA:1,0,0 or dev=/dev/burner, which is the new recommended way.
> 
> No! ATAPI is the recommended way.
> 

Ok, so I am a bit confused here.  We basically have 3 ways to use
cdrecord on linux-2.6 without ide-scsi:

1) cdrecord dev=/dev/hdx
2) cdrecord dev=ATA
3) cdrecord dev=ATAPI

Now, if I run all three and grep for '^Warning', I get:

-----
 $ cdrecord dev=/dev/cdrw -scanbus 2>&1 | grep '^Warning'
Warning: Open by 'devname' is unintentional and not supported.
 $ cdrecord dev=ATA -scanbus 2>&1 | grep '^Warning'
Warning: Using badly designed ATAPI via /dev/hd* interface.
 $ cdrecord dev=ATAPI -scanbus 2>&1 | grep '^Warning'
Warning: Using ATA Packet interface.
Warning: The related Linux kernel interface code seems to be unmaintained.
Warning: There is absolutely NO DMA, operations thus are slow.
 $
-----

Which means:

1) dev=/dev/hdx	- Open by 'devname' is unintentional and not supported.
2) dev=ATA	- Using badly designed ATAPI via /dev/hd* interface.
3) dev=ATAPI	- Using ATA Packet interface.
                  (And some nice things about it not being maintained and
                   slow)

If I check the source for that, I get:

-----
libscg $ grep "Open by 'devname' is unintentional and not supported." *
scsi-linux-sg.c:                        "Warning: Open by 'devname' is unintentional and not supported.\n");
libscg $ grep 'Using badly designed ATAPI via /dev/hd\* interface.' *
scsi-linux-sg.c:                                "Warning: Using badly designed ATAPI via /dev/hd* interface.\n");
libscg $ grep 'Using ATA Packet interface.' *
scsi-linux-ata.c:               error("Warning: Using ATA Packet interface.\n");
libscg #
-----

Which hopefully (without really checking the source) means each are
implemented in these source files:

1) dev=/dev/hdx	- scsi-linux-sg.c
2) dev=ATA	- scsi-linux-sg.c
3) dev=ATAPI	- scsi-linux-ata.c

So if I take note of you comment above about scsi-linux-ata.c (or actually
give a fart about Jorg's warning about unmaintained and slow), should ATA
rather than ATAPI not be the recommended way??

Also, how about having the kernel print a warning when the depreciated
interface (ATAPI??) is used ? 


Thanks,

-- 
Martin Schlemmer


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2004-12-01 21:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-29 21:33 cdrecord dev=ATA cannont scanbus as non-root J.A. Magallon
2004-11-29 21:50 ` Jan Engelhardt
2004-11-29 21:59   ` J.A. Magallon
2004-11-30  6:51     ` Jan Engelhardt
2004-11-30  7:16     ` Jens Axboe
2004-11-30 16:29       ` J.A. Magallon
2004-11-30 17:12       ` J.A. Magallon
2004-11-30 17:37         ` Jan Engelhardt
2004-11-30 17:49           ` J.A. Magallon
2004-11-30 17:56             ` Jan Engelhardt
2004-11-30 18:29               ` J.A. Magallon
2004-12-01 21:16       ` Martin Schlemmer [c] [this message]
2004-12-02 16:23         ` cdrecord dev=ATA cannont scanbus as non-root [u] Radoslaw Szkodzinski
2004-12-02 21:50           ` Martin Schlemmer [c]
2004-12-03  7:35           ` Jan Engelhardt
2004-12-03 11:51             ` Rahul Karnik
2004-12-03 12:06               ` Jan Engelhardt
2004-12-03 12:10                 ` Jens Axboe
2004-12-01 21:56       ` cdrecord dev=ATA cannont scanbus as non-root Markus Plail
2004-12-02  8:07         ` Jens Axboe
2004-12-02 12:51           ` J.A. Magallon

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=1101935773.11949.86.camel@nosferatu.lan \
    --to=azarah@nosferatu.za.org \
    --cc=axboe@suse.de \
    --cc=jamagallon@able.es \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@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