Providing this as a temporary solution to relieve a customer problem is excellent. My disagreement is that it should be committed as a long term solution for offline support when we already have a defined system attribute mechanism that could be used to solve the problem via libc.
Alan ----- Original Message ----- Jiri Sasek - RPE Prague <Jiri.Sasek at Sun.COM> wrote: > Please let me refine. This contract is special case of the interface > contract where the interface is not controlled by Solaris and is > optional in Solaris so the main accent is on the keeping of the > functionality of samba in case the optional component (libsam.so) is not > installed on the system. > > Solution itself is already running on the customers box as temporary > relief so its functionality is proved. Only the issue is to prove also > the original functionality of the samba daemon is not interfered in some > undocumented case. > > Jiri > > Alan M Wright wrote: >> While this will solve the problem for Samba, it won't provide support >> for offline files via the native Solaris CIFS Service, i.e. anyone >> using the native Solaris CIFS Service to share samfs will continue to >> see timeout failures as described below. >> >> It would be good to have a solution that supports both services. >> >> Alan >> >> On 07/06/09 11:19, Daniel Hain wrote: >>> I'm submitting this fasttrack for Jiri Sasek. This proposal seeks >>> patch binding >>> and will timeout on 07/13/2009. >>> >>> The listed imported interfaces from libsam.so are currently >>> classified as Stable >>> by the last approved PSARC case (PSARC/2001/599/ SAM_FS and QFS 4.0). >>> The case for SAM-QFS 5.0 (PSARC/2007/588) lists them as Unstable, >>> but that case has not >>> been approved. Discussion with the SAM-QFS team indicates that they >>> feel the classification of these interfaces is still Stable. >>> >>> -Dan >>> >>> >>> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI >>> This information is Copyright 2009 Sun Microsystems >>> 1. Introduction >>> 1.1. Project/Component Working Name: >>> Support off-line files on SAM-QFS for Samba in Solaris >>> 1.2. Name of Document Author/Supplier: >>> Author: Jiri Sasek >>> 1.3 Date of This Document: >>> 06 July, 2009 >>> 4. Technical Description >>> Proposal: >>> >>> Support off-line files on SAM-QFS for Samba in Solaris. >>> >>> Detail: >>> >>> Samba is CIFS volume and printing server. >>> >>> The current version of Samba (3.0.34) integrated in Solaris >>> does not support off-line file attribute for files stored on >>> a SAM-FS volume when located on an off-line storage (a tape). >>> >>> Such situation has the following consequences on MS Windows >>> clients: >>> >>> - Client's attempt to acces an off-line file will fail on >>> timeout which is set too short to access a file stored >>> on a tape or any other external (off-line) storage. >>> >>> - If MS Windows Eplorer's curent directory is set to >>> a directory full of off-lined files it causes a "storm" >>> of the tape changer arms when thumbnails are being generated. >>> >>> The solution is to let Samba use libsam.so library, [4], which >>> provides the off-line information for files stored on a >>> off-line storage (a tape). Since this library is optional >>> on Solaris then it is necessary to use lazy binding option for >>> linking this library with Samba. The lazy binding option makes >>> sure that "smbd" (Samba daemon) will run even if libsamfs.so is >>> not present on the system. >>> >>> When "samfs share = yes" configuration option is set in smb.conf >>> (Samba configuration file) and libsamfs.so is not present on the >>> system then calling the lazy linked library-call will not complete >>> the dlopen(2) call successfuly and the standard message from the >>> run-time linker notifying about is redirected from the stderr >>> output to the "smbd" log file appropriate to the CIFS session >>> serviced by this "smbd" daemon. Samba log files can be configured >>> as described in smb.conf(4). In the standard distribution such log >>> file is located on the "/var/samba/log/log.<hostname|IP>" path. >>> >>> SAM-FS library libsamfs.so is delivered by optional packages >>> SUNWsamfsr SUNWsamfsu and should be installed from the external >>> source. >>> Exported Interfaces: (uncommited) >>> >>> --------------------------------------------------------------------- >>> FILE_ATTRIBUTE_OFFLINE flag (0x00001000) in "Attributes" of >>> SMB_QUERY_FILE_BASIC_INFO response CIFS message will indicate the >>> off/on-line file status of files located on SAM-QFS share >>> >>> --------------------------------------------------------------------- >>> smb.conf option "samfs share = yes|no" (default: no) >>> >>> Imported Interfaces: >>> >>> The following functions from libsamfs.so are used: >>> >>> --------------------------------------------------------------------- >>> sam_stat() | File status calls available from libsam library >>> sam_segment_stat() | returning the "struct sam_stat" >>> >>> References: >>> >>> [1] http://samba.org/ >>> Author(s) of Samba: Andrew Tridgel, Jeremy Alisson, Michael Adam... >>> please check Samba.org to obtain the full list of the core team >>> members >>> please also check the source code for external contributors >>> [2] Common Internet File System (CIFS) Technical Reference (Revision: >>> 1.0) >>> http://snia.org/ >>> [3] 6737005 samba should handle samfs WORM and offline files gracefully >>> [4] http://www.opensolaris.org/os/project/samqfs/sourcecode/ >>> >>> >>> >>> 6. Resources and Schedule >>> 6.4. Steering Committee requested information >>> 6.4.1. Consolidation C-team Name: >>> ON >>> 6.5. ARC review type: FastTrack >>> 6.6. ARC Exposure: open >>> >>> _______________________________________________ >>> opensolaris-arc mailing list >>> opensolaris-arc at opensolaris.org >> > >