sam_undamage - Clears damaged and stale status of archive entries of a file or directory
cc [ flag
… ] file
… -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]
#include "∕opt∕SUNWsamfs∕include∕lib.h"
int sam_undamage(const char * path ,
int num_opts ,
…);
Using an Oracle HSM system call,
sam_undamage()
lets you mark archive copies of a file or a directory as undamaged
and not stale, based on the archive copy number and∕or the media type and VSN specified. The function also marks the file itself as undamaged.
path
is the file on which to clear the attributes,
followed by a sequence of
num_opts
input characters or options.
Individual options are described below.
There are several ways to mark one or more copies as undamaged and unstale. These ways are as follows:
By copy number
By copy number, media type, and VSN
By copy number and media type
By media type
By media type and VSN
aRearchives the damaged copy.
c copy_noMarks the specified archive copy number as undamaged.
If one or more 'c' options are
specified, only those archive copies (1, 2, 3, or 4)
are marked as undamaged.
Specify 1, 2, 3, or 4 for copy_no.
Either a "c copy_no" or a "m media" option must be specified.
MMarks only metadata as undamaged.
This includes directories, the segment index and removable-media files.
Regular files are not marked as undamaged.
If you are marking a directory as undamaged, you must specify
the "M" option.
m media_typeMarks all copies from the specified media_type as undamaged.
For the list of possible media_type specifications, see the
mcf (4) man page.
Either a "c copy_no" or a "m media" option must be specified.
If you specify a "m media" option, you can also specify
a "v vsn" option.
v vsnMarks the archive copies on vsn as undamaged.
For vsn, specify a volume serial name (VSN).
If you specify a "v vsn" option, you must also specify
a "m media" option.
Upon successful completion a value of 0 is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
sam_undamage()
fails if one or more of the following are true:
EINVALAn invalid option was specified, or the file is neither a regular file nor a directory.
EPERMNot the owner or super-user.
EFAULTArgument points to an illegal address.
EINTRA signal was caught during the
sam_undamage()
function.
ELOOPToo many symbolic links were encountered in translating path.
ENAMETOOLONGThe length of the
path
argument exceeds {PATH_MAX}, or the
length of a path component exceeds {NAME_MAX} while
{_POSIX_NO_TRUNC} is in effect.
ENOENTThe named file does not exist or is the null pathname.
ENOLINKpath points to a remote machine and the link to that machine is no longer active.
ENOTDIRA component of the path prefix is not a directory.
damage(1m),
undamage (1m),
sam_damage (3),
mcf (4)