gpfsRestripeRange_t structure

Restripes a specific range of data blocks of a file.

Library

GPFS Library (libgpfs.a for AIX®, libgpfs.so for Linux®)

Structure

typedef struct {
  int structLen;
  int structType;
  int options;
  int errReason;
  int errValue1;
  int errValue2;
  gpfsByteRange_t range;
  int reserved1;
  int reserved2;
} gpfsRestripeRange_t;

Description

The gpfsRestripeRange_t structure is used to restripe a specific range of data blocks of a file to update its replication and migrate its data. The data movement is always done immediately.

Members

structLen
Length of the gpfsRestripeRange_t structure.
structType
Structure identifier GPFS_FCNTL_RESTRIPE_RANGE.
options
Options for the restripe command. See the mmrestripefile command for complete definitions.
GPFS_FCNTL_RESTRIPE_M
Migrates critical data off suspended disks.
GPFS_FCNTL_RESTRIPE_R
Replicates data against subsequent failure.
GPFS_FCNTL_RESTRIPE_P
Places file data in assigned storage pool.
GPFS_FCNTL_RESTRIPE_B
Rebalances file data.
GPFS_FCNTL_RESTRIPE_L
Relocates file data.
GPFS_FCNTL_RESTRIPE_C
Compresses file data.
GPFS_FCNTL_RESTRIPE_RANGE_R
Indicates to restripe only a range. If it is not set, the whole file is restriped.
errReason
Provides a reason code that describes the failure. Possible codes are defined in the Error status.
errValue1
Returned value depending upon errReason.
errValue2
Returned value depending upon errReason.
range
Used with GPFS_FCNTL_RESTRIPE_RANGE_R to specify a range. Otherwise, it should be set to 0.
reserved1
Unused, but it should be set to 0.
reserved2
Unused, but it should be set to 0.
Error status
These values are returned in the errReason field:
GPFS_FCNTL_ERR_NO_REPLICA_GROUP
Not enough replicas could be created because the desired degree of replication is larger than the number of failure groups.
GPFS_FCNTL_ERR_NO_REPLICA_SPACE
Not enough replicas could be created because there was not enough space left in one of the failure groups.
GPFS_FCNTL_ERR_NO_BALANCE_SPACE
There was not enough space left on one of the disks to properly balance the file according to the current stripe method.
GPFS_FCNTL_ERR_NO_BALANCE_AVAILABLE
The file could not be properly balanced because one or more disks are unavailable.
GPFS_FCNTL_ERR_ADDR_BROKEN
All replicas were on disks that were deleted from the stripe group.
GPFS_FCNTL_ERR_NO_IMMUTABLE_DIR
No immutable attribute can be set on directories.
GPFS_FCNTL_ERR_NO_IMMUTABLE_SYSFILE
No immutable attribute can be set on system files.
GPFS_FCNTL_ERR_IMMUTABLE_FLAG
Immutable and indefinite retention flag is wrong.
GPFS_FCNTL_ERR_IMMUTABLE_PERM
Immutable and indefinite retention flag is wrong.
GPFS_FCNTL_ERR_APPENDONLY_CONFLICT
The appendOnly flag should be set separately.
GPFS_FCNTL_ERR_NOIMMUTABLE_ONSNAP
Cannot set immutable or appendOnly on snapshots.
GPFS_FCNTL_ERR_FILE_HAS_XATTRS
An attempt to change maxDataReplicas or maxMetadataReplicas was made on a file that has extended attributes.
GPFS_FCNTL_ERR_NOT_GPFS_FILE
This file is not part of a GPFS file system.
GPFS_FCNTL_ERR_COMPRESS_SNAPSHOT
Compression is not supported for snapshot files. Used by GPFS_FCNTL_RESTRIPE_C only.

Location

/usr/lpp/mmfs/lib/libgpfs.a for AIX

/usr/lpp/mmfs/lib/libgpfs.so for Linux