Thursday Oct 26, 2006

In middle of September (18-21, 2006) Jiri Sasek and me attended this year Storage Developer Conference. Since one of our tasks in Sun is to maintain Samba server bundled with Solaris Operating System, this conference is important for us with its CIFS track and mainly CIFS/iSCSI plugfest.

The conference was organized by Storage Networking Industry Association (SNIA) and it was held in Doubletree Hotel in San Jose as last year, when we attended for the first time.

CIFS/iSCSI plugfest is meant as opportunity for various vendors to test their product within friendly and confidential environment. And that's what we did.

First day was rather affected by setting everything for later testing. This works were at least twice disrupted by Emergency evacuation when everybody had to leave the building. Some apologizing woman at doors said, it might have been caused by air conditioning system. I don't know, but at least I could take picture of some Samba core team members in day light.

SAMBA team unsheltered

Our testing environment was built on Sun Fire T2000 fully loaded with eight CPU cores (overall 32 processing threads) and 32 gigs of memory. We chose this sever, beside its popularity and its catchy sex appeal, mainly because we were planning to run several versions of Samba server at the same time using Solaris Containers (zones). I was positively surprised that while this computer belongs rather into server room it wasn't the most loud hardware at the plugfest. We had installed this system with Solaris 10 6/06 (aka update 2) and we were testing on it our latest version of Samba 3.0.23c (ADS support) and also latest developing version of Samba 4.

Side the CIFS track at the conference, it was not so rich as at last year event. This was little bit disappointment to me. There was only one afternoon dedicated for CIFS with following talks and finally "Chalk Talk":
- Exploring the SMB2 Protocol, Andrew Tridgell
- Multihead Samba Export using GPFS, Sven Oehme
- Update on CIFS Unix Extensions, Jeremy Allison and Steve French

Beside Samba team and other people from industry we could meet also some our CIFS colleagues from Sun. On CIFS plugfest it was mainly Afshin Ardakani torturing his NAS Storedge and on conference it was Pavan Mettu (aka Reddy) one member of our CIFS client team. I believe next year they will be testing our CIFS FS for the first time. However "torturing" CIFS client is in many ways more complicated then server and mainly you cannot use SMB torture tool.

Overall it was good opportunity to meet people and discuss issues and I am looking forward for next year event. Especially it might be very interesting if CIFS plugfest is held at Starbuck coffee as Andrew Tridgell joked at one point during his speech ;-)

Friday Oct 13, 2006

Recent patches for Solaris 10 operating system newly enable Apache 2 Web Server ability to serve files larger then 2GB:

120543-06 Synopsis: SunOS 5.10: Apache 2 Patch
120544-06 Synopsis: SunOS 5.10_x86: Apache 2 Patch

This change can be also found in OpenSolaris since bulid 46 (Nevada SFW project).

Why am I mentioning this? Because you might bump into some problems when upgrading to this version without proper reading of patch README file.

According to information from official Apache web pages you might get feeling that larger file support for 32 bits binaries is available from version 2.2 only. But it's not true as you can find out from Apache 2.0 ChangeLog. It's is fully functional from version 2.0.53.

But to have large file support working you have to use proper compilation environment (see lfcompile(5)). This for Solaris OS means to define macro _LARGEFILE_SOURCE to be 1 and _FILE_OFFSET_BITS to be 64.

And here comes the problem. Since these definitions change size of off_t which is used by different Apache modules and since we didn't use these macros before, all third party Apache 2 modules must be recompiled with these macros to run correctly. If you don't do it, you will most likely see Apache 2 Web Server crash with segfault during its start.

So, please recompile your modules and if you cannot use apxs to build entirely your module, you can obtain proper macro definitions issuing following command:

/usr/apache2/bin/apxs -q EXTRA_CPPFLAGS
-DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

Enjoy sharing your DVD images and other big files via our Apache 2 :-)