vxfs_ap_alloc2 (3)


vxfs_ap_alloc2 - allocate an fsap_info2 structure


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
#include <sys/types.h>

#include <vxfsutil.h>

struct fsap_info2 * vxfs_ap_alloc2(uint32_t ncomp, uint32_t flags);




vxfs_ap_alloc2() allocates an fsap_info2 structure large enough to contain ncomp components, where components are either volumes if flags is 0, or subpolicies if flags has FSAP_SUBPOLICIES set.

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.

The fsap_info2 structure is freed by calling vxfs_ap_free2().

struct fsap_info2 { char ap_name[FSAP_NAMESZ]; uint32_t ap_flags; uint32_t ap_order; uint64_t ap_chunk; uint32_t ap_ncomp; uint32_t ap_pad; union { char apc_vols[1][FSVOL_NAMEZ]; char apc_subp[1][FSAP_NAMEZ]; } ap_comp; }; #define ap_vols ap_comp.apc_vols #define ap_subp ap_comp.apc_subp

Possible values for flags are:
  The policy can be assigned by non-privileged users. By default, only privileged users can assign policies.
  The policy definition will contain the names of other allocation policies in its component list. Without this flag, the component list will contain volume names. A policy can refer to either subpolicies or volumes, but not to both.


This function is supported only on Version 6 and later disk layouts. This API supports file system versions 6.0 and above.


vxfs_ap_alloc2() returns a pointer to the newly allocated fsap_info2 structure, or NULL on failure.


vxfs_ap_assign_ckpt(3), vxfs_ap_assign_file(3), vxfs_ap_assign_fs(3), vxfs_ap_define(3), vxfs_ap_define2(3), vxfs_ap_enforce_file(3), vxfs_ap_enforce_file2(3), vxfs_ap_enumerate(3), vxfs_ap_enumerate2(3), vxfs_ap_free2(3), vxfs_ap_query(3), vxfs_ap_query2(3), vxfs_ap_query_ckpt(3), vxfs_ap_query_file(3), vxfs_ap_query_fs(3), vxfs_ap_remove(3), vxfs_vol_add(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_alloc2 (3)