sam_undamage(3)

NAME
sam_undamage - Clears damaged and stale status of archive entries of a file or directory

SYNOPSIS

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

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

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

DESCRIPTION

Using a Sun StorageTek SAM-FS or Sun SAM-QFS 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

OPTIONS

a   Rearchives the damaged copy.

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

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

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_undamage() 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_undamage() 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), undamage(1m), sam_damage(3), mcf(4)