Re: lack of raw disk devices

linux kernel account (linker@nightshade.z.ml.org)
Tue, 6 Jan 1998 21:38:33 -0500 (EST)


On Tue, 6 Jan 1998 ralf@uni-koblenz.de wrote:

> On Sun, Jan 04, 1998 at 11:48:50AM -0500, linux kernel account wrote:
>
> > On Sun, 4 Jan 1998, Harald Milz wrote:
> >
> > > Marty Leisner (leisner@sdsp.mc.xerox.com) wrote:
> > > > I understand linux doesn't have raw devices because
> > > > we don't need it.
> > >
> > > We actually do. A couple of database product make use of raw devices if
> > > they exist, e.g. Oracle.
> >
> > They are just looking for excuses.. They could use whats already there..
> > They just would have to deal with the fact that the OS is going to cache
> > things in ways they dont like..
>
> In a way that makes error recovery impossible for the database.

You can use O_SYNC to do synced writes.. That only leaves read problems.

> > They want to have complete input/output cach control.. Yes, that would be
> > important if Linux was their prime target..
>
> Customer calls Oracle (Sybase etc.): ``Your friggin database engine fucked
> my entire 1TB database. I hope your competition does better ...''
>
> Cite manual of xy-db ... ``Linux: We're sorry, if your box should crash, your
> database might be fried'' ...
>
> Wouldn't that be good promotion?

Better then nothing, at least if they explain why.

>
> > But they could just say 'the
> > Linux version is beta/not as good and stable because of it' and when they
> > decide that Linux was a platform they really like: They could make a
> > friggen kernel module to provide a raw interface.
>
> That would be a horrible hack that'd break once a new kernelpatch is
> released. And that's still the least problem.

Most people take what their distribution gives them.. And most commercial
places would only dare support that single kernel.. I challenge you to by
Caldara Linux and compile your own newer kernel and get support..


> This is not a vote for a blind implementation of raw devices. Raw devices
> have their problems by design, mainly because of a lack of communication
> between the buffercache and the userspace cache in the db engine.
>
> Ralf
>