/* * LGPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * (C) Copyright 2012 Commissariat a l'energie atomique et aux energies * alternatives * * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser General Public License * (LGPL) version 2.1 or (at your discretion) any later version. * (LGPL) version 2.1 accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-2.1.html * * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * LGPL HEADER END */ /* * * lustre/utils/lustreapi_internal.h * */ /* * * Author: Aurelien Degremont * Author: JC Lafoucriere * Author: Thomas Leibovici */ #ifndef _LUSTREAPI_INTERNAL_H_ #define _LUSTREAPI_INTERNAL_H_ #define WANT_PATH 0x1 #define WANT_FSNAME 0x2 #define WANT_FD 0x4 #define WANT_INDEX 0x8 #define WANT_ERROR 0x10 int get_root_path(int want, char *fsname, int *outfd, char *path, int index); int root_ioctl(const char *mdtname, int opc, void *data, int *mdtidxp, int want_error); int get_param(const char *param_path, char *result, unsigned int result_size); #define LLAPI_LAYOUT_MAGIC 0x11AD1107 /* LLAPILOT */ /* Helper functions for testing validity of stripe attributes. */ static inline bool llapi_stripe_size_is_aligned(uint64_t size) { return (size & (LOV_MIN_STRIPE_SIZE - 1)) == 0; } static inline bool llapi_stripe_size_is_too_big(uint64_t size) { return size >= (1ULL << 32); } static inline bool llapi_stripe_count_is_valid(int64_t count) { return count >= -1 && count <= LOV_MAX_STRIPE_COUNT; } static inline bool llapi_stripe_index_is_valid(int64_t index) { return index >= -1 && index <= LOV_V1_INSANE_STRIPE_COUNT; } /* Compatibility macro for legacy llapi functions that use "offset" * terminology instead of the preferred "index". */ #define llapi_stripe_offset_is_valid(os) llapi_stripe_index_is_valid(os) #endif /* _LUSTREAPI_INTERNAL_H_ */