#include <stdint.h>
#include <lustre/lustre_user.h>
-#define ARRAY_SIZE(a) ((sizeof(a)) / (sizeof((a)[0])))
-
extern bool liblustreapi_initialized;
char *mntdir, char *fsname);
extern int llapi_search_fsname(const char *pathname, char *fsname);
extern int llapi_getname(const char *path, char *buf, size_t size);
+extern int llapi_search_fileset(const char *pathname, char *fileset);
extern int llapi_search_rootpath(char *pathname, const char *fsname);
extern int llapi_nodemap_exists(const char *name);
extern int llapi_open_by_fid(const char *dir, const lustre_fid *fid,
int open_flags);
-extern int llapi_get_version(char *buffer, int buffer_size, char **version);
+extern int llapi_get_version_string(char *version, unsigned int version_size);
+/* llapi_get_version() is deprecated, use llapi_get_version_string() instead */
+extern int llapi_get_version(char *buffer, int buffer_size, char **version)
+ __attribute__((deprecated));
extern int llapi_get_data_version(int fd, __u64 *data_version, __u64 flags);
extern int llapi_hsm_state_get_fd(int fd, struct hsm_user_state *hus);
extern int llapi_hsm_state_get(const char *path, struct hsm_user_state *hus);
/* Ladvise */
int llapi_ladvise(int fd, unsigned long long flags, int num_advise,
- struct lu_ladvise *ladvise);
+ struct llapi_lu_ladvise *ladvise);
/** @} llapi */
/* llapi_layout user interface */
#define LLAPI_LAYOUT_RAID0 0
/**
+* The layout includes a specific set of OSTs on which to allocate.
+*/
+#define LLAPI_LAYOUT_SPECIFIC 0x2000000000000000ULL
+
+/**
+ * A valid ost index should be less than maximum valid OST index (UINT_MAX).
+ */
+#define LLAPI_LAYOUT_IDX_MAX 0x00000000FFFFFFFFULL
+
+/**
* Flags to modify how layouts are retrieved.
*/
/******************** Stripe Count ********************/