My concern is that this doesn't provide a complete solution to sharing offline files on Nevada or OpenSolaris, or support future HSM or file migration applications. Users have the option to share files over SMB using smb/server (the native CIFS Service) or Samba, and it seems inappropriate to select a mechanism that doesn't support that choice.
Adding an offline system attribute (PSARC/2007/315 and PSARC 2007/394) would provide support to smb/server, Samba and other file sharing protocols, such as NFS, and it would be available in both kernel and user space. The interfaces described in PSARC/2007/315 are available via libc - no special dlopen() or library dependency required to support SAM-QFS file sharing. I'd much prefer to see an ARC case that adds an offline system attribute, which would support both our current file sharing needs and future needs (HSM and file migration applications) than one that simply satisfies the short term need of one application. I could work with you on such an ARC case and implementation. Alan ----- Original Message ----- Jiri Sasek - RPE Prague <Jiri.Sasek at Sun.COM> wrote: > Hi Alan > > Please let me elaborate more detailed. > > Samba and SMB-server has different design concepts: > > Samba: pure user-space application doing all the CIFS processing on the > user-space level. Use only the very basic data-transfer acceleration > methods like sendfile(2) or splice() [bi-directional "sendfile" > supported by Linux kernel] calls supported directly in the kernel. On > the other side it can link any user space library. i.e. libsam.so as in > this case > > SMB-server: doing more accelerations directly in the kernel. There is a > lot of interfaces on which such change should be applied. > > There the reasons why not to harmonize the unified interface for the > Samba and SMB-server: > > - samba has also internal interfaces (samba 3.+ is modular) but these > interfaces are controlled by the samba.org community. > > - there are different design concepts between the Samba an SMB-server. > > - samba.org follows different priorities than appliance team > integrating the SMB-server. I have never heard about QFS support on > appliances. Also the integration of SAM (*) to run above the ZFS was > planed after the SAM-QFS integration into the Nevada. SAM-QFS > integration into the Nevada was planed to the end of the cal. year 08 > but it was postponed where no date is currently estimated. > > In such case I am unconvinced about the effectivity of waiting for the > harmonized solition for samba and SMB-server. > > Jiri > > (*) - SAM (Storage Archive Management) ~= HSM (Hierarchical Storage > Management) according to IBM terminology > > 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 >> > >