preopen:posix-basic-regex = BOOL (default: no)
preopen:posix-basic-regex = yes changes the meaning of the preopen:names option. Further details are
described there.
preopen:names = /pattern1/pattern2/
preopen:names specifies the file name pattern(s) 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 preopen:names=/FRAME*.frm/. The
default algorithm uses the first (at least 3) digits it finds in order to calculate the name of the
next frames.
preopen:posix-basic-regex = yes changes the meaning of the preopen:names option. It means 'POSIX
Basic Regular Expression' strings are used as patterns. The key is each pattern requires exactly one
'subexpression' starting with '\(' and ending with '\)' in order to specify the position of the
digits representing the incrementing frame numbers. Given a file names like Movie7599Frame0v1234.txt,
Movie7599Frame1v1234.txt, Movie7599Frame2v1234.txt up to Movie7599Frame9v1234.txt you can use
preopen:names = /.*Frame\([0-9]\).*\.txt/ in order to match just a single digits, this might not be a
real world example, but it shows the flexibility that is possible here.
preopen:num_bytes = BYTES
Specifies the number of bytes the helpers should speculatively read, defaults to 1.
preopen:helpers = NUM-PROCS
Number of forked helper processes, defaults to 1.
preopen:queuelen = NUM-FILES
Number of files that should be speculatively opened. Defaults to the 10 subsequent files.
preopen:nomatch_log_level = LOGLEVEL
In order to debug or audit the usage of the preopen logic you can use this option to specify at what
log level details about filenames not matching any pattern from 'preopen:names' are logged.
Defaults to the log level 5. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:match_log_level = LOGLEVEL
In order to debug or audit the usage of the preopen logic you can use this option to specify at what
log level details about filenames actually matching a pattern from 'preopen:names' are logged.
See also 'preopen:founddigits_log_level' and 'preopen:push_log_level'.
Defaults to the log level 5. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:nodigits_log_level = LOGLEVEL
In order to debug or audit problems with the preopen configuration you can use this option to specify
at what log level details about filenames actually matching a pattern from 'preopen:names', but at
the same time don't contain the expected digits, are logged. This is typically something the
administrator wants to notice and adjust the configuration in order to define more precisely where to
find the digits in the filename.
Defaults to the log level 1. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:founddigits_log_level = LOGLEVEL
In order to debug or audit the usage of the preopen logic you can use this option to specify at what
log level details about filenames actually matching a pattern from 'preopen:names', and at the same
time having valid expected digits, are logged. This means enough information is available in order to
queue preopens.
Defaults to the log level 3. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:reset_log_level = LOGLEVEL
If a matching filename belongs to a different pattern from 'preopen:names', a different parent
directory or differs in a significant way from the last filename that was found before, the module
needs to reset it's internal queue state. This means that no more preopens will be pushed to helper
processes belonging to the former queue state. In order to debug or audit such queue resets you can
use this option to specify at what log level details are logged.
Defaults to the log level 5. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:push_log_level = LOGLEVEL
In order to debug or audit the usage of the preopen logic you can use this option to specify at what
log level details about filenames actually pushed to preopen helper processes are logged. This means
they will actually be preopened soon.
Defaults to the log level 3. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.
preopen:queue_log_level = LOGLEVEL
In order to debug details about internal queue processing you can use this option to specify at what
log level the details are logged.
Defaults to the log level 10. See also smb.conf(5) in the 'loglevel' section for special handling of
the 'preopen' debug class.