X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre%2Fliblustreapi.h;h=2c035b219aeb7c3b7e2e78dabdf6b376af62160c;hb=b8a0753a3bd2953ef6c24ddd18d15786808c2066;hp=85b84ec79e04a18a7ef50fd3541a419b0290c18b;hpb=d33fff49a1d5a6c0833697476c8493e01beffd86;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre/liblustreapi.h b/lustre/include/lustre/liblustreapi.h index 85b84ec7..2c035b2 100644 --- a/lustre/include/lustre/liblustreapi.h +++ b/lustre/include/lustre/liblustreapi.h @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -37,6 +37,11 @@ #ifndef _LIBLUSTREAPI_H_ #define _LIBLUSTREAPI_H_ +/** \defgroup llapi llapi + * + * @{ + */ + #include /* Initially allocate for these many OSTs, realloc if needed */ @@ -95,8 +100,9 @@ extern int llapi_file_lookup(int dirfd, const char *name); #define VERBOSE_OFFSET 0x4 #define VERBOSE_POOL 0x8 #define VERBOSE_DETAIL 0x10 +#define VERBOSE_OBJID 0x20 #define VERBOSE_ALL (VERBOSE_COUNT | VERBOSE_SIZE | VERBOSE_OFFSET | \ - VERBOSE_POOL) + VERBOSE_POOL | VERBOSE_OBJID) struct find_param { unsigned int maxdepth; @@ -119,13 +125,15 @@ struct find_param { obds_printed:1, exclude_pattern:1, exclude_type:1, + exclude_obd:1, have_fileinfo:1, exclude_gid:1, exclude_uid:1, check_gid:1, check_uid:1, check_pool:1, - exclude_pool:1; + exclude_pool:1, + get_mdt_index:1; int verbose; int quiet; @@ -151,9 +159,12 @@ struct find_param { char poolname[LOV_MAXPOOLNAME + 1]; }; +extern int llapi_ostlist(char *path, struct find_param *param); +extern int llapi_uuid_match(char *real_uuid, char *search_uuid); extern int llapi_getstripe(char *path, struct find_param *param); extern int llapi_find(char *path, struct find_param *param); +extern int llapi_file_fget_mdtidx(int fd, int *mdtidx); extern int llapi_obd_statfs(char *path, __u32 type, __u32 index, struct obd_statfs *stat_buf, struct obd_uuid *uuid_buf); @@ -164,6 +175,7 @@ extern int llapi_file_get_lov_uuid(const char *path, struct obd_uuid *lov_uuid); extern int llapi_file_fget_lov_uuid(int fd, struct obd_uuid *lov_uuid); extern int llapi_lov_get_uuids(int fd, struct obd_uuid *uuidp, int *ost_count); extern int llapi_is_lustre_mnttype(const char *type); +extern int llapi_search_ost(char *fsname, char *poolname, char *ostname); extern int llapi_get_obd_count(char *mnt, int *count, int is_mdt); extern int parse_size(char *optarg, unsigned long long *size, unsigned long long *size_units, int bytes_spec); @@ -182,6 +194,7 @@ extern int llapi_quotacheck(char *mnt, int check_type); extern int llapi_poll_quotacheck(char *mnt, struct if_quotacheck *qchk); extern int llapi_quotactl(char *mnt, struct if_quotactl *qctl); extern int llapi_target_iterate(int type_num, char **obd_type, void *args, llapi_cb_t cb); +extern int llapi_get_connect_flags(const char *mnt, __u64 *flags); extern int llapi_lsetfacl(int argc, char *argv[]); extern int llapi_lgetfacl(int argc, char *argv[]); extern int llapi_rsetfacl(int argc, char *argv[]); @@ -191,10 +204,15 @@ extern int llapi_ls(int argc, char *argv[]); extern int llapi_fid2path(const char *device, const char *fidstr, char *path, int pathlen, long long *recno, int *linkno); extern int llapi_path2fid(const char *path, lustre_fid *fid); +extern int llapi_get_version(char *buffer, int buffer_size, char **version); /* Changelog interface. priv is private state, managed internally by these functions */ -#define CHANGELOG_FLAG_FOLLOW 0x01 +#define CHANGELOG_FLAG_FOLLOW 0x01 /* Not yet implemented */ +#define CHANGELOG_FLAG_BLOCK 0x02 /* Blocking IO makes sense in case of + slow user parsing of the records, but it also prevents us from cleaning + up if the records are not consumed. */ + extern int llapi_changelog_start(void **priv, int flags, const char *mdtname, long long startrec); extern int llapi_changelog_fini(void **priv); @@ -206,13 +224,15 @@ extern int llapi_changelog_clear(const char *mdtname, const char *idstr, /* HSM copytool interface. priv is private state, managed internally by these functions */ -extern int llapi_copytool_start(void **priv, int flags, int archive_num_count, - int *archive_nums); +extern int llapi_copytool_start(void **priv, char *fsname, int flags, + int archive_count, int *archives); extern int llapi_copytool_fini(void **priv); extern int llapi_copytool_recv(void *priv, struct hsm_action_list **hal, int *msgsize); extern int llapi_copytool_free(struct hsm_action_list **hal); +/** @} llapi */ + #endif