On Wed 16 July 2003 16:19, Joerg Schilling wrote:
> From [EMAIL PROTECTED] Wed Jul 16 15:36:51 2003
>
> >> Linus Torvalds usually blocks them :-(
> >
> >May I make a suggestion? Joerg! Next time you feel like claiming
> > that Linus Torvalds (or anybody else in person, Alan Cox
> > maybe?) is so to say sitting around and deliberately tries to
> > complicate your life as cdrecord developer, then I suggest to
> > take a deep breath and abstain from such remarks. Not that they
> > are simply not true, such comments are generally inappropriate
> > for essentially technical forum such as this. If you want to
> > criticize, criticize technologies and their implementations,
> > but not persons. If personal comment is unavoidable, explicitly
> > address the person in question. Same naturally applies to all
> > subscribers to this forum. A.
>
> First: it is Linus who started to be personal against me, so he
> obviously likes this way of discussion....

I don't read lkml normally but in the thread you link below he uses 
your name as an example of someone writing a userspace tool. 
Perhaps you are simply the most famous/vocal user space programmer 
to deal with that code? I bet if you asked a random person to name 
a Linux kernel hacker then Linus and Alan would probably be 
mentioned more often than others as well...

> Second: I was not critizising the person but the doings.

<snip>

> Let me make an example: A few weeks ago, Jeff Garzik announced a
> new SCSI interface for ATAPI.
>
> http://marc.theaimsgroup.com/?t=105392536100002&r=3&w=2
>
> If you read this thread, you see that Linus obviously does not
> understand the background and likes the implementation to be
> better than anything before, before giving Jeff a chance. As it
> should be obvious that a draft of a new implementation method
> never is made complete just in order to save time, a
> knowledgeable programmer would be able to understand whether a
> new idea could give problems in the future.

I think you and Linus are really looking at the whole thing from 
exactly opposite directions. You're thinking that it's all really 
SCSI commands that are being sent over SCSI- or non-SCSI 
connections. So, just write a generic SCSI kernel interface and 
have the kernel patch things up where it's not quite SCSI, then 
have cdrecord shove appropriate SCSI commands through that 
interface to the drive, and be done with it. So you're looking at 
the similarities.

Linus on the other hand seems to be looking at the differences. All 
these different interfaces look like SCSI because they use the SCSI 
command set. But on other parts they're pretty different, for 
example because they use different connections. If you're going to 
map things arbitrarily (which ide-scsi is doing now, hence J�rgs 
complaints about unstable devices->busses mapping in Linux) anyway, 
then why emulate a SCSI bus if you haven't got one? Wouldn't it be 
silly if the kernel told userspace that I had a SCSI device on the 
first SCSI bus and a SCSI device on the second SCSI bus, while in 
reality they're both ATAPI devices on different controllers and I 
haven't even got a SCSI host adapter let alone any drives? So 
instead he wants a generic /dev/driveX and /dev/cdromX etc., 
because it makes more sense for the end user and you have to map 
things in the kernel anyway.

Ofcourse, the problem for cdrecord then becomes that its IO model is 
based around SCSI, including SCSI attachment bus/id/lun addressing. 
Which is fine on everything but Linux apparently.

I think I know why too. UNIX has traditionally been used on large 
machines, servers and mainframes, not on consumer-grade PCs. Those 
big machines don't have IDE. The low end has SCSI, and maybe the 
high end too I don't know, but at least it's not IDE. So, 
everything is designed around SCSI. Now what do you do when you 
want to run Solaris or BSD on x86 and you need to support ATAPI? 
Right, you look at it as SCSI with a different bus, and put it 
within your existing SCSI framework. Linux in the mean time was 
designed from the beginning for PCs with IDE/ATAPI drives and SCSI 
drives, so it had a generic block IO layer and underneath this 
layer two separate IDE and SCSI subsystems. Which ofcourse caused 
problems when CD writers showed up, which led to the ide-scsi ATAPI 
support hack. And now they're reworking things, but at the top 
level they still have their own block layer as the userspace 
interface, instead of mapping everything to the SCSI model as other 
OSes apparently do.

So yes, Linux does do things differently from everything that's been 
used before. Linus actually gives the reason for that in 
http://marc.theaimsgroup.com/?l=linux-kernel&m=105401713912746&w=2

I don't see why Linux would have to do everything exactly like other 
unices. It's designed for different systems, systems on which other 
approaches may make more sense. Dismissing something outright 
because it differs from what has already been done seems to me to 
be an awfully limited way of engineering.

Make any sense?

Lourens
-- 
GPG public key: http://home.student.utwente.nl/l.e.veen/lourens.key


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to