ioctl_getfsmap(2) System Calls Manual ioctl_getfsmap(2) ioctl_getfsmap - LIBRARY Standard C library (libc, -lc) #include /* Definition of FS_IOC_GETFSMAP, FM?_OF_*, and *FMR_OWN_* constants */ #include int ioctl(int fd, FS_IOC_GETFSMAP, struct fsmap_head * arg); ioctl(2) . , , . struct fsmap_head: struct fsmap { __u32 fmr_device; /* Device ID */ __u32 fmr_flags; /* Mapping flags */ __u64 fmr_physical; /* Device offset of segment */ __u64 fmr_owner; /* Owner ID */ __u64 fmr_offset; /* File offset of segment */ __u64 fmr_length; /* Length of segment */ __u64 fmr_reserved[3]; /* Must be zero */ }; struct fsmap_head { __u32 fmh_iflags; /* Control flags */ __u32 fmh_oflags; /* Output flags */ __u32 fmh_count; /* # of entries in array incl. input */ __u32 fmh_entries; /* # of entries filled in (output) */ __u64 fmh_reserved[6]; /* Must be zero */ struct fsmap fmh_keys[2]; /* Low and high keys for the mapping search */ struct fsmap fmh_recs[]; /* Returned records */ }; fmh_keys , . (, , , ). , . fmh_recs, . struct fsmap_head fmh_iflags , . , . fmh_oflags , . FMH_OF_DEV_T, fmr_device dev_t, . fmh_count , . , fmh_entries , , ; . fmh_entries fmh_recs, . fmh_reserved . fsmap_head.fmh_keys , . , , , (, _, , , ) . (, _, ). , (8:0, 36864, 0, 0, 0), , 36 . (8:0, 1048576, 0, 0, 0), 1 . fmr_device ( ). fsmap_head.fmh_keys[0] , fsmap_head.fmh_keys[1] . , fmr_length , , , fmr_block fmr_offset. fsmap_head.fmh_recs[fsmap_head.fmh_entries - 1] . fsmap_advance ( linux/fsmap.h). struct fsmap fmr_device . fmh_oflags FMH_OF_DEV_T, dev_t, . , , . fmr_physical . fmr_owner (extent). , fmr_flags FMR_OF_SPECIAL_OWNER, . . fmr_offset ( ) . , fmr_flags FMR_OF_SPECIAL_OWNER FMR_OF_EXTENT_MAP. fmr_length . fmr_flags . : FMR_OF_PREALLOC , . FMR_OF_ATTR_FORK . FMR_OF_EXTENT_MAP . FMR_OF_SHARED . FMR_OF_SPECIAL_OWNER fmr_owner , . FMR_OF_LAST . fmr_reserved . , fmr_owner . ; FMR_OWN_UNKNOWN, : , , . , CAP_SYS_ADMIN. : FMR_OWN_FREE . FMR_OWN_UNKNOWN , . FMR_OWN_METADATA . XFS : XFS_FMR_OWN_FREE . XFS_FMR_OWN_UNKNOWN , . XFS_FMR_OWN_FS , . : AG, AGF, AGFL AGI. XFS_FMR_OWN_LOG . XFS_FMR_OWN_AG , B- B- . XFS_FMR_OWN_INOBT B- . XFS_FMR_OWN_INODES . XFS_FMR_OWN_REFC . XFS_FMR_OWN_COW . XFS_FMR_OWN_DEFECTIVE: . ext4 : EXT4_FMR_OWN_FREE . EXT4_FMR_OWN_UNKNOWN , . EXT4_FMR_OWN_FS , . . EXT4_FMR_OWN_LOG . EXT4_FMR_OWN_INODES . EXT4_FMR_OWN_BLKBM . EXT4_FMR_OWN_INOBM . -1, errno . errno ( ): EBADF fd . EBADMSG . EFAULT . EINVAL , , , . ENOMEM . EOPNOTSUPP . EUCLEAN . Linux. Not all filesystems support it. Linux 4.12. io/fsmap.c xfsprogs. . ioctl(2) Azamat Hackimov , Dmitriy S. Seregin , Yuri Kozlov ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . ioctl_getfsmap(2)