From: bleau@umdsp.umd.edu
Newsgroups: comp.unix.internals
Subject: Writing UNIX filesystem from VMS
Date: 26 Jan 93 18:10:04 GMT
Reply-To: bleau@umdsp.umd.edu
Organization: University of Maryland Physics Dept.

Hi, netters.  I may be about to cross the line between the two worlds and
become an outcast of both, but perhaps there are some on each end that can
assist me.

I am a manager/programmer at a VMS site.  We have a VAXstation 3100-76 running
VMS 5.4-x, soon to be V5.5-1, and have Fortran and C available.  We have as
a requirement distributing data to other systems on megneto-optical media
(rewritable optical disks, the 600MB ISO variety).  This works well for most
sites, since they also run VMS.  There are, however, several sites which run
some variant of UNIX, and we'd like to keep the same media in sending data to
them.  The problem is, they can't read VMS ODS-2 file format, and I don't know
how to write a UNIX file system.  

Yet.  

That's where you can help.  If we're to write something that can be mounted and
read by a UNIX system, I need some specialized software at this end.  I need to
find out the specification for a UNIX file system, and then construct a program
that will do it all for me.  It then occurred to me that this may have already
been done.  

So, VMSers, have any of you heard of this having been done, and can you give me
pointers?  If it has not, could it be done be mounting the optical disk
/foreign and addressing it in a block oriented fashion?  Would the drive which
reads it get the blocks in the same sequence I wrote them, or would the MSCP
info on the disk cause some problems?  Has anyone tried this, and what problems
have you encountered along the way?  An ACP would be the best solution here. 
If you know of a third party that sells a low-cost package that'll do this,
please mention it, too.

And UNIXers, you, too, can help.  Do you know where I can get info on a UNIX
file system?  A specification is best.  Is there perhaps a set of code
somewhere - written in C, of courses - that actually writes a UNIX file system,
code that I could port to VMS, strip out the low level writes and replace them
with appropriate VMS writes and i/o requests, and have 90% of what I need
already working?  Either nonlicensed or free code is best, plase.

Thirdly, in case the first two alternates are impossible or unworkable, is
there possibly some intermediate format which would be easy to implement and
write at the VMS end, and be easy to read at the UNIX end?  This format could
be restrictive in the follwoing ways: not allow any updates of files or
directories, is to be written completely only once at the VMS end, is to be
read only at the UNIX end, allow only one level in a directory hierarchy (flat
file system), assume files are contiguous, have no record separators (basicly
UNIX stream format or VMS fixed-512 format), and any other simplifying
assumptions.  This may be the easiest to implement at both ends and would get
the job done, at the risk of producing something *quite* nonstandard.

We've considered other solutions, and none of them get a very good reception:
1) writing to 8mm tape - easily written and read, but strong project
   requirement toward using the same media for all, so this is a last choice
2) FTPing the files - hard to automate with UCX's FTP, and would require
   loading down the net on a daily basis with hefty amounts of data (multi-MB),
   something I think network managers would frown on, not to mention being
   impolite ;-)
3) concatenate files into a single file are COPY it to a /FOREIGN mounted disk,
   so it starts at block 0 and keeps going - already tried and proves too hard
   for both ends to use, mainly because there is no demarcation between data
   sets 
4) borrow someone else's system which runs UNIX, NFS mount the optical disk
   from it on the VMS system, and use the NFS and remote UNIX systems to
   perform the conversion by just COPYing the files - would pose too large a
   burden on someone else (translate: probably couldn't get anyone to agree),
   since this would be every couple of days on a regular basis

I'd normally say email the answers to me at bleau@umdsp.umd.edu, but this
sounds like a topic where interaction during the answer phase would be most
productive.  Post your replies to vmsnet.misc and we can start the thread
there, rather than posting to four (or more) news groups.  I'll looko there in
the next week or so.  If you have specific questions, you can either post them
or email to me directly at the above address.  If you email it, I'll post your
question with my reply to aid the brainstorming.  Thanks for the help, all.

Larry Bleau
University of Maryland
bleau@umdsp.umd.edu
301-405-6223
Xref: sparky comp.unix.internals:2158 comp.unix.wizards:5636