Whamcloud - gitweb
LU-6135 lustreapi: allow specific-OST with llapi_layout
[fs/lustre-release.git] / lustre / include / lustre / lustreapi.h
index 9fcccfe..d94dd03 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2014, Intel Corporation.
+ * Copyright (c) 2011, 2015, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -264,15 +264,16 @@ extern int llapi_search_mounts(const char *pathname, int index,
                                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_migrate_mdt(char *path, struct find_param *param);
 extern int llapi_mv(char *path, struct find_param *param);
 
 struct mntent;
 #define HAVE_LLAPI_IS_LUSTRE_MNT
 extern int llapi_is_lustre_mnt(struct mntent *mnt);
-extern int llapi_quotachown(char *path, int flag);
 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);
@@ -300,7 +301,10 @@ extern int llapi_chomp_string(char *buf);
 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);
@@ -321,8 +325,10 @@ static inline int llapi_create_volatile(char *directory, int mode)
 }
 
 
-extern int llapi_fswap_layouts(const int fd1, const int fd2,
-                              __u64 dv1, __u64 dv2, __u64 flags);
+extern int llapi_fswap_layouts_grouplock(int fd1, int fd2, __u64 dv1, __u64 dv2,
+                                        int gid, __u64 flags);
+extern int llapi_fswap_layouts(int fd1, int fd2, __u64 dv1, __u64 dv2,
+                              __u64 flags);
 extern int llapi_swap_layouts(const char *path1, const char *path2,
                              __u64 dv1, __u64 dv2, __u64 flags);
 
@@ -400,6 +406,9 @@ extern int llapi_lease_put(int fd);
 int llapi_group_lock(int fd, int gid);
 int llapi_group_unlock(int fd, int gid);
 
+/* Ladvise */
+int llapi_ladvise(int fd, unsigned long long flags, int num_advise,
+                 struct lu_ladvise *ladvise);
 /** @} llapi */
 
 /* llapi_layout user interface */
@@ -480,6 +489,16 @@ void llapi_layout_free(struct llapi_layout *layout);
 #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 ********************/