#define LLAPI_MSG_MASK 0x00000007
#define LLAPI_MSG_NO_ERRNO 0x00000010
+static inline const char *llapi_msg_level2str(enum llapi_message_level level)
+{
+ static const char *levels[LLAPI_MSG_MAX] = {"OFF", "FATAL", "ERROR",
+ "WARNING", "NORMAL",
+ "INFO", "DEBUG"};
+
+ if (level >= LLAPI_MSG_MAX)
+ return NULL;
+
+ return levels[level];
+}
extern void llapi_msg_set_level(int level);
extern llapi_log_callback_t llapi_error_callback_set(llapi_log_callback_t cb);
extern llapi_log_callback_t llapi_info_callback_set(llapi_log_callback_t cb);
VERBOSE_LAYOUT)
struct find_param {
- unsigned int maxdepth;
- time_t atime;
- time_t mtime;
- time_t ctime;
- /* cannot be bitfields due to using pointers to */
- int asign;
- /* access them during argument parsing. */
- int csign;
- int msign;
- int type;
+ unsigned int fp_max_depth;
+ dev_t fp_dev;
+ mode_t fp_type; /* S_IFIFO,... */
+ uid_t fp_uid;
+ gid_t fp_gid;
+ time_t fp_atime;
+ time_t fp_mtime;
+ time_t fp_ctime;
+ /* {a,m,c}sign cannot be bitfields due to using pointers to
+ * access them during argument parsing. */
+ int fp_asign;
+ int fp_msign;
+ int fp_csign;
/* these need to be signed values */
int size_sign:2,
stripesize_sign:2,
stripecount_sign:2;
unsigned long long size;
unsigned long long size_units;
- uid_t uid;
- gid_t gid;
unsigned long zeroend:1,
recursive:1,
exclude_pattern:1,
- exclude_type:1,
+ fp_exclude_type:1,
exclude_obd:1,
exclude_mdt:1,
- exclude_gid:1,
- exclude_uid:1,
- check_gid:1, /* group ID */
- check_uid:1, /* user ID */
+ fp_exclude_gid:1,
+ fp_exclude_uid:1,
+ fp_check_gid:1,
+ fp_check_uid:1,
check_pool:1, /* LOV pool name */
check_size:1, /* file size */
exclude_pool:1,
exclude_size:1,
- exclude_atime:1,
- exclude_mtime:1,
- exclude_ctime:1,
+ fp_exclude_atime:1,
+ fp_exclude_mtime:1,
+ fp_exclude_ctime:1,
get_lmv:1, /* get MDT list from LMV */
raw:1, /* do not fill in defaults */
check_stripesize:1, /* LOV stripe size */
/* regular expression */
char *pattern;
- char *print_fmt;
-
struct obd_uuid *obduuid;
int num_obds;
int num_alloc_obds;
unsigned long got_uuids:1,
obds_printed:1,
have_fileinfo:1; /* file attrs and LOV xattr */
- unsigned int depth;
- dev_t st_dev;
- __u64 padding1;
- __u64 padding2;
- __u64 padding3;
- __u64 padding4;
+ unsigned int fp_depth;
};
extern int llapi_ostlist(char *path, struct find_param *param);
extern int llapi_search_fsname(const char *pathname, char *fsname);
extern int llapi_getname(const char *path, char *buf, size_t size);
-extern void llapi_ping_target(char *obd_type, char *obd_name,
- char *obd_uuid, void *args);
-
extern int llapi_search_rootpath(char *pathname, const char *fsname);
extern int llapi_nodemap_exists(const char *name);
extern int llapi_mv(char *path, struct find_param *param);
int pathlen, long long *recno, int *linkno);
extern int llapi_path2fid(const char *path, lustre_fid *fid);
extern int llapi_fd2fid(const int fd, lustre_fid *fid);
+extern int llapi_chomp_string(char *buf);
extern int llapi_get_version(char *buffer, int buffer_size, char **version);
extern int llapi_get_data_version(int fd, __u64 *data_version, __u64 flags);
__u32 archive_id);
extern int llapi_hsm_state_set(const char *path, __u64 setmask, __u64 clearmask,
__u32 archive_id);
+extern int llapi_hsm_register_event_fifo(char *path);
+extern int llapi_hsm_unregister_event_fifo(char *path);
+extern void llapi_hsm_log_error(enum llapi_message_level level, int _rc,
+ const char *fmt, va_list args);
+extern int llapi_get_agent_uuid(char *path, char *buf, size_t bufsize);
extern int llapi_create_volatile_idx(char *directory, int idx, int mode);
static inline int llapi_create_volatile(char *directory, int mode)
{
struct hsm_copyaction_private;
extern int llapi_hsm_copytool_register(struct hsm_copytool_private **priv,
- const char *mnt, int flags,
- int archive_count, int *archives);
+ const char *mnt, int archive_count,
+ int *archives, int rfd_flags);
extern int llapi_hsm_copytool_unregister(struct hsm_copytool_private **priv);
+extern int llapi_hsm_copytool_get_fd(struct hsm_copytool_private *ct);
extern int llapi_hsm_copytool_recv(struct hsm_copytool_private *priv,
struct hsm_action_list **hal, int *msgsize);
-extern void llapi_hsm_action_list_free(struct hsm_action_list **hal);
extern int llapi_hsm_action_begin(struct hsm_copyaction_private **phcp,
const struct hsm_copytool_private *ct,
const struct hsm_action_item *hai,
const struct hsm_extent *he,
int hp_flags, int errval);
extern int llapi_hsm_action_progress(struct hsm_copyaction_private *hcp,
- const struct hsm_extent *he, int hp_flags);
+ const struct hsm_extent *he, __u64 total,
+ int hp_flags);
extern int llapi_hsm_action_get_dfid(const struct hsm_copyaction_private *hcp,
lustre_fid *fid);
extern int llapi_hsm_action_get_fd(const struct hsm_copyaction_private *hcp);
const struct hsm_user_request *request);
extern int llapi_hsm_current_action(const char *path,
struct hsm_current_action *hca);
+
+/* JSON handling */
+extern int llapi_json_init_list(struct llapi_json_item_list **item_list);
+extern int llapi_json_destroy_list(struct llapi_json_item_list **item_list);
+extern int llapi_json_add_item(struct llapi_json_item_list **item_list,
+ char *key, __u32 type, void *val);
+extern int llapi_json_write_list(struct llapi_json_item_list **item_list,
+ FILE *fp);
/** @} llapi */
#endif