1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_FIEMAP_H
3#define _LINUX_FIEMAP_H 1
4
5#include <uapi/linux/fiemap.h>
6#include <linux/fs.h>
7
8/**
9 * struct fiemap_extent_info - fiemap request to a filesystem
10 * @fi_flags: Flags as passed from user
11 * @fi_extents_mapped: Number of mapped extents
12 * @fi_extents_max: Size of fiemap_extent array
13 * @fi_extents_start: Start of fiemap_extent array
14 */
15struct fiemap_extent_info {
16 unsigned int fi_flags;
17 unsigned int fi_extents_mapped;
18 unsigned int fi_extents_max;
19 struct fiemap_extent __user *fi_extents_start;
20};
21
22int fiemap_prep(struct inode *inode, struct fiemap_extent_info *fieinfo,
23 u64 start, u64 *len, u32 supported_flags);
24int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical,
25 u64 phys, u64 len, u32 flags);
26
27#endif /* _LINUX_FIEMAP_H 1 */
28