sam_stage - Sets stage attributes on a file
cc [ flag
… ] file
… -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]
#include "∕opt∕SUNWsamfs∕include∕lib.h"
int sam_stage(const char * path ,
const char * ops );
sam_stage()
sets stage 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.
aSets the associative staging attribute on the file or directory.
Associative staging is activated when a regular file that has the
associative staging attribute set is staged. All files in
the same directory that have the associative staging attribute set are
staged. If a symbolic link has the associative staging
attribute set, the file pointed to by the symbolic link is staged.
Not valid with stage never attribute -n.
dReturn the stage attributes on the file to the default, i.e. stage automatically as needed. When this option is specified attributes are reset to the default. If it is used, it should be the first character in the string.
iSpecifies that the file be staged immediately.
nSpecifies that the file never be automatically staged. The file will
be read directly from the archive media.
The mmap function is not supported if the sam_stage n attribute is set.
The sam_stage n attribute is not valid with the associative staging
attribute a.
The sam_stage n attribute is not valid with either of the
checksum g (generate) or u (use) attributes.
(See ssum (1)
or
sam_ssum (3x)).
The stage -n attribute is not supported on
StorageTek QFS shared file system clients; the entire file is
staged when accessed on a client.
pStage the partial blocks back online.
sDisable associative staging for the current stage. This is only useful with
the i option. This causes only the named file to be staged, not other
files in the same directory with the associative attribute set.
wWait for the file to be staged back on-line before completing. Not valid with
d or n.
1, 2, 3, 4Stage in the archive copy specified by the 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_stage()
fails if one or more of the following are true:
EINVALAn invalid option was specified
EPERMNot the owner or super-user.
ENXIONo archive copy exists, or the specified archive copy does not exist.
EFAULTpath or ops points to an illegal address.
EINTRA signal was caught during the
sam_stage()
function.
ELOOPToo many symbolic links were encountered in translating path.
EMULTIHOPComponents of path require hopping to multiple remote machines and the file system does not allow it.
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.
ENOTSUPLicense does not support option.
If the application writes (see
write (2))
to a file or
the application mmaps (see
mmap(2))
a file with prot set to PROT_WRITE,
the file is staged in and the application waits until the stage has
completed. The stage -n attribute is ignored and the file is completely
staged back online.