Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ presto(1) — Legato PrestoServe 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prestotool(1)

prestoctl(3R)

presto(4)

fstab(5)

prestoctl_svc(8)

presto_chango(8)

PRESTO(1)  —  USER COMMANDS

NAME

Prestoserve presto − Control and monitor the Prestoserve NFS accelerator system. 

SYNOPSIS

presto [ −plvR ] [ −s size ] [ −h hostname ] [ −u|d [ block-special-file...  ] ]

DESCRIPTION

Presto allows users to get information about the Prestoserve driver (see presto(4)), and allows the super-user to control the Prestoserve device. 

Presto invoked with no options tells the state of the Prestoserve device (“UP” or “DOWN”), how many bytes of non-volatile memory the Prestoserve cache is using, how long the cache has been enabled, the write cache efficiency (defined below), and battery status.  All information is printed on standard output.  When the Prestoserve state is UP, the Prestoserve driver improves I/O performance to accelerated filesystems by caching synchronous disk write operations to the battery backed up, non-volatile memory.  When the Prestoserve state is DOWN, the Prestoserve driver simply passes all I/O requests through to their intended devices.  The Prestoserve state after a machine reboots is DOWN.  Therefore, the presto command is usually added to a machine’s /etc/rc.local file to enable filesystem acceleration when the machine reboots. 

By default, all local writable filesystems listed in both /etc/fstab and /etc/mtab (in case something was mounted and not listed in /etc/fstab) are accelerated when the Prestoserve board is brought up. 

OPTIONS

−p Print Prestoserve information.  The information is grouped into two areas: (1) current board state, and (2) statistics for write, read and total operations. 

  The current board state accounts for all Prestoserve buffers.  A dirty buffer is one that contains a disk block image that has yet to be flushed to disk.  A clean buffer contains a valid disk block image that has been flushed to disk.  An inval buffer does not presently contain a disk block image.  An active buffer is one that is currently in transition to the actual disk, i.e. a write operation has started, but not completed on that buffer.  The buffer state transition diagram is roughly as follows: inval −> dirty −> active −> clean −> dirty. 

  For each read or write, the Prestoserve driver increments one of clean hits, dirty hits, allocations, or passes; the sum of these four counters is represented by the count field.  The hit rate field is computed from the ratio of clean and dirty hits to the total count.  Clean hits and dirty hits give the number of Prestoserve cache hits on clean and dirty buffers.  Allocations means a new buffer had to be allocated for a disk block image.  Passes means that the Prestoserve driver passed the I/O operation directly through to the actual device driver. 

  Write cache efficiency is computed from the ratio of write dirty hits to the number of writes copied into the Prestoserve cache, e.g.,

efficiency = 100 ∗ write dirty hits / ( write count − write passes )

−l List the filesystems that have been accelerated.  Prints a list of filesystem names (e.g., /dev/xy0g) and their mount points (e.g., /home/legato), in a mount(8) like format.  This option works on either NFS client or server machines. 

−u Set Prestoserve board state to UP, and enable acceleration on selected block-special-files.  If Prestoserve was DOWN, then this activates Prestoserve functionality and resets all Prestoserve statistics and buffers to their initial values.  If block-special-files (e.g., /dev/xy0g) are specified, only those filesystems will have Prestoserve acceleration enabled.  If no block-special-files are specified, the local, writable filesystems listed in both /etc/fstab and /etc/mtab will have Prestoserve acceleration enabled.  Any filesystems previously accelerated remain accelerated. 

−d Disable acceleration on selected filesystems, flushing any dirty Presto buffers to their disks.  If block-special-files (e.g., /dev/xy0g) are specified, only those block-special-files will be disabled.  If no block-special-files are specified, then all accelerated filesystems will be affected, and the Prestoserve state will be set to DOWN.  This option does not reset Prestoserve statistics.  The −d option takes affect before the −u or −R options. 

−R Set Prestoserve state to DOWN, invalidate all buffers, and reset the Prestoserve write and read statistics.  Unlike the −d option, −R will discard dirty buffers that could not be flushed to their intended disks.  This option is useful when dirty data is no longer useful and must be purged, e.g., after a disk head crash.  The −R option takes affect before the −u option.  Warning: This is the only way that the Prestoserve system can lose cached disk data.  This option should be avoided except in very rare cases. 

−s size
Set the Prestoserve buffer size to size bytes.  Size can be specified using the normal conventions for decimal or hexadecimal.  For example, 1048576 and 0x100000 both represent one megabyte.  If the current state is UP, the state is changed to DOWN, the Prestoserve cache is resized, and the state is changed back to UP. 

−h hostname
Invoke the operations against the remote machine hostname using the prestoctl(3R) protocol.  The protocol does not support the −R or −l options and most machines will choose to support only the interrogatory option, −p and not the administrative options −u, −d, or −s.  See prestoctl_svc(8) for more details. 

−v Verbose mode: the command prints chatty information to standard output. 

FILES

/dev/pr0 generic Prestoserve control device. 

/etc/fstab

/etc/mtab where accelerated filesystems are specified. 

/etc/rc.local where a presto −u command is added to accelerate filesystem I/O after a machine reboots. 

SEE ALSO

prestotool(1), prestoctl(3R), presto(4), fstab(5), prestoctl_svc(8), presto_chango(8)

Prestoserve 1.1  —  Last change: September 13, 1989

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026