Subject: Linux-Development Digest #818
From: Digestifier <Linux-Development-Request@senator-bedfellow.MIT.EDU>
To: Linux-Development@senator-bedfellow.MIT.EDU
Reply-To: Linux-Development@senator-bedfellow.MIT.EDU
Date:     Sat, 11 Jun 94 18:13:09 EDT

Linux-Development Digest #818, Volume #1         Sat, 11 Jun 94 18:13:09 EDT

Contents:
  Re: WordPerfect printing (Ed Haymore)
  v.35 (56kb -> T1) driver development (Joseph Kruckenberg)
  Re: Filesystem semantics protecting meta data ... and users data (Burkhard Neidecker-Lutz)
  Re: WARNING: BUG in rsh?? (Brandon S. Allbery)
  Re: Filesystem semantics protecting meta data ... and users data (Burkhard Neidecker-Lutz)
  Re: Filesystem semantics protecting meta data ... and users data (Burkhard Neidecker-Lutz)
  PGP 2.6 for Linux (Chris Thomas)
  Re: Linux game development (Was Re: Why [DOS, W (Lutz Behnke HiWi)
  [Q]: Signal handling in Unix. (root)
  Re: Book on PC architecture (Jorge Cwik)
  modules and interrupts (Vassili Leonov)
  Re: [Q]:  Linux as an aquisition platform/device driver  (Donald Becker)
  creating a new system call (HELP!) (Fabio Kon)
  Re: Why are there no streamss in Linux ? (Michael Callahan)
  Re: My problem? GCC problem? Linux problem? (the MOST SIGNIFICANT bit)
  Latest kernel source (Michael Lo)
  Re: Latest kernel source (Lo Yat Nam)

----------------------------------------------------------------------------

From: haymoree@newt.ee.byu.edu (Ed Haymore)
Subject: Re: WordPerfect printing
Date: 11 Jun 1994 16:36:20 GMT

Hui-Hui Hu (hdesiato@cs.umd.edu) wrote:
| As I'm anxiously waiting for a release of dosemu that works with
| new kernels, and being bothered by a stream of in-house DOS weenies :)
| I think that something I would *truly* be grateful for is
| something like 'wp2ps': convert WordPerfect files to PostScript,
| or actually anything, as long as I can print it.

What about using WP's built-in postscript capability?  I installed a
Laserjet postscript driver (for the IIP or II or something like that)
and edited it to output to a file.

I've also set a a macro so that when I want to actually print the
document within WP, I press ALT-P which automatically invokes
Ghostscript.  (One of these days I'll get around to integrating the two
operations, but it's a low priority.)

--
Ed Haymore   |   AA6EJ
ed@byu.edu   |   Linux -- a better OS than DOS.

------------------------------

From: kruckenb@sal.cs.utah.edu (Joseph Kruckenberg)
Subject: v.35 (56kb -> T1) driver development
Date: 9 Jun 1994 15:38:19 GMT

I (finally) found a v.35 interface card for the PC from a company
called SDL. They have both single and dual-port cards that support up
to T1 bit rates. Unfortunately, they only have SCO, UnixWare, and BSDI
drivers for it. I spoke to one of the developers, and they are very
interested in having a Linux device driver. My company is interested
in having a v.35 board for our Linux box, and they will let me develop
it on company time!

Only problem is that I haven't written device drivers for Linux (yet).
I've read through the kernel hackers documentation, and it looks much
easier than a DOS or Windows device driver. What I need is a little
advice.

I think I can get the code for their BSD, UnixWare, and SCO drivers.
Do you think this code will be portable to the Linux OS, or should I
just start from scratch?

What books should I have on my shelf/desk while I do this? I've got
the Linux Bible (from Yggdrasil), which has all the available Linux
documentation, but are there other books which would help me through
the driver development? Will the Linux Bible be enough for this
project (ie does it have all the info I need on Unix calls, etc)?

Is there someone who could act as a tecnical god-father/god-mother to
me on this project (I'll do the grunt-work if I can get someone to
answer an occasional question for me)--preferrably someone with
experience in writing device drivers for Linux? If there is someone
who would like to do this project, and has the time and resources to
do it (eg. 56kb-T1 line, a v.35 DSU/CSU, a free Linux box), please let
me know--I'd be glad to hand it off!

Finally, SDL would like to get an idea of what the demand is like for
this product (on Linux). If you would be interested in buying this
board ($540 for single, $585 for dual-port), please send me email
(kruckenb@sal.cs.utah.edu). I'll tally up the votes and pass them on.

Once we get close to a stable driver, I'll make an announcement in the
various comp.dcom and comp.os.linux.announce newsgroups.

For more information on the SDL v.35 cards, FTP to ftp.std.com and get
the files out of the pub/sdl/N1 and pub/sdl/N2 directories. You may
also contact them at sdl@world.std.com.

Thanks for your time and help.

Pete Kruckenberg
kruckenb@sal.cs.utah.edu

------------------------------

From: neideck@nestvx.enet.dec.com (Burkhard Neidecker-Lutz)
Crossposted-To: comp.benchmarks,comp.sys.sun.admin
Subject: Re: Filesystem semantics protecting meta data ... and users data
Date: 11 Jun 1994 17:57:30 GMT

In article <idletimeCr7Ayr.L4K@netcom.com> idletime@netcom.com (Totally Lost) writes:
>After a wild strike three Burkhard Neidecker-Lutz is OUT!
>

Like the T-1000, he magically reforms and comes back to finish off
idletime... :-).

>[The excitement builds, he tells the UNIX croud they deserve corrupted data
>setting the stage to introduce some vapor ware he has stock in ... ]
>

If by vaporware you mean Advfs, better duck and cover. If you mean
by vaporware "UFS is safe", rejoice.

>[So he backs off that UNIX users deserve corrupted data, to they don't really
>need correct data, and tring to save the day makes the standard side pitch that
>for anyboding wanting correct data VMS will solve all UNIX users ills ...

        I brought in VMS to show that doing all I/O uncached and
        can introduce ugly performance problems. I didn't suggest
        VMS would cure any UNIX ills. I never said UNIX users deserve
        corrrupt data.


>with "thank you, Digital does understand production systems". I guess this
>means Ultrix (DEC's unix offering) is not a production system ;-)  ]

        Ultrix indeed is not a production system (too close to BSD).

        Both DEC OSF/1 and VMS are.

> <warms up story of VMS not being UNIX around 1989>

        a) if you don't like VMS, don't use it.
        b) todays VMS is a lot more like UNIX (it even has XPG/3
           branding, aside from allmost all of POSIX).
        c) I don't like VMS, too :-)

>John: What I (and customers should) really demand is operational saftey and
>John: security. 

        Which I never disagreed to.

> <lots of detailed discussion of code pathes that lead to data showing
>  up deleted>

I looked up the relevant source modules of DEC OSF/1 and while the window
is made smaller, it seems to be there as well for UFS in the non-MLS
version (i.e. there can be reordering at the driver level). One point for you.

Advfs does not suffer from the same problem because it keeps a ordered
log of what metadata operations have happened. Regardless of the ordering
of writes, the replay of the log after a crash makes sure that the
right thing happens (including the missed block zeroing).

So while you are right for BSD UFS, a modern UNIX file system such as
Advfs does it right. And that's not vaporware, that's included without
additional fee with every DEC OSF/1 shipped since V1.3 (i.e. since mid-1993).

                Burkhard Neidecker-Lutz

Distributed Multimedia Group, CEC Karlsruhe 
Advanced Technology Group, Digital Equipment Corporation
neideck@nestvx.enet.dec.com



------------------------------

From: bsa@kf8nh.wariat.org (Brandon S. Allbery)
Subject: Re: WARNING: BUG in rsh??
Date: Thu, 9 Jun 1994 22:31:47 GMT

In article <Cr5ABK.8o9@inf.uc3m.es>, pheras@inf.uc3m.es (Pedro de las Heras) says:
+---------------
| rsh remotehost command -option
| 
| the arguments to command (-option) are processed by rsh, not by 
| command on remotehost. I believe it's a bug, because it doesn't work
| this way on NetBSD, SunOS and SystemV.  Isn't it?
+------------->8

GNU getopt is rather obnoxious that way...  You can work around it by
specifying any rsh (or other command, e.g. "script") options, a double hyphen
(--), then the command and its options.  For the simple rsh case, it's:

        rsh -- host command options ...

I think GNU getopt needs a flag to not go scanning past the first non-option
argument for options, or possibly for it to be changed for compatibility with
everyone else's getopt().

++Brandon
-- 
Brandon S. Allbery         kf8nh@kf8nh.ampr.org          bsa@kf8nh.wariat.org
The FUDs at Microsoft are shouting "Kill The Wabi!"

------------------------------

From: neideck@nestvx.enet.dec.com (Burkhard Neidecker-Lutz)
Crossposted-To: comp.benchmarks
Subject: Re: Filesystem semantics protecting meta data ... and users data
Date: 11 Jun 1994 18:00:37 GMT

In article <2ta4cnINN1ugi@rs1.rrz.Uni-Koeln.DE> se@fileserv1.MI.Uni-Koeln.DE (Stefan Esser) writes:
>
>Is there an implied fsync on the file being closed, before writing 
>updated inode information to disk ? 

Yes. At least on Ultrix that was the case, I don't know for DEC OSF/1,


                Burkhard Neidecker-Lutz

Distributed Multimedia Group, CEC Karlsruhe 
Advanced Technology Group, Digital Equipment Corporation
neideck@nestvx.enet.dec.com

------------------------------

From: neideck@nestvx.enet.dec.com (Burkhard Neidecker-Lutz)
Crossposted-To: comp.benchmarks,comp.sys.sun.admin,comp.security.unix
Subject: Re: Filesystem semantics protecting meta data ... and users data
Date: 11 Jun 1994 18:06:11 GMT

In article <idletimeCr7F84.8FF@netcom.com> idletime@netcom.com (Totally Lost) writes:
>I think the three strikes and Burkhard is out posting made it clear how
>the UFS filesystem can leave trash data in a users file at a crash.

Yes...

>All systems with filesystems based upon V6/V7/SVR3/BSD have the problem.
>This is nearly every system ever shipped.

So count out AIX and DEC OSF/1.

>Fixing the problem means major changes to the filesystem/BIO/driver
>relationships, key data structures, and key kernel internal programming
>interfaces including driver and FFS/VNODE interfaces.

Yes.

>Twice I have come close to implementing this.
> So what twice could have been a major
>UNIX event, is still a dream and code fragments in my lab.

A reality in DEC OSF/1.

>The the various LFS style filesystems have the promise of reliability
>but the implementation tradeoffs are performance cripping for most
>desk top systems smaller than the SPrite sized machines the work
>was done for. Locality of data is severly compromised. At last
>winters usenix wip session I gave a wake call talk on part of these issues.

You don't need to do a log-structured file system to get the
reliability associated with keeping a log. Advfs (and as far as
I know, JFS in AIX) are not log-structured.

>Every production machine I see is killed by UNIX filesystem I/O
>running at 10-20% of what it should be ... by filesystems designers
>that insist on using a horse and buggy as the prototype for a space
>ship. The receint software bloat caused by X/Motif applications
>continues the pressure on the I/O subsystem, combined with
>increadibly faster processor technology the pressure to
>replace or rearchitect UNIX will continue into the 90's.
>
>As with my comments about Raw I/O in comp.os.rsearch the critical
>problem is people attempting to continue to use outdated decisions
>without re-evaluation of the assumptionas and tradeoffs involved.
>The current UNIX filesystem architecture is critically flawed
>on all major fronts - performance, reliability and security - and
>lacks key features of the main frame market it replaces.
>OS work today is done mostly by follow the herd, critical thinking
>is a lost art.

Maybe in the UNIX Sys V crowd, not here.

                Burkhard Neidecker-Lutz

Distributed Multimedia Group, CEC Karlsruhe 
Advanced Technology Group, Digital Equipment Corporation
neideck@nestvx.enet.dec.com

------------------------------

From: cjthomas@metronet.com (Chris Thomas)
Subject: PGP 2.6 for Linux
Date: Sat, 11 Jun 1994 17:17:45 GMT

Hi,

Has anyone successfully built the PGP 2.6 release for Linux?  I keep getting
an error message during the link phase, and I'm not sure what to do about it.
I'm running the current version of GCC, libs, etc., found on sunsite.

The error:
/usr/lib/libgcc.sa(__libc.o): Definition of symbol __NEEDS_SHRLIB_libc_4 (multiply defined)
/usr/lib/libc.sa(__libc.o): Definition of symbol __NEEDS_SHRLIB_libc_4 (multiply defined)


If anyone knows what's up, I would appreciate a hint.  As a side comment, I
wonder if any linux site is going to carry the binary of PGP 2.6...


------------------------------

From: behnke@tu-harburg.d400.de (Lutz Behnke HiWi)
Subject: Re: Linux game development (Was Re: Why [DOS, W
Date: 6 Jun 1994 13:39:49 GMT

In article <1994Jun6.094201.4792@uk.ac.swan.pyr>, iiitac@uk.ac.swan.pyr (Alan Cox) writes|> We've been using gcc under DOS for a long time simply because its about
|> 15% faster output code than Watcom was. All I want to see is a decent C++
|> compiler.
could you please state your dislikes with the g++ and tell me what single
other compiler beats all that?

just wondering
Lutz

| Lutz Behnke | behnke@tu-harburg.d400.de |(Germany) +40 / 630 39 38 |
|  TU Hamburg Harburg, Hamburg, Germany, Europe, Earth, Sol-System   |
|----------When the Evil Spirit armed the Tiger with claws,----------|
|----------------Brahma gave wings to the Dove-----------------------|


------------------------------

From: root@doom.tromsomh.no (root)
Subject: [Q]: Signal handling in Unix.
Date: Sat, 11 Jun 1994 19:07:03 GMT

When compiling a program (CD's mudlib) I noticed that I had to change
a lot of signal() calls in the source code. I got the impression that
after a call from a SIGINT, you have to "de-signal" it again using
signal(SIGINT, <this_function_name>);

This seems very odd for me, and this behaviour is hardly what I have seen
on other UNIX systems. The man page said that the information was obsolete
and I have not yet seen any descriptions on this.

So: Can anyone explain this for me, or yet better, fix the man-page?

Roggie the Root.
 

------------------------------

From: jorge@laser.satlink.net (Jorge Cwik)
Subject: Re: Book on PC architecture
Date: Fri, 10 Jun 94 09:45:48 -0400

cemeier@magnus.acs.ohio-state.edu (Charles E Meier) writes:

>> We want references on books, articles,... about PC architecture.  
>> Good descriptions of low level programming, registers of different parts,...
 [...] 
> I've often wondered why some knowledgeable engineer hasn't gathered all of 
> this material into a single book that explains how all the various chips
> work together to become a whole PC compatible machine.  Or have I missed 
> _The Ultimate PC Hardware Reference Book_ in my perusal of the shelves of
> the local bookstores?
 
PC Intern is probably the most comprehensive book on the topic. But it
tries to cover everything from DOS issues to chips ... and IMHO it fails,
with lot of errors, inaccuracies and missings.

I agree that IBM techs are the primary source (only that the price make
you think they would come with a computer included), in conjunction with
the parts data sheets.

Two excellent books are "Interfacing to the IBM PC" and "The IBM PC from
the inside out". They are more aimed for the hardware hacker than the
low level programmer.

The recently published "The undocumented PC" by Sourcer's author is an
excellent addition. Is the only one I've seen that cover new issues like,
chipsets, extended CMOS registers, enhanced parallel interface, power
management, etc.

Another very usefull resource is Phoenix's "SYSTEM BIOS for IBM PC compati-
bles ...". It covers hardware more than the title implies, explaining how
the BIOS subsystems interfaces with the PC architecture. And you obviously
understand their authority in 'clone' subjects.

Finally, you will learn lot of tricks inspecting drivers' sources. You
already have Linux ones. If you are ready to pay the price, Microsoft
DDKs have some unpublished material too.

        Jorge


------------------------------

From: vassili@cs.sunysb.edu (Vassili Leonov)
Subject: modules and interrupts
Date: 9 Jun 1994 19:18:17 GMT

I've looked at the modules interface and haven't noticed any
provisons there for requesting an interrupt while
registering a module. Is this true? And what is use of these
modules if you can't register an interrupt from them???
Vassili.

------------------------------

From: becker@cesdis (Donald Becker)
Subject: Re: [Q]:  Linux as an aquisition platform/device driver 
Date: 9 Jun 1994 23:55:41 -0400

In article <2svsj7$5nk@killerbee.jsc.nasa.gov>,
Schultz, Russell <schultz_russell@semail.jsc.nasa.gov> wrote:
>What, if any, device drivers are written for a/d acquisition cards, and
>what/how easy is it write custom drivers for Linux?

It's very easy to write Linux device drivers, and the interface is well
documented.  Yes, I've written a bunch... I was becker@super.org then.

>Source code, faqs, personal experience, whatever would be greatly
>appreciated.

Source code is easy to get :->.

Contact me (see below) if you need more information.

>P.S.  it would be extra spiffy if Linux ran on a IBM thinkpad 750, does
>it?
Yes, it does.  The thinkpad doesn't use a PC-compatible BIOS entry for the
hard disk parameters, but otherwise it's a pretty standard installation.

-- 
Donald Becker                            becker@cesdis1.gsfc.nasa.gov
USRA Center of Excellence in Space Data and Information Sciences.
Code 930.5,  Goddard Space Flight Center,  Greenbelt, MD.  20771

------------------------------

From: kon@ime.usp.br (Fabio Kon)
Subject: creating a new system call (HELP!)
Date: 09 Jun 1994 20:38:23 GMT

Dear Linuxers,

I am trying to create a new system call by following what is written in the
Kernel Hacker's guide (chapter 3, version 0.5) but it is not working. When I
try to call it in a user program I get the "Function not implemented" error.

(I am using an old version of Linux: 0.99.13. but this is not the problem.)

Here is what I have done:

1) my function is defined on the kernel code by:
asmlinkage int sys_invalidate_lease(unsigned int file, char *server)

2) I have added a "#define __NR_invalidate_lease   124" to the file unistd.h

3) In the file sys.h I have added a "extern int sys_invalidate_lease();" and I
have added an entry for my system call in the sys_call_table: 
" (...) sys_newuname, sys_modify_ldt, sys_invalidate_lease}; "

4) I have run "make clean" and "make zImage". (My function appears at the file
zSystem.map)


5) In my USER program I declare:
syscall2(int, invalidate_lease, int, file, char*, server);

when I call it "invalidate_lease(file, server);", I get the "Function not
implemented" error.

Does anybody can help me??? Any suggestion is welcome.

Thank you in advance,

Fabio Kon - Department of Computer Science - IME/USP - BRAZIL



------------------------------

From: callahan@maths.ox.ac.uk (Michael Callahan)
Subject: Re: Why are there no streamss in Linux ?
Date: Sat, 11 Jun 94 21:11:48 BST

In article <2t9heh$jam@news.cs.tu-berlin.de>,
Felix v.Leitner <leitner@cs.tu-berlin.de> wrote:
>I have used my modem to connect to my university, but now I upgraded to ISDN.
>There are some unofficial patches for 1.0.6 of Linux out there, but I did
>not get them compiled. When trying to understand what the changes were, I
>saw that they took the BSD networking code and adapted Linux to use it.
>
>When I asked around, someone explained to me that Linux has no stream support
>and that the SLIP was a big hack ;)
>
>Well, I am no kernel hacker, I am happy if I configure and compile it
>properly. So I believe that guy and want to ask whether anybody knows
>what he was talking about. Is someone trying to implement streams for
>Linux ?

It's true that a Streams approach does provide modularity at the
level of the tty--terminal discipline interface, the network
driver--protocol interface and protocol--protocol interfaces in
the kernel.  But the corresponding Linux interfaces are already 
quite modular, and I don't see that streams would necessarily be
better:

- protocol-protocol interfaces: a major thrust of NET3 and Alan Cox's
  ongoing work is to make this more modular, and it's already pretty good.

- network driver-protocol interfaces: a network driver which can support
  different net protocols (eg Ethernet and PPP, not SLIP) can do so
  without any difficulty at all.

- tty-discipline interfaces: it's true that until recently this was a failing
  of Linux's; it wasn't possible to add new tty types to the kernel easily.
  But this has all changed with the advent of Ted Ts'o's new tty code.
  I hope that future ISDN drivers will take advantage of this new, very
  clean, design.

Having written the PPP driver, I know that it could support non-IP protocols
and unusual TTY transports (ISDN for example) even though it was originally
written for just IP and regular serial interfaces.  That's all the modularity 
I think I need.

Michael

------------------------------

From: xmsb@borland.com (the MOST SIGNIFICANT bit)
Subject: Re: My problem? GCC problem? Linux problem?
Date: Fri, 10 Jun 1994 23:02:06 GMT

jamesl@netcom.com (James Logajan) writes:

>I'll have to take serious issue with the so-called "comp.lang.c FAQ"
>on what main takes as arguments: it can take 0, 1, 2, or 3 arguments. The

        int main(int argc, char *argv[], char *envp[]);

while a common unix thing, is NOT standard C.  Standard C
being the C language as defined by ISO (or ANSI, in this
country).

follow-ups to comp.lang.c, altho
to be honest, the silly argument
"the parameters of main" comes
up far too often, and there really
isn't anything to follow up to: the
above main is not standard C, even
if it's common.
--
Maurice S. Barnum               ==    I speak for me, not my employer.
xmsb@borland.com                ||    "There is no confusion like the
mosigbit@deeptht.armory.com     ||    confusion of a simple mind."
mbarnum@nyx.cs.du.edu           ==       -- F. Scott Fitzgerald

------------------------------

From: ee_hflo@dma039.ust.hk (Michael Lo)
Subject: Latest kernel source
Date: Fri, 10 Jun 1994 02:48:46 GMT


        Where can I get the latest kernel source ?

Michael Lo


------------------------------

From: ma_lyn@uxmail.ust.hk (Lo Yat Nam)
Subject: Re: Latest kernel source
Date: Fri, 10 Jun 1994 02:58:41 GMT

Michael Lo (ee_hflo@dma039.ust.hk) wrote:

:       Where can I get the latest kernel source ?
: Michael Lo
ftp.funet.fi /pub/OS/Linux/PEOPLE/Linus

--
Gordon Lo


------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Development-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: Linux-Development@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************
