Support off-line files on SAM-QFS for Samba in Solaris [PSARC/2009/381 FastTrack timeout 07/13/2009]
Alan.M.Wright
amw at sun.com
Thu Jul 9 00:51:52 PDT 2009
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
>>
>
>
More information about the opensolaris-arc
mailing list