Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S

swapon(2)

TO BE OBSOLETED
HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

swapon() — add swap space for interleaved paging and swapping

SYNOPSIS

#include <unistd.h> int swapon(const char *path, ... /* [int min, int limit, int reserve,] int priority */ );

Remarks

The ANSI C ", ..." construct denotes a variable length argument list whose optional and required members are given in the associated comment (/* */).

DESCRIPTION

The swapon() system call makes a block device or a directory named path available to the system for paging and swapping.

priority indicates the order in which the swap space from the device or file system is used. It has a range of 0 (highest) to 10 (lowest). Space is taken from the lower-numbered systems first.

swapon() can be used only by users who have appropriate privileges.

If path names a block device file

swapon() makes it available to the system at the specified priority for allocation for paging and swapping.

In this form, swapon() takes only two arguments: the path to the block device file, and the priority.

The device associated with path can be a device already known to the system, defined at system configuration time, or it can be a previously unspecified device.

If the device was already defined at system configuration time and also has a start and/or size defined for that swap device, these values are used.

Otherwise, if a filesystem exists on the device, swap is added following the filesystem, or if no filesystem exists, the complete device is used for swap.

See the appropriate system administrator's manual for information on how the size of the swap area is calculated.

If path names a directory

swapon() makes the blocks on the file system rooted at path available for paging and swapping.

The min, limit, and reserve arguments are passed and used only if the path argument names a directory.

min indicates the number of file system blocks to take from the file system when swapon() is called.

limit indicates the maximum number of file system blocks the swap system is allowed to take from the file system.

reserve indicates the number of file system blocks that are saved for file system use only.

For a pre-existing directory swap, a value of -1 for min, limit, reserve, or priority will keep the value unchanged. This can be used to change selective values without affecting others. For example, if priority of a pre-existing directory swap needs to be changed without affecting the values of min, limit, or reserve, one can specify the new priority value and pass -1 for other arguments.

The size for the file system blocks mentioned above is the preferred file system block size. The preferred file system block size can be obtained by the statvfs() call. The value of min, limit, or reserve is rounded up to the swchunk tunable size.

ERRORS

If swapon() fails, errno is set to one of the following values.

EACCES

A component of the path prefix denies search permission.

EINVAL

One of priority, min, limit, or reserve arguments is invalid.

EALREADY

The device associated with path already has swap turned on.

EBUSY

The device associated with path is already in use.

EEXIST

The device associated with path was specified at system configuration time to add swap at a specified location, but that location is within an existing file system on the device.

EFAULT

The LIF header on the device associated with path contains inconsistent directory data.

EIO

Unable to read the device associated with path.

ELOOP

Too many symbolic links were encountered in translating the path name.

ENAMETOOLONG

The length of the specified path name exceeds PATH_MAX bytes, or the length of a component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in effect.

ENODEV

The device associated with path does not exist.

ENOENT

The system-imposed limit on the number of swap file entries has been reached.

ENOSPC

There is is not enough available space on the specified file system or device.

ENOSYS

The device associated with path was specified at system configuration time to add swap following the file system, but no file system was found.

ENOTBLK

The path argument is not a block special file or the root directory of a file system.

ENOTDIR

A component of the path is not a directory.

ENXIO

The device associated with path could not be opened.

EPERM

The effective user ID is not a user with appropriate privileges.

EROFS

The device associated with path is read-only.

WARNINGS

On systems running VxVM 3.5, the swap volumes to be configured for system crash dumps should be created with the usage type as swap during the creation of the swap volume. Not doing so will cause a dump corruption. You could use the -U option of vxassist to do the same.

No means is available to stop swapping to a device.

The system allocates no less than the amount specified in min. However, to make the most efficient use of space, more than the amount requested might be taken from the file system. The actual amount taken will not exceed the number of file system blocks indicated in reserve.

Swapping to a file system is usually slower than swapping to a device.

Once file system blocks have been allocated for swap space, the file system can not be unmounted unless the system is rebooted.

swapctl() is the replacement for swapon(). swapon() is to be obsoleted at a future date.

AUTHOR

swapon() was developed by the University of California, Berkeley.

SEE ALSO

swapon(1M), vxassist(1M), swapctl(2), privileges(5).

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.