Ignore:
Timestamp:
Nov 14, 2012, 12:59:34 PM (12 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to 3.6.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified vendor/current/docs/htmldocs/Samba3-HOWTO/largefile.html

    r597 r740  
    11<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 33. Handling Large Directories</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="The Official Samba 3.5.x HOWTO and Reference Guide"><link rel="up" href="optional.html" title="Part III. Advanced Configuration"><link rel="prev" href="SambaHA.html" title="Chapter 32. High Availability"><link rel="next" href="cfgsmarts.html" title="Chapter 34. Advanced Configuration Techniques"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 33. Handling Large Directories</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="SambaHA.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="cfgsmarts.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 33. Handling Large Directories"><div class="titlepage"><div><div><h2 class="title"><a name="largefile"></a>Chapter 33. Handling Large Directories</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Jeremy</span> <span class="surname">Allison</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jra@samba.org">jra@samba.org</a>&gt;</code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email">&lt;<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>&gt;</code></p></div></div></div></div><div><p class="pubdate">March 5, 2005</p></div></div></div><p>
    2 <a class="indexterm" name="id435756"></a>
     2<a class="indexterm" name="id435750"></a>
     3<a class="indexterm" name="id435757"></a>
    34<a class="indexterm" name="id435763"></a>
    4 <a class="indexterm" name="id435770"></a>
    55Samba-3.0.12 and later implements a solution for sites that have experienced performance degradation due to the
    66problem of using Samba-3 with applications that need large numbers of files (100,000 or more) per directory.
    77</p><p>
     8<a class="indexterm" name="id435775"></a>
    89<a class="indexterm" name="id435782"></a>
    9 <a class="indexterm" name="id435789"></a>
    1010The key was fixing the directory handling to read only the current list requested instead of the old
    1111(up to samba-3.0.11) behavior of reading the entire directory into memory before doling out names.
     
    1313stealing logic from Samba4 (thanks, Tridge), the current code in 3.0.12 handles this correctly.
    1414</p><p>
    15 <a class="indexterm" name="id435802"></a>
    16 <a class="indexterm" name="id435809"></a>
     15<a class="indexterm" name="id435796"></a>
     16<a class="indexterm" name="id435803"></a>
    1717To set up an application that needs large numbers of files per directory in a way that does not
    1818damage performance unduly, follow these steps:
    1919</p><p>
    20 <a class="indexterm" name="id435820"></a>
     20<a class="indexterm" name="id435814"></a>
    2121First, you need to canonicalize all the files in the directory to have one case, upper or lower  take your
    2222pick (I chose upper because all my files were already uppercase names). Then set up a new custom share for the
    2323application as follows:
    24 </p><table border="0" summary="Simple list" class="simplelist"><tr><td> </td></tr><tr><td><em class="parameter"><code>[bigshare]</code></em></td></tr><tr><td><a class="indexterm" name="id435846"></a><em class="parameter"><code>path = /data/manyfilesdir</code></em></td></tr><tr><td><a class="indexterm" name="id435858"></a><em class="parameter"><code>read only = no</code></em></td></tr><tr><td><a class="indexterm" name="id435869"></a><em class="parameter"><code>case sensitive = True</code></em></td></tr><tr><td><a class="indexterm" name="id435881"></a><em class="parameter"><code>default case = upper</code></em></td></tr><tr><td><a class="indexterm" name="id435892"></a><em class="parameter"><code>preserve case = no</code></em></td></tr><tr><td><a class="indexterm" name="id435904"></a><em class="parameter"><code>short preserve case = no</code></em></td></tr></table><p>
     24</p><table border="0" summary="Simple list" class="simplelist"><tr><td> </td></tr><tr><td><em class="parameter"><code>[bigshare]</code></em></td></tr><tr><td><a class="indexterm" name="id435840"></a><em class="parameter"><code>path = /data/manyfilesdir</code></em></td></tr><tr><td><a class="indexterm" name="id435852"></a><em class="parameter"><code>read only = no</code></em></td></tr><tr><td><a class="indexterm" name="id435863"></a><em class="parameter"><code>case sensitive = True</code></em></td></tr><tr><td><a class="indexterm" name="id435874"></a><em class="parameter"><code>default case = upper</code></em></td></tr><tr><td><a class="indexterm" name="id435886"></a><em class="parameter"><code>preserve case = no</code></em></td></tr><tr><td><a class="indexterm" name="id435897"></a><em class="parameter"><code>short preserve case = no</code></em></td></tr></table><p>
    2525</p><p>
    26 <a class="indexterm" name="id435918"></a>
    27 <a class="indexterm" name="id435925"></a>
    28 <a class="indexterm" name="id435932"></a>
     26<a class="indexterm" name="id435912"></a>
     27<a class="indexterm" name="id435919"></a>
     28<a class="indexterm" name="id435926"></a>
    2929Of course, use your own path and settings, but set the case options to match the case of all the files in your
    3030directory. The path should point at the large directory needed for the application  any new files created in
     
    3232the directory for names: it knows that if a file does not exist in uppercase, then it doesn't exist at all.
    3333</p><p>
     34<a class="indexterm" name="id435943"></a>
    3435<a class="indexterm" name="id435949"></a>
    35 <a class="indexterm" name="id435955"></a>
    36 <a class="indexterm" name="id435962"></a>
     36<a class="indexterm" name="id435956"></a>
    3737The secret to this is really in the <a class="link" href="smb.conf.5.html#CASESENSITIVE" target="_top">case sensitive = True</a>
    3838line. This tells smbd never to scan for case-insensitive versions of names. So if an application asks for a file
     
    4242<span class="application">smbd</span>.
    4343</p><p>
    44 <a class="indexterm" name="id436003"></a>
    45 <a class="indexterm" name="id436010"></a>
    46 <a class="indexterm" name="id436017"></a>
     44<a class="indexterm" name="id435997"></a>
     45<a class="indexterm" name="id436004"></a>
     46<a class="indexterm" name="id436011"></a>
    4747Remember, all files and directories under the <em class="parameter"><code>path</code></em> directory must be in uppercase
    4848with this <code class="filename">smb.conf</code> stanza because <span class="application">smbd</span> will not be able to find lowercase filenames with these settings. Also
Note: See TracChangeset for help on using the changeset viewer.