Whamcloud - gitweb
LU-13397 lfs: mirror extend/copy keeps sparseness
[fs/lustre-release.git] / lustre / include / lustre / lustreapi.h
index b959bf1..905fba6 100644 (file)
@@ -394,6 +394,7 @@ int llapi_dir_create_pool(const char *name, int flags, int stripe_offset,
                          int stripe_count, int stripe_pattern,
                          const char *poolname);
 int llapi_direntry_remove(char *dname);
+int llapi_unlink_foreign(char *dname);
 
 int llapi_obd_fstatfs(int fd, __u32 type, __u32 index,
                      struct obd_statfs *stat_buf, struct obd_uuid *uuid_buf);
@@ -442,6 +443,8 @@ int llapi_get_connect_flags(const char *mnt, __u64 *flags);
 int llapi_cp(int argc, char *argv[]);
 int llapi_ls(int argc, char *argv[]);
 int llapi_fid_parse(const char *fidstr, struct lu_fid *fid, char **endptr);
+int llapi_fid2path_at(int mnt_fd, const struct lu_fid *fid, char *path,
+                     int pathlen, long long *recno, int *linkno);
 int llapi_fid2path(const char *device, const char *fidstr, char *path,
                   int pathlen, long long *recno, int *linkno);
 int llapi_path2fid(const char *path, struct lu_fid *fid);
@@ -605,6 +608,9 @@ int llapi_lease_put(int fd); /* obsoleted */
 int llapi_group_lock(int fd, int gid);
 int llapi_group_unlock(int fd, int gid);
 
+bool llapi_file_is_sparse(int fd);
+off_t llapi_data_seek(int src_fd, off_t offset, size_t *length);
+
 /* Ladvise */
 int llapi_ladvise(int fd, unsigned long long flags, int num_advise,
                  struct llapi_lu_ladvise *ladvise);
@@ -1149,10 +1155,12 @@ ssize_t llapi_mirror_read(int fd, unsigned int id,
                           void *buf, size_t count, off_t pos);
 ssize_t llapi_mirror_copy_many(int fd, __u16 src, __u16 *dst, size_t count);
 int llapi_mirror_copy(int fd, unsigned int src, unsigned int dst,
-                      off_t pos, size_t count);
+                     off_t pos, size_t count);
+off_t llapi_mirror_data_seek(int fd, unsigned int id, off_t pos, size_t *size);
 
 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, bool incomplete, bool flr);
 void llapi_layout_sanity_perror(int error);
 int llapi_layout_dom_size(struct llapi_layout *layout, uint64_t *size);