|
advfs_clonefset(3)
Contents
|
advfs_clonefset - Creates a read-only copy of an active
fileset
#include <sys/advfs_syscalls.h>
int advfs_clonefset(
char *domain,
char *fileset,
char *clonename );
AdvFS Library (libadvfs)
Specifies the name of an existing AdvFS file domain.
Specifies the name of original fileset. Specifies the
name of the read-only clone fileset of the original fileset.
This function makes a read-only copy (clone) of an active
fileset without taking the fileset off line.
When you create a clone fileset, it is a read-only snapshot
of fileset data structures (metadata). That is, when
you clone a fileset only the structure of the original
fileset is copied, not its data. As time goes by and as
the files in the original fileset are modified, the file
system copies the original pages to the clone fileset. In
this way, the clone fileset preserves the contents of
files as they were in the original fileset at the time you
created the clone.
You can form a fileset backup strategy by managing clone
filesets without ever needing to take the original filesets
off line. For example, you can determine when to
unmount a clone, mount the clone on another mount point,
and then use the vdump command to back it up.
You can create new versions of a clone fileset, but you
can maintain only one clone per fileset at a time. You can
remove an existing clone fileset by using the advfs_rmfset
function.
This function has features identical to the utility
described in clonefset(8).
This function only clones AdvFS filesets; it does not
clone UFS file systems.
The program that calls this function must be running with
root privilege.
A fileset must have a unique name of up to 31 characters.
All whitespace characters (tab, new line, space, and so
on) and the / # : * ? characters are invalid for fileset
names.
Do not create a clone fileset if the available disk space
for the file domain is less than 5 percent of the total.
When a file domain runs out of disk space, the file system
loses its ability to maintain the consistency of files
within clone filesets. When the file system can no longer
maintain consistency, it displays warning messages similar
to the following on the user's terminal and to the console:
WARNING: advfs cannot copy-on-write data to a clone
file. WARNING: encountered the following error:
ENO_MORE_BLKS (-1040) WARNING: do not continue using the
clone fileset. WARNING: original file set: name=mnt,
id=2c06a73f.00027192.00000001.8001 WARNING: clone file
set: name=clone, id=2c06a73f.00027192.00000002.8002 WARNING:
file id = 0000000a.8002
This message also appears in the /var/adm/syslog.dated/latest_boot_date/kern.log
file.
The function returns a value of 0 (zero) on successful
completion. The function returns a value of -1 on failure
and sets the value of errno to the specific error.
The function sets errno to the specified errors for the
following failure conditions: A valid AdvFS Advanced Utilities
license is not installed.
The calling program is not running with root privileges.
The AdvFS lock for domain could not be
acquired because one of the following operations
was already running on the domain: balance, defragment,
rmfset, or rmvol. The fileset you want to
clone already has an existing clone. The name of
the clone contains an invalid character or any of
the parameters are NULL or set to . An I/O error
occurred on one of the disks in the file domain.
The name of the clone is longer than 31 characters.
The file domain specified by the domain parameter
does not exist.
The fileset specified by the fileset parameter does
not exist in the file domain specified by the
domain parameter. There is not enough memory
available for the operation. There is not enough
available space in the file domain to create a
clone fileset.
Commands: clonefset(8), mkfset(8), rmfset(8), showfsets(8)
Functions: advfs_rmfset(3)
advfs_clonefset(3)
[ Back ] |