vms_tdb.c modifications

Dave Jones JONESD at er6s1.eng.ohio-state.edu
Thu Jun 26 16:31:00 GMT 2003

Return-path: <JONESD at er6s1.eng.ohio-state.edu>
Received: from er6s1.eng.ohio-state.edu by er6s1.eng.ohio-state.edu
 (PMDF V6.2 #30596) id <01KXJRD9T3XC91WY2L at er6s1.eng.ohio-state.edu> for
 JONESD at er6s1.eng.ohio-state.edu (ORCPT JONESD at er6s1.eng.ohio-state.edu); Thu,
 26 Jun 2003 12:16:44 -0400 (EDT)
Date: Thu, 26 Jun 2003 11:21:52 -0400 (EDT)
From: Dave Jones <JONESD at er6s1.eng.ohio-state.edu>
Subject: RE: RE : vms_tdb.c modifications
In-reply-to: "Your message dated Thu, 26 Jun 2003 16:36:27 +0200"
 <76E5F712842F5F49A35738622BAA0F4F028EDB2C at ESEALNT442.al.sw.ericsson.se>
To: =?ISO-8859-1?Q?Jan-erik_S=F6derholm_=28QAC=29?=
 <Jan-erik.Soderholm at pac.ericsson.se>,
 "'samba-vms at lists.samba.org'"@er6s1.eng.ohio-state.edu
Cc: JONESD at er6s1.eng.ohio-state.edu
Message-id: <01KXJTARRN1Y91WY2L at er6s1.eng.ohio-state.edu>
MIME-version: 1.0
Content-type: TEXT/PLAIN; charset=ISO-8859-1
Original-recipient: rfc822;JONESD at er6s1.eng.ohio-state.edu

>You say that you are "working on a fresh port of 2.2.8",
>how will this "port" be different from the current 2.2.8
>port at the pi-net site ? Is that port "un-fresh" ?

The port will be different in the approach taken to resolve incompatibilities
the Samba code has with the VMS environment.  For example, the Samba code 
assumes the st_dev and st_ino is a stat struct fields are scalars, but in VMS 
they area char pointer and an array.  The traditional approach is to locate 
all the places throughout the code with this assumption and apply an approriate
work-around with #ifdef's.  Another approach is to adjust the
environment so the stat struct has compatible data types that require no
changes to the C source module itself.  In this case, the stat wrapper for
VMS would stuff the 48 bits of file ID into a 64 bit integer and dynamically
build a shared, persistent table to map device names to unique 32-bit integers.

Another area where it is different is that I'm not defining a TCPIP service
to start the samba processes.  I have my own listener daemon that manages a
pool of processes that are handed connections when they come in (similar to the 
way Apache 1.x works).  In development mode, the workers are spawned, rather
than created detached, so I see the tracebacks on the screen immediately when
it crashes. (BTW is it possible with "$ TCPIP show device/full" to verify
that the NODELAY socket option is in effect?).

I wouldn't call what I'm doing a 'version' yet.  I've got running code, but it
is a lot of to work package it as a distribution that a significant portion of
people can build.

David L. Jones               |      Phone:    (614) 292-6929
Ohio State University        |      Internet:
140 W. 19th St. Rm. 231a     |               jonesd at er6s1.eng.ohio-state.edu
Columbus, OH 43210           |               vman+ at osu.edu

Disclaimer: I'm looking for marbles all day long.

More information about the samba-vms mailing list