sam_damage(3)

NAME
sam_damage - Sets damaged attribute on a file or directory

SYNOPSIS

cc [ flag ... ] file ... -L/opt/SUNWsamfs/lib -lsam [ library ... ]

#include "/opt/SUNWsamfs/include/lib.h"

int sam_damage(const char *path, int num_opts, ... );

DESCRIPTION

sam_damage() lets you mark archive copies of a file or a directory as damaged, using a Sun StorageTek SAM-FS or Sun SAM-QFS 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.

OPTIONS

a   Rearchives the damaged copy.

c copy_no
    Marks 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.

M   Marks 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_type
    Marks 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.

o   Specifies 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 vsn
    Marks 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.

RETURN VALUES
Upon successful completion a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS

sam_damage() fails if one or more of the following are true:

EINVAL
    An invalid option was specified, or the file is neither a regular file nor a directory.

EPERM
    Not the owner or super-user.

EFAULT
    Argument points to an illegal address.

EINTR
    A signal was caught during the sam_damage() function.

ELOOP
    Too many symbolic links were encountered in translating path.

ENAMETOOLONG
    The 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.

ENOENT
    The named file does not exist or is the null pathname.

ENOLINK
    path points to a remote machine and the link to that machine is no longer active.

ENOTDIR
    A component of the path prefix is not a directory.

SEE ALSO
damage(1m), mcf(4)