Skip Headers
Oracle Hierarchical Storage Manager and QFS Software Command Reference
Section 3: Introduction to Library Functions
Release 6.1.1
E70305-03

NAME

sam_segment - Sets segment attributes on a file or directory

SYNOPSIS

cc [ flag … ] file … -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]

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

int sam_segment(const char * path , const char * ops );

DESCRIPTION

sam_segment() sets segment attributes on a file or directory using a StorageTek QFS or Oracle HSM system call. If a file is segmented, it is archived and staged in segment size chunks. sam_segment() is not supported on an Oracle HSM shared file system. path is the file on which to set the attributes. ops is the character string of options, for example: "dl104857600". Individual options are described below.

OPTIONS

d

Return the segment file attributes on the file to the default, i.e. reset to the file access instead of segment access. It not possible to reset a file that has already been segmented. 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.

l n

Specifies the segment size in units of bytes. The segment_size must be greater than or equal to one megabyte. This segment size is the size at which the file will be segmented for purposes of archiving and staging. An error is returned if the file is greater than the segment size.

s n

Specifies the number of segments to stage ahead when staging a segmented file. This means when an offline segment is read, in addition to staging the current segment, the next n segments are also staged. The default n is zero, which means there is no stage read ahead. The maximum n is 255.

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_segment() 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. The file exceeds the specified segment size.

EPERM

Not the owner or super-user.

EFAULT

path or ops points to an illegal address.

EINTR

A signal was caught during the sam_segment() function.

ELOOP

Too many symbolic links were encountered in translating path.

EMULTIHOP

Components of path require hopping to multiple remote machines and the file system does not allow it.

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.

ENOTSUP

License does not support segment.

SEE ALSO

segment (1)