<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="vfs_preopen.8">

<refmeta>
	<refentrytitle>vfs_preopen</refentrytitle>
	<manvolnum>8</manvolnum>
	<refmiscinfo class="source">Samba</refmiscinfo>
	<refmiscinfo class="manual">System Administration tools</refmiscinfo>
	<refmiscinfo class="version">3.6</refmiscinfo>
</refmeta>

<refnamediv>
	<refname>vfs_preopen</refname>
	<refpurpose>Hide read latencies for applications reading numbered files</refpurpose>
</refnamediv>

<refsynopsisdiv>
	<cmdsynopsis>
		<command>vfs objects = preopen</command>
	</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
	<title>DESCRIPTION</title>

	<para>This VFS module is part of the
	<citerefentry><refentrytitle>samba</refentrytitle>
	<manvolnum>7</manvolnum></citerefentry> suite.</para>

	<para>This module assists applications that want to read numbered
	files in sequence with very strict latency requirements. One area
	where this happens in video streaming applications that want to read
	one file per frame.</para>

	<para>When you use this module, a number of helper processes is
	started that speculatively open files and read a number of bytes to
	prime the file system cache, so that later on when the real
	application's request comes along, no disk access is necessary.</para>

	<para>This module is stackable.</para>

</refsect1>


<refsect1>
	<title>OPTIONS</title>

	<variablelist>

		<varlistentry>
		<term>preopen:names = /pattern/</term>
		<listitem>
		<para>
		preopen:names specifies the file name pattern which should
		trigger the preopen helpers to do their work. We assume that
		the files are numbered incrementally. So if your file names
		are numbered FRAME00000.frm FRAME00001.frm and so on you would
		list them as <command>preopen:names=/FRAME*.frm/</command>
		</para>
		</listitem>
		</varlistentry>

		<varlistentry>
		<term>preopen:num_bytes = BYTES</term>
		<listitem>
		<para>
		Specifies the number of bytes the helpers should speculatively
		read, defaults to 1.
		</para>
		</listitem>
		</varlistentry>

		<varlistentry>
		<term>preopen:helpers = NUM-PROCS</term>
		<listitem>
		<para>
		Number of forked helper processes, defaults to 1.
		</para>
		</listitem>
		</varlistentry>

		<varlistentry>
		<term>preopen:queuelen = NUM-FILES</term>
		<listitem>
		<para>
		Number of files that should be speculatively opened. Defaults
		to the 10 subsequent files.
		</para>
		</listitem>
		</varlistentry>

	</variablelist>
</refsect1>

<refsect1>
	<title>VERSION</title>
	<para>This man page is correct for version 3.3 of the Samba suite.
	</para>
</refsect1>

<refsect1>
	<title>AUTHOR</title>

	<para>The original Samba software and related utilities
	were created by Andrew Tridgell. Samba is now developed
	by the Samba Team as an Open Source project similar
	to the way the Linux kernel is developed.</para>

	<para>The PREOPEN VFS module was created with contributions from
	Volker Lendecke and the developers at IBM.
	</para>
</refsect1>

</refentry>