sam_archive - Sets archive attributes on a file or directory
cc [
flag
… ]
file
… -L∕opt∕SUNWsamfs∕lib -lsam [
library … ]
#include "∕opt∕SUNWsamfs∕include∕lib.h"
int sam_archive(const char *
path ,
const char *
ops );
sam_archive()
sets archive attributes on a file or directory using a StorageTek QFS or Oracle HSM system call.
path
is the file on which to set the attributes.
ops
is the character string of options, for example: "dn". Individual options are
described below.
C
Specifies concurrent archiving for this file. This file can be archived even if opened for write. The archive time is regulated by the modification time. Note, nfs files are not opened and are by default concurrently archived. Concurrent archiving is useful for databases, however caution is advised since archiving can occur while the file is being modified and this can result in wasted media. The default is to disallow archiving while the file is opened for write.
I
Support inconsistent archive copies. This means that an archive copy can be created even if the file is modified while it is being copied to the media. By default, the archive copy is disallowed if the file is inconsistent, that is, if the file is modified while it was being copied to the media. Note, the file cannot be staged if the copy is marked inconsistent; however, after a samfsrestore, the inconsistent flag is removed from the archive copy and the file can be staged.
Inconsistent archiving is useful for databases, however caution is advised because it a file can be staged from an inconsistent copy after the file is restored using samfsrestore.
d
Return the archive attributes on the file to the default, i.e. archive the file according to the archiver rules. When this option is specified, the attributes are reset to the default. If it is used, it should be the first character in the string.
i
Specifies that the file be immediately archived if it is not already archived.
w
Wait for the file to have at least 1 archive copy before completing. Not valid with d or n.
Note that it may take a long time for the file to be archived.
W
Wait for the file to have all its required archive copies before completing. Not valid with d or n.
Note that it may take a long time for the file to be archived.
n
Specifies that this file never be archived. Not valid with either of the
checksum g (generate) or u (use) attributes.
(See
ssum
(1)
or
sam_ssum
(3x)).
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_archive()
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
path or ops points to an illegal address.
EINTR
A signal was caught during the
sam_archive()
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.