sam_damage - Sets damaged attribute on a file or directory
cc [ flag
… ] file
… -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]
#include "∕opt∕SUNWsamfs∕include∕lib.h"
int sam_damage(const char * path ,
int num_opts ,
…);
sam_damage()
lets you mark archive copies of a file or a directory as damaged,
using an Oracle HSM system call.
path
is the file on which to set the attributes,
followed by a sequence of
num_opts
input characters or options.
Individual options are described below.
The function marks copies of a file or directory as damaged based on the archive copy number and∕or the media type and VSN specified. There are several ways to mark one or more copies as damaged. 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
If a fatal error is detected when staging an archive copy, that archive copy is marked as damaged. An archive copy that is damaged is not selected for staging.
aRearchives the damaged copy.
c copy_noMarks the specified archive copy number as damaged.
If one or more 'c' options are
specified, only those archive copies (1, 2, 3, or 4)
are marked as damaged.
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 damaged.
This includes directories, the segment index,
and removable-media files.
Regular files are not marked as damaged.
If you are marking a directory as damaged, you must specify
the "M" option.
m media_typeMarks all copies from the specified media_type as damaged.
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.
oSpecifies that the file must be online before it is marked as damaged. If the file is offline, the sam_damage function
stages the file to disk before deleting any entries.
v vsnMarks the archive copies on vsn as damaged.
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_damage()
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_damage()
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),
mcf (4)