We believe the following is appropriate for self-review, as it copies
existing parameters from the NFS client mechanisms to the CIFS client
mechanisms without change.

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:
         CIFS Client Attribute Cache Settings
    1.2. Name of Document Author/Supplier:
         Author:  Gordon Ross
    1.3  Date of This Document:
        10 November, 2009

4. Technical Description

    4.1 Background and motivation

    The Solaris CIFS Client [PSARC 2005/695] provides the ability to
    mount SMB shares from Windows-compatible servers on Solaris.

    As currently implemented, smbfs(7FS) makes over-the-wire (OtW)
    calls much more frequently than it needs to.  (Up to five lookup
    calls OtW for every line of an "ls -l" command in an smbfs mount).
    The initial port of the smbfs code from BSD/Darwin combined some
    BSD/Darwin code with some Solaris NFS code without fully taking
    advantage of either one's full ability to do attribute caching.

    This case proposes to add interface options to mount_smbfs(1M)
    to match NFS features involving attribute cache timeout logic.

    The implementation makes smbfs borrow a little more NFS code
    than it did before (for the attribute cache timeout logic).
    The smbfs node cache is improved to allow reclaiming recently
    used smbfs nodes (when appropriate) without necessarily going
    OtW to re-check the node attributes.

    4.2 New or changed features

    The following NFS-derived options will be added to mount_smbfs(1M):

    noac, actimeo=n, acdirmax=n, acdirmin=n, acregmax=n, acregmin=n

    See the Documentation section for details, or the mount_nfs(1M)
    manual page.  These options work the same in smbfs as they do
    in NFS, except for those having data cache impact, because smbfs
    does not yet implement any data cache (nor mapped pages).

    4.3. Interface table

    mount_smbfs(1M) - new mount options:
      noac, actimeo=n, acdirmax=n, acdirmin=n, acregmax=n, acregmin=n
    Committed

    4.4. Documentation

    The manual page mount_smbfs(1M) will be updated to describe
    the new mount options as follows:  (Add to OPTIONS)

         acdirmax=n

             Hold cached attributes for no more  than  n  seconds
             after directory update. The default value is 60.

         acdirmin=n

             Hold cached attributes for at least n seconds  after
             directory update. The default value is 30.

         acregmax=n

             Hold cached attributes for no more  than  n  seconds
             after file modification. The default value is 60.

         acregmin=n

             Hold cached attributes for at least n seconds  after
             file modification. The default value is 3.

         actimeo=n

             Set min and max times for regular files  and  direc-
             tories  to  n seconds. See "File Attributes," below,
             for a description of  the  effect  of  setting  this
             option to 0.

             See "Specifying Values for Attribute Cache  Duration
             Options,"  below, for a description of how acdirmax,
             acdirmin, acregmax, acregmin, and actimeo are parsed
             on a mount command line.

        [ etc. text from the mount_nfs(1M) man page ]

5. References

    http://sac.sfbay/PSARC/2005/695

    http://docs.sun.com/app/docs/doc/819-2240/mount-smbfs-1m

    http://bugs.opensolaris.org/view_bug.do?bug_id=6650611
        (Attribute cache logic needs improvement)

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                ON
    6.5. ARC review type: SelfReview
    6.6. ARC Exposure: open

Reply via email to