This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[itp] Coda filesystem


Hello,

   This is a request for feedback on whether adding the packages that
make up the Coda filesystem would be something that would be supported.
I haven't taken the time to produce the packages yet, but would like to know
whether it would be "worth my time" to do so.

   Current state:  
         Coda is a distributed file system (http://coda.cs.cmu.edu) that has run
on UNIX-like systems for a long time.  There is currently active support for
Linux and NetBSD with some moderate support for FreeBSD.    Over the 
past few years, there has been development of a kernel module for 
Windows that has now reached a point of stability that makes Coda run well
in Windows.

         Coda for Windows would not work without Cygwin because the kernel
module passes requests to get files from the file server to a user space
daemon, venus. While there are some changes to venus for the Windows 
environment, venus still  can not run without cygwin.   The same is true for
most of the user-land binaries that support the Coda filesystem.

         CMU currently runs a private mirror of the cygwin distribution that 
includes two local packages, coda-base and coda-devel.   coda-base is all
the cygwin binaries required and coda-devel is a "meta package" that just
exists to provide the prerequisites to rebuild the coda-base package.    There
is also special built .exe that is distributed on the Coda ftp site that provides
for the kernel module installation and  configuration of a Coda client.    
(coda-base is part of base in this private mirror since the sole reason
for the mirror is to support Coda.)

    Proposal:
          Several people have suggested that Coda should be distributed
completely as a standard Cygwin package.   Given that a postinstall.sh
script could install the Coda .sys files and the required registry entries
and configure a "standard installation", I think it is possible to build such
a package(s).

          Coda source has is available for all but one small part of the kernel
module.   Most of the source is under GPL v2.   Some files are distributed
under the BSD or CMU licenses.  The Kernel is composed of two parts, a 
propritary "File System Development Kit" done by OSR (Open Systems
Resources, Inc.) and a CMU written Coda specific "file system driver".  The
FSDK part is available as a Coda-specific .sys file that is free of charge to
Coda users.  The CMU part is available with full source code under the GPL
V2.   There is an arrangement with OSR that allows Coda users to obtain
free of charge the required files from OSR to be able to rebuild (and
develop) the Coda kernel module.   Other uses of the FSDK are expressly
forbidden unless you purchase rights to use it from OSR.

         To support Coda as a standard part of Cygwin I would propose
the following packages:

	lwp  (Libs)  -- A Coda specific light weight process library.
        rvm (Libs)  -- A "recoverable virtual memory" library that allows
                               persistant memory based data structures with a
                               transaction system for consistency in the face of crashes.
        rpc2 (Libs) -- A remote procedure call package used by Coda 
                               (depends on lwp)
        codafsd(net) --    The Coda "file system driver", the kernel module
                               required to make Coda work.
        coda (net) -- Coda binaries including venus, the client cache manager,
                              and vice, the coda server.   This package would do a 
                              standard setup for client.   Would require knowledge and
                              work to finish building a Coda server.  (depends on lwp,
                              rvm, rpc2, and coda-fsd.)


       This would require the coda-fsd for a server.    Coda servers do not
need the codafsd.   An alternate package list could be lwp, rvm, rpc2,
codafsd and then split coda into:
        coda-client (net) -- The client binaries.
        coda-server (net) -- The server binaries.

        The problem with this is that both server and client are compiled from
the same source tree.  It would make the coda-client and coda-server 
packages have the same source tar file and the source tar file
would not be called either coda-client nor coda-server but just coda.

"The vote ..."  (not GTG votes, just concept votes ...)

       I would like to have two questions answered:

      1)   Is there support for adding Coda packages to Cygwin so any mirror
            has Coda ready to install?

       2)  If yes on 1,  which package set,  coda single package (client and
            server)  or  coda-client and coda-server packages?

Thanks for taking your time to look at this.

--Phil

p.s.   The private mirror is updated with the most current  cygwin and
coda packages.   It is located at http://coda.cs.cmu.edu/mirrors/cygwin.
The current install .exe is located at ftp://coda.cs.cmu.edu/pub/coda/winnt.
(ntcoda-b4.exe)

-- 
Phil Nelson (phil@cs.wwu.edu) http://www.cs.wwu.edu/nelson
NetBSD: http://www.NetBSD.org  Coda: http://www.coda.cs.cmu.edu

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]