BUFFINDEXED.CONF(5)BUFFINDEXED.CONF(5)NAMEbuffindexed.conf - configuration file for buffindexed ovmethod
DESCRIPTION
The file <pathetc in inn.conf>/buffindexed.conf is required if buffind‐
exed ovmethod is used.
Buffindexed is one of ovmethod which is specified in inn.conf. It uses
preconfigured buffer files to store overview data and index, and never
needs more disk space other than those files. The files are divided
into 8 KB blocks internally; a given block is allocated for either
overview index or overview data. A block is never shared among multi‐
ple newsgroups. There is a database file: <pathdb in
inn.conf>/group.index that includes information about each newsgroup:
the pointer to the index block for the group, high mark, low mark, flag
of the group, the number of articles, and etc. This file is created
automatically when all buffers are initialized and must not be edited
manually. If all buffers are filled up, innd(8) throttles itself.
Note that the buffer files are never rolled over and overwritten the
way CNFS does. You need to append another buffer file in this event.
You can see the buffer usage with inndf(8) with ``-o'' option.
The file consists of a series of lines; blank lines and lines beginning
with a number sign (``#'') are ignored. There is only one kind of con‐
figuration line. The order of lines in this file is not important.
index:file_name:buffer_size
``Index'' is an index of overview buffer. ``Index'' must be between 0
and 65535. ``File_name'' is the path to overview buffer file. The
length of this path should be not more than 63 characters. ``Buf‐
fer_size'' is the length of buffer file in kilobytes in decimal (1 KB =
1024 bytes). If the ``file_name'' is not a special device, the actual
file size must be buffer_size * 1024 bytes. You can NOT use buffers
over 2 GB even if you specify <--with-largefiles at configure>, or buf‐
fers will be broken. It'll be fixed in the future.
When creating new overview buffer, there are two different methods for
creating the files.
1. Create a big file on top of a standard filesystem.
Use "dd" to create the overview buffer files, such as "dd
if=/dev/zero of=/path/to/ovbuff bs=1024 count=N" where N is the
buffer_size.
2. Use block disk devices directly.
If your operating system will allow you to mmap() block disk
devices (Solaris does, FreeBSD does not), this is the recom‐
mended method. But note that Solaris (at least 2.6) seems to
have a problem in regional locking of block disk devices, and
should not be used as overview data will be corrupted.
Partition the disks to make each partition slightly larger (a
few MB larger) than the intended size of each overview buffer.
It is not recommend to use the block device files already
located in ``/dev''; instead, use "mknod" to create a new set of
block device files. In order to do this, do an "ls -Ll" of the
/dev/dsk partition. The major and minor device numbers are in
the fifth and sixth columns (right before the date), respec‐
tively. This information should be fed to "mknod" to make a
"block-type special file" (b). Here is a short script that
accomplishes this when fed the name of the partition as listed
in ``/dev/dsk/'':
#!/bin/sh
disk=$1
major=`ls -l /dev/dsk/$disk | awk '{print $5}' | tr -d ,`
minor=`ls -l /dev/dsk/$disk | awk '{print $6}`
mkdir /ovbuff
mknod /ovbuff/$disk b $major $minor
The created device files themselves consume very little space.
In either case, make certain that each overview buffer file is owned by
<USER specified with --with-news-user at configure>, <GROUP speci‐
fied with --with-news-group at configure>, and has read/write modes for
the owner and group (mode ``0664'' or ``0660'').
When you first start innd(8) and everything is configured properly, you
should see messages in <pathlog in inn.conf>/news.notice which look
like:
Aug 27 00:00:00 kevlar innd: buffindexed: No magic cookie found for buffindexed 0, initializing
You MUST entirely recreate overview if you remove or relpace buffers.
You need not recreate if you just append new buffers. And whenever you
recreate the overview data base, you need to clean all the buffers.
HISTORY
Written by Katsuhiro Kondou <kondou@nec.co.jp> for InterNetNews. This
is revision 1.7, dated 2002/12/03.
SEE ALSOinn.conf(5).
BUFFINDEXED.CONF(5)