Commit | Line | Data |
---|---|---|
0b61f8a4 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
e89c0413 DW |
2 | /* |
3 | * Copyright (C) 2017 Oracle. All Rights Reserved. | |
e89c0413 | 4 | * Author: Darrick J. Wong <darrick.wong@oracle.com> |
e89c0413 DW |
5 | */ |
6 | #ifndef __XFS_FSMAP_H__ | |
7 | #define __XFS_FSMAP_H__ | |
8 | ||
9 | struct fsmap; | |
10 | ||
11 | /* internal fsmap representation */ | |
12 | struct xfs_fsmap { | |
13 | dev_t fmr_device; /* device id */ | |
14 | uint32_t fmr_flags; /* mapping flags */ | |
15 | uint64_t fmr_physical; /* device offset of segment */ | |
16 | uint64_t fmr_owner; /* owner id */ | |
17 | xfs_fileoff_t fmr_offset; /* file offset of segment */ | |
18 | xfs_filblks_t fmr_length; /* length of segment, blocks */ | |
19 | }; | |
20 | ||
21 | struct xfs_fsmap_head { | |
22 | uint32_t fmh_iflags; /* control flags */ | |
23 | uint32_t fmh_oflags; /* output flags */ | |
24 | unsigned int fmh_count; /* # of entries in array incl. input */ | |
25 | unsigned int fmh_entries; /* # of entries filled in (output). */ | |
26 | ||
27 | struct xfs_fsmap fmh_keys[2]; /* low and high keys */ | |
28 | }; | |
29 | ||
e89c0413 DW |
30 | void xfs_fsmap_to_internal(struct xfs_fsmap *dest, struct fsmap *src); |
31 | ||
e89c0413 | 32 | int xfs_getfsmap(struct xfs_mount *mp, struct xfs_fsmap_head *head, |
8ffa90e1 | 33 | struct fsmap *out_recs); |
e89c0413 DW |
34 | |
35 | #endif /* __XFS_FSMAP_H__ */ |