X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre%2Flustreapi.h;h=caaa780474cce13fc1f923f44b6ff6354a508732;hp=0e00c23df6fd1a1fef7f80c72c337237388f788a;hb=7b54fc7b1615f23a1ad9da84ba8e289de1f22d70;hpb=8c193654168181686e3b8f40ddb70f9fa7519db0 diff --git a/lustre/include/lustre/lustreapi.h b/lustre/include/lustre/lustreapi.h index 0e00c23..caaa780 100644 --- a/lustre/include/lustre/lustreapi.h +++ b/lustre/include/lustre/lustreapi.h @@ -61,6 +61,14 @@ extern "C" { #define LOV_PATTERN_DEFAULT 0xffffffff #endif +#ifndef fallthrough +# if defined(__GNUC__) && __GNUC__ >= 7 +# define fallthrough __attribute__((fallthrough)) /* fallthrough */ +# else +# define fallthrough do {} while (0) /* fallthrough */ +# endif +#endif + typedef struct statx lstatx_t; #define lustre_fid struct lu_fid @@ -148,10 +156,18 @@ struct llapi_stripe_param { #define lsp_tgts lsp_osts +enum { + LLAPI_MIGRATION_NONBLOCK = 0x0001, + LLAPI_MIGRATION_MIRROR = 0x0002, + LLAPI_MIGRATION_NONDIRECT = 0x0004, + LLAPI_MIGRATION_VERBOSE = 0x0008, +}; + __u32 llapi_pattern_to_lov(uint64_t pattern); int llapi_file_open_param(const char *name, int flags, mode_t mode, const struct llapi_stripe_param *param); +int llapi_file_is_encrypted(int fd); int llapi_file_create_foreign(const char *name, mode_t mode, __u32 type, __u32 flags, char *foreign_lov); int llapi_file_create(const char *name, unsigned long long stripe_size, @@ -376,7 +392,7 @@ struct find_param { unsigned long long fp_comp_end; unsigned long long fp_comp_end_units; unsigned long long fp_mdt_count; - unsigned fp_projid; + unsigned int fp_projid; unsigned long long fp_blocks; unsigned long long fp_blocks_units; @@ -399,6 +415,8 @@ struct find_param { int fp_bsign; unsigned int fp_hash_inflags; unsigned int fp_hash_exflags; + /* Print all information (lfs find only) */ + char *fp_format_printf_str; }; int llapi_ostlist(char *path, struct find_param *param); @@ -538,7 +556,8 @@ int llapi_swap_layouts(const char *path1, const char *path2, __u64 dv1, /* Records received are in extended format now, though most of them are still * written in disk in changelog_rec format (to save space and time), it's - * converted to extended format in the lustre api to ease changelog analysis. */ + * converted to extended format in the lustre api to ease changelog analysis. + */ #define HAVE_CHANGELOG_EXTEND_REC 1 int llapi_changelog_start(void **priv, enum changelog_send_flag flags, @@ -682,9 +701,8 @@ struct llapi_layout; int llapi_mirror_truncate(int fd, unsigned int id, off_t length); ssize_t llapi_mirror_write(int fd, unsigned int id, const void *buf, size_t count, off_t pos); -uint32_t llapi_mirror_find(struct llapi_layout *layout, - uint64_t file_start, uint64_t file_end, - uint64_t *endp); +int llapi_mirror_find(struct llapi_layout *layout, uint64_t file_start, + uint64_t file_end, uint64_t *endp); int llapi_layout_get_last_init_comp(struct llapi_layout *layout); int llapi_layout_mirror_inherit(struct llapi_layout *f_layout, struct llapi_layout *m_layout); @@ -815,8 +833,8 @@ int llapi_layout_merge(struct llapi_layout **dst_layout, #define LLAPI_LAYOUT_OVERSTRIPING 4ULL /** -* The layout includes a specific set of OSTs on which to allocate. -*/ + * The layout includes a specific set of OSTs on which to allocate. + */ #define LLAPI_LAYOUT_SPECIFIC 0x2000000000000000ULL /** @@ -981,7 +999,7 @@ int llapi_layout_pool_name_get(const struct llapi_layout *layout, * \retval -1 Invalid argument, errno set to EINVAL. */ int llapi_layout_pool_name_set(struct llapi_layout *layout, - char *pool_name); + const char *pool_name); /******************** File Creation ********************/ @@ -1043,7 +1061,7 @@ int llapi_layout_file_create(const char *path, int open_flags, int mode, int llapi_layout_flags_set(struct llapi_layout *layout, uint32_t flags); int llapi_layout_flags_get(struct llapi_layout *layout, uint32_t *flags); const char *llapi_layout_flags_string(uint32_t flags); -const __u16 llapi_layout_string_flags(char *string); +__u16 llapi_layout_string_flags(char *string); /** * llapi_layout_mirror_count_get() - Get mirror count from the header of @@ -1092,6 +1110,7 @@ static const struct comp_flag_name { { LCME_FL_OFFLINE, "offline" }, { LCME_FL_NOSYNC, "nosync" }, { LCME_FL_EXTENSION, "extension" }, + { LCME_FL_PARITY, "parity" }, }; /** @@ -1202,8 +1221,7 @@ int llapi_mirror_punch(int fd, unsigned int id, off_t start, size_t length); int llapi_heat_get(int fd, struct lu_heat *heat); int llapi_heat_set(int fd, __u64 flags); -int llapi_layout_sanity(struct llapi_layout *layout, const char *fname, - bool incomplete, bool flr); +int llapi_layout_sanity(struct llapi_layout *layout, bool incomplete, bool flr); void llapi_layout_sanity_perror(int error); int llapi_layout_dom_size(struct llapi_layout *layout, uint64_t *size);