Support off-line files on SAM-QFS for Samba in Solaris [PSARC/2009/381 FastTrack timeout 07/13/2009]
Jiri Sasek - RPE Prague
Jiri.Sasek at Sun.COM
Wed Jul 8 05:27:51 PDT 2009
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
>
More information about the opensolaris-arc
mailing list