Archive for February 2009
lwio watch: Week 6 continued (ends February 20th, 2009 today)
It has been a super productive week.
First the highlights. The lwio SMB File Server has hugely advanced. Most operations from the Windows XP command line work. Copying files, xcopying, making directories, net use, net use /del, single sign-on are all fully operational. In addition, the Windows explorer is almost completely functional. We’ve yet to support server-side file change notifications (i.e changes to the remote directory are not immediately visible in the Windows Explorer, the simple workaround is to hit the refresh button). You can view thumbnails of pictures and photographs, you can bring up notepad on a file directly. In all, we have a pretty useful file server.
Today we plan on starting internal dog-fooding. We will be hosting our own server and placing large size OS iso images which we use, so that everyone in the engineering team can upload/download files to the server. We’re putting all our VMs as well on the server and will subject the server to a significant amount of stress.
The day is not yet done. It is 8:38 hrs PST out here in Bellevue WA. We plan to have the file share management work done by end of day today. This will allow us to create file shares on the Likewise SMB File Server via MMC’s Add Share Wizard. Also, we plan on add a File Management plugin on the Likewise Administrators Console that will allow Linux Administrators to graphically manage their own Linux Likewise File Servers from Linux desktops.
Its been a good week!
Windows Explorer works!
Yesterday, we got Windows Explorer to work against the Likewise SMB File Server

Windows Explorer copying a file from the Likewise SMB File Server
From Sriram today…
________________________________________
From: Sriram Nambakam
Sent: Tuesday, February 17, 2009 7:09 PM
To: Gerald (Jerry) Carter; Krishna Ganugapati
Subject: dir
C:\Documents and Settings\snambakam>net use
New connections will be remembered.
There are no entries in the list.
C:\Documents and Settings\snambakam>net use * \\sn-ubuntu-t\C$
Drive Z: is now connected to \\sn-ubuntu-t\C$.
The command completed successfully.
C:\Documents and Settings\snambakam>dir z:
Volume in drive Z has no label.
Volume Serial Number is DEAD-BEEF
Directory of Z:\
02/17/2009 03:00 PM 15 test2.dat
02/17/2009 03:00 PM 19 test4.dat
02/17/2009 03:00 PM 15 test1.dat
02/17/2009 03:00 PM 15 test3
4 File(s) 64 bytes
0 Dir(s) 0 bytes free
C:\Documents and Settings\snambakam>z:
Z:\>dir
Volume in drive Z has no label.
Volume Serial Number is DEAD-BEEF
Directory of Z:\
02/17/2009 03:00 PM 15 test2.dat
02/17/2009 03:00 PM 19 test4.dat
02/17/2009 03:00 PM 15 test1.dat
02/17/2009 03:00 PM 15 test3
4 File(s) 64 bytes
0 Dir(s) 0 bytes free
Z:\>c:
C:\Documents and Settings\snambakam>net use /d z:
z: was deleted successfully.
C:\Documents and Settings\snambakam>
lwio watch: Week 6
Monday – Sriram and Jerry demonstrated copy file from a Linux server to a Windows client. We’ve officially signed off on Likewise 5.1 release. You should see it up on our website by end of the week.
Tuesday – Sriram and Jerry have most of dir up and running. It looks like that we will have full dir functionality in the next day or two
We’re planning on getting the srvsvcd service up and running by end of this week. This will allow administrators to create and delete file shares on a Linux server remotely using the “net share add” command and the “net share delete” functions. We’re two weeks away from code complete. Our plan is to spend the month of March working on stability, robustness and performance.
lwio: The Three Key Scenarios for April 2009
My wife read my blog the other day and her comment was “its pretty technical”. Polite speak for saying “Does anybody really care about what you’re writing?” Well, here’s is a short note on what we’re going to accomplish by middle of April.
We have three key end user scenarios that we’re shooting for. Recall that our objective is to make Linux,UNIX and Mac systems first class citizens in a Windows centric corporate intranet. Here are the scenarios.
The first scenario lets an system administrator log into his Windows XP desktop. He logs in using his Active Directory credentials. He then launches the Windows MMC console and loads up the “Local Users and Groups” snapin. when asked to select a machine to manage, he enters his Ubuntu Linux server machine that has also been joined to Active Directory using our Likewise authentication agent. The MMC “Local Users and Groups” snapin allows the administrator to create a “local user” on the Ubuntu server, set a password for this user.
The administrator can then launch putty on his Windows desktop and open up and ssh session to the Ubuntu server. When prompted for credentials, he can use the “local user” that he just created from his Windows MMC session.
The second scenario
For the second scenario, the administrator can reopen his MMC “Local Users and Groups” snapin, and now add “local user” to the “Administrators” pre-defined group on the Ubuntu server. He can now add a new snapin – the Share Management snapin to his existing MMC session. When prompted to enter the name of server where he would like to manage shares, the administrator enters the same Ubuntu server running the Likewise SMB server. When asked for administrator credentials, the administrator can enter the “local user” and the “local user’s” password. Bingo, MMC will now be able to add, delete, manage SMB shares on a Ubuntu server running lwio. The administrator now creates a share assigns a local directory on the Ubuntu box to be managed.
The third scenario
The third scenario starts right up where the second scenario leaves off. The administrator now fires up a command shell on his Windows XP client and enters the following commands.
net use Z: \\UbuntuServer\Shared Pictures /u:”local user” password
Z:
dir – lets him see a listing of all the files in the share
copy z:\*.* c: – lets him copy his pictures on the Ubuntu share to his Windows client
copy c:\NewPictures\*.* z: – lets him copy his new pictures on his Windows client to his Ubuntu share
Summing it all up, lwio is our next set of distributed systems infrastructure that takes Window interoperability with Linux,UNIX and Mac to never before seen heights. Oh, and did I mention that this functionality will be available on all 130+ flavors of UNIX, Linux, Mac. lwio is our programmable SMB, named pipes and DCE/RPC infrastructure that allows us to build a host of Windows interoperable technologies on non-Windows systems. lwio comes with a new integrated SMB server, an integrated SMB client, a named pipe interface and a DCE/RPC runtime retroffited with named pipe support.
Please write and let me know if this works as a decent elevator pitch of the lwio end user scenarios.
Thanks for reading!
LWIO Watch: Weeks 4 and 5 ending February 13, 2009
I’m sorry that I missed Week 4. It was a phenomenal week where we’ve made huge breakthroughs.
First, Sriram (our SMB server guy) and Jerry (our Posix virtual file system guy) got to make the copy file scenario work. What this means is that you can login to your Windows XP client machine, net use to your favorite lwio Linux file server connect to it and copy files from the server or to the server.
The named pipe file system is fully functional (I’m the owner of the named pipe file system driver
). We’re shipping a named pipe client and a named pipe server and you can fire them up and send a bunch of traffic to the server which then echoes the traffic back to you. We support a single pipe, single instance server, a single pipe multiple instance server and a multiple pipe, multiple instance server as well.
Based on the named pipe client and server code, Sriram took the named pipe client code and ported it to Windows. We can now run the named pipe client on a Windows box that talks to our named pipe server running on the Linux server through SMB traffic. Enough said!
But that wasn’t good enough for us! Brian Koropoff retrofitted DCE/RPC to support client and server side named pipes to work. The first scenario we got running was the venerable DCE/RPC echo program working both client and server running on Linux on the same box.
Next he changed the client piece to go over our SMB redirector file system. So we had a Linux client talking named pipes over our SMB client stack to our SMB server which passed it to our named pipe file system which in turn passed it back to our DCE/RPC server runtime. RPC over named pipes fully working!!
Still not impressed! Brian then ported the client RPC named pipes echo program on to Windows and yesterday we were able to successfully demonstrate an MSRPC named pipe client program talking to a DCE/RPC named pipe echo server running on our Linux server
We’re almost there! We started working on this SMB infrastructure on January 2nd – after the holidays. Its February 13th today and we’ve made some pretty great progress
By the way, we’ve finished branching our source trees last week. We now have 5.0 in archive mode, 5.1 which will be our current stable production release and our latest bleeding edge functionality is in trunk -5.2! Stay tuned lwio is now 5.2 and we’re going as fast as we can to get this puppy out before summer.
Thanks for reading!
lwio: Week 3 ending January 30th, 2009
1) Sriram is probably one of our most prolific developers. The SMB server is moving at light-speed. As of yesterday, we can actually do a “net use * \\LinuxServer\share” command on a Windows XP client and connect to a linux server running our server. Sriram has finished NTCREATE, READ, WRITE and CLOSE semantics and has wired them to the Posix virtual file system, which means we are very close to actually being able to copy files from/to Linux server to/from a Windows client. This is our February milestone that we want to reach. Sriram is now on a minor detour where he wants to actually be able to do a “dir” on a Windows client after the “net use * \\LinuxServer/share
2) The Named Pipe file system supports CreateNamedPipe, ConnectNamedPipe, ReadFile, WriteFile and CloseHandle. We tested it yesterday with a named pipe server and a named pipe client with a single pipe, single instance. Next week, we’ll test single pipe, multiple instances and multiple pipe, multiple instances. At this point, the code is stable enough for Brian to retrofit the DCE/RPC server side run-time with named pipes. One of the challenges we’ll face soon enough is that ConnectNamedPipe is a synchronous blocking call. I’m toying with the idea of implementing a sockets-style API for named pipes. It will work better with DCE/RPC and would be an interim step before we incorporate full asynchronous semantics both in the kernel and in the user mode client. Next week should be super interesting.
3) DCE/RPC framework – Brian Koropoff has retrofitted the dce/rpc server side stack to call the named pipe server side infrastructure. We haven’t yet begun testing, but next week should
4) SMB redirector – The redirector has full big-endian support checked in. As a result all of our Solaris, HP-UX PA-RISC and AIX platforms are fully operational.
6) Jerry has gotten a file copy using the local client API running to and from the pvfs driver. The file copies in both directions are identical. In his words “The security and varied NtCreateFile() options is really going to be the lion’s share of the work.”
Next week, we will be branching trees. The 3xxx series (our current QFE release) will be tagged LW5.0-qfe. The 5xxx series (our current trunk) will be tagged LW5.1-qfe and the lwio branch will become our new trunk!! This is huge because once a branch is pushed upstream as trunk, it is now officially tested on a daily basis. In addition, trunk builds will be available on our website. So you can start playing with the new iomgr in a week.
Thanks for reading!