[OpenAFS-win32-devel] Queries to understand OpenAFS as a Remote File System

Jeffrey Altman jaltman@secure-endpoints.com
Fri, 01 Jun 2007 10:37:31 -0500


Bharat:

The OpenAFS client does not use SMB to communicate with Windows.
The Windows CIFS client uses SMB to communicate with the OpenAFS client.


Application -> File System Request
            -> CIFS client
            -> OpenAFS SMB Server
            -> OpenAFS Cache Manager
            -> AFS3 RPC to AFS File Server

In other words, the use of SMB in the existing OpenAFS client enables
Windows applications to communicate with the OpenAFS cache manager in
the client without requiring the implementation of a kernel mode file
system driver.  This is non-optimal and will be removed in a future
release of the OpenAFS client.

Jeffrey Altman
Secure Endpoints Inc.


Bharat Kulkarni wrote:
> Hello,
> 
> I had a few queries regarding OpenAFS Architecture and implementation.
> 
> As i went thru the code, it seems you have implemented SMB protocols in
> it. However as i read the SMB protocol, i learnt that SMB protocol
> firsts sends Negotiate packet to server, ANDX and then ConnectTree
> opcodes etc to communicate with server.. But in OpenAFS case I can see
> some other calls like the ones fed into the structure "
> 
> smb_dispatchTable". Some of them being "smb_ReceiveV3Tran2A" , "
> smb_ReceiveNTCreateX" etc.. So I wanted to know how OpenAFS has
> implemented SMB protocol and on what level is it implemented. Also there
> are Netbios Function used and the NCB structures are widely used. Can
> you throw some light as to what roles SMB and Netbios/NCBs play in a
> distributed File system environment like OpenAFS.
> 
> Also, How does windows talk to OpenAFS client. Is it through SMB Packet
> and Netbios. SMB protocol is usually between two windows client on
> network. However, as I understand, in this case, its used when OpenAFS
> client wants to talk to Windows (when some operation is carried out in
> OpenAFS drive) on the same local machine. (When client wants to talk to
> server on a remote machine, RX RPC is used.) So how is this
> communication between windows and OpenAFS client been taken care of?
> 
> I also want to understand, How in OpenAFS, a remote Filesystem is
> implemented using SMB protocol along with filesystem Driver component in
> the kernel mode?
> 
> Also, as I have read in Vista docs, we now need to register with MUP.sys
> while communicating or mapping any remote drive. Does OpenAFS do that.
> Or does it use Wnet API of the MPR.dll?
> 
>  
> 
> Can you kindly help me with the queries to understand the architecture
> of a Remote Filesystem.
> 
> Thanking you in anticipation.
> 
> Regards,
> 
> Bharat.
>