Re: Sharing SCSI disks

Richard B. Johnson (root@analogic.com)
Wed, 26 Mar 1997 09:08:53 -0500 (EST)


On Tue, 25 Mar 1997, Michael Neuffer wrote:

> On Tue, 25 Mar 1997, Illuminati Primus wrote:
>
> > Couldn't you just write data and call sync?
>
> No. One of the reasons is that the sync does not propagate
> down. Devices with own caches have no way to get this information
> and use it to flush their caches.

[SNIPPED]

I have a "spare" SCSI drive. If I don't mount it, it IS a raw device. I
can write/read anywhere I want on that drive without a file-system cache.
Data in kernel code DOES get buffered for a bit (DMA buffers), but isn't
this what you want?

If you had, as you say, a "raw" device what else would it have to do? I
am very curious. Do you want to write to the controller registers from
user space or would you allow the kernel to do that for you?

Presently the kernel code will read/write the drive at a speed limited
by the drive, not kernel overhead. Isn't this fast enough?

Now, If you want a file-system on that drive, you are going to have to
allow the file-system software to do the physical I/O. But, you can
write your own "user-mode" file-system as part of your database code and
read/write the raw device from your code.

Some file-systems provide so-called "contiguous" space on the physical
device (MS-DOS, VAX/VMS, RT11, etc). It is possible to "OWN" such a
file, then because of ownership, be allowed to do physical I/O to its
allocated blocks. In this case "your" blocks can be accessed any way
you wish, others would access it as a "file".

Most Unix file-systems do not use "contiguous" blocks for files. Instead,
a so called contiguous file is one that doesn't use any fragments. It
could be scattered all around the physical media. This makes ownership
of physical blocks a great problem.

If you want to build a super database, just do your own I/O to an
unmounted dedicated disk that you "own". Your program keeps track of
wherever it puts the data. It doesn't need a "standard" file-system.

You can easily back-up that disk to a tape. You could add such capability
to your database program so it doesn't have to copy the entire drive
contents to the tape.

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.29 on an i586 machine (66.15 BogoMips).
Warning : I read unsolicited mail for $350.00 per hour. Supply billing address.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-