vxfs_ap_assign_file (3)


vxfs_ap_assign_file - assign an allocation policy for file data and metadata


For 32-bit applications:

cc -I /opt/VRTS/include -L /opt/VRTS/lib

-l vxfsutil -ldl

For 64-bit applications:

cc -I /opt/VRTS/include -L /opt/VRTS/lib/64

-l vxfsutil -ldld

For both applications:

#include <sys/types.h>

#include <vxfsutil.h>

int vxfs_ap_assign_file(int fd, char *datapol, char *metapol, uint32_t flags);




vxfs_ap_assign_file() assigns the given allocation policies for data and metadata to the file specified by fd. The datapol field specifies an existing data policy. The metapol field specifies an existing metadata policy. To clear a policy assignment, specify a NULL pointer for the policy field to be cleared (either datapol or metapol).

To use this function, specify -l vxfsutil while linking. Specify the /opt/VRTSfssdk/5.0/lib directory for 32-bit executables, or the /opt/VRTSfssdk/5.0/lib/64 directory for 64-bit executables.

If the LIBVXFSUTIL_DLL_PATH environment variable is defined, it should be set to the name of the vxfsutil.so file, such as ~/mylib/vxfsutil.so. If undefined, this variable is assumed to point to the 32-bit and 64-bit vxfsutil.so files, /opt/VRTSvxfs/lib/vxfsutil.so and /opt/VRTSvxfs/lib/64/vxfsutil.so, respectively.


Assigning or defining an allocation policy can fail because of a conflict with volume flags. The conflict detection attempts to detect all conflicts, but there is no guarantee that all conflicts will be detected.

This API supports file system versions 6.0 and above.


FSAP_INHERIT Files created in the directory specified by fd inherit the directory’s policy assignments.


vxfs_ap_assign_file() returns zero on success, non-zero on failure.


EFAULT One or more of the specified pointer arguments points to an illegal address.
EFBIG The calling function issued a request with a file offset off past the EOF mark.
EINVAL The specified flags are invalid.
EIO An I/O error occurred during the operation.
ENOENT One or more of the specified policies does not exist.
ENOSYS There is no license installed to allow this operation.
ENOTSUP This operation is not supported by the disk layout version of the specified file system. Use vxupgrade(1m) to enable this operation.
ENXIO An I/O error occurred during the operation.
EPERM The effective user ID of the calling process does not have appropriate privileges to perform this operation.
EROFS The specified file system is mounted read-only.


vxfs_ap_assign_ckpt(3), vxfs_ap_assign_fs(3), vxfs_ap_define(3), vxfs_ap_remove(3), vxfs_ap_enforce_file(3), vxfs_ap_enumerate(3), vxfs_ap_query(3), vxfs_ap_query_ckpt(3), vxfs_ap_query_file(3), vxfs_ap_query_fs(3), vxfs_vol_deencapsulate(3), vxfs_vol_encapsulate(3), vxfs_vol_enumerate(3), vxfs_vol_remove(3), vxfs_vol_resize(3), vxfs_vol_stat(3)

VxFS 5.1 SP1 vxfs_ap_assign_file (3)