xfs_ondisk.h (30e05599219f3c15bd5f24190af0e33cdb4a00e5) | xfs_ondisk.h (f93e5436f0ee5a85eaa3a86d2614d215873fb18b) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (c) 2016 Oracle. 4 * All Rights Reserved. 5 */ 6#ifndef __XFS_ONDISK_H 7#define __XFS_ONDISK_H 8 9#define XFS_CHECK_STRUCT_SIZE(structname, size) \ 10 BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \ 11 #structname ") is wrong, expected " #size) 12 13#define XFS_CHECK_OFFSET(structname, member, off) \ 14 BUILD_BUG_ON_MSG(offsetof(structname, member) != (off), \ 15 "XFS: offsetof(" #structname ", " #member ") is wrong, " \ 16 "expected " #off) 17 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (c) 2016 Oracle. 4 * All Rights Reserved. 5 */ 6#ifndef __XFS_ONDISK_H 7#define __XFS_ONDISK_H 8 9#define XFS_CHECK_STRUCT_SIZE(structname, size) \ 10 BUILD_BUG_ON_MSG(sizeof(structname) != (size), "XFS: sizeof(" \ 11 #structname ") is wrong, expected " #size) 12 13#define XFS_CHECK_OFFSET(structname, member, off) \ 14 BUILD_BUG_ON_MSG(offsetof(structname, member) != (off), \ 15 "XFS: offsetof(" #structname ", " #member ") is wrong, " \ 16 "expected " #off) 17 |
18#define XFS_CHECK_VALUE(value, expected) \ 19 BUILD_BUG_ON_MSG((value) != (expected), \ 20 "XFS: value of " #value " is wrong, expected " #expected) 21 |
|
18static inline void __init 19xfs_check_ondisk_structs(void) 20{ 21 /* ag/file structures */ 22 XFS_CHECK_STRUCT_SIZE(struct xfs_acl, 4); 23 XFS_CHECK_STRUCT_SIZE(struct xfs_acl_entry, 12); 24 XFS_CHECK_STRUCT_SIZE(struct xfs_agf, 224); 25 XFS_CHECK_STRUCT_SIZE(struct xfs_agfl, 36); --- 123 unchanged lines hidden (view full) --- 149 XFS_CHECK_OFFSET(struct xfs_dir3_data_hdr, hdr.magic, 0); 150 XFS_CHECK_OFFSET(struct xfs_dir3_free, hdr.hdr.magic, 0); 151 XFS_CHECK_OFFSET(struct xfs_attr3_leafblock, hdr.info.hdr, 0); 152 153 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat, 192); 154 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers, 24); 155 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat_req, 64); 156 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers_req, 64); | 22static inline void __init 23xfs_check_ondisk_structs(void) 24{ 25 /* ag/file structures */ 26 XFS_CHECK_STRUCT_SIZE(struct xfs_acl, 4); 27 XFS_CHECK_STRUCT_SIZE(struct xfs_acl_entry, 12); 28 XFS_CHECK_STRUCT_SIZE(struct xfs_agf, 224); 29 XFS_CHECK_STRUCT_SIZE(struct xfs_agfl, 36); --- 123 unchanged lines hidden (view full) --- 153 XFS_CHECK_OFFSET(struct xfs_dir3_data_hdr, hdr.magic, 0); 154 XFS_CHECK_OFFSET(struct xfs_dir3_free, hdr.hdr.magic, 0); 155 XFS_CHECK_OFFSET(struct xfs_attr3_leafblock, hdr.info.hdr, 0); 156 157 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat, 192); 158 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers, 24); 159 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat_req, 64); 160 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers_req, 64); |
161 162 /* 163 * Make sure the incore inode timestamp range corresponds to hand 164 * converted values based on the ondisk format specification. 165 */ 166 XFS_CHECK_VALUE(XFS_BIGTIME_TIME_MIN - XFS_BIGTIME_EPOCH_OFFSET, 167 XFS_LEGACY_TIME_MIN); 168 XFS_CHECK_VALUE(XFS_BIGTIME_TIME_MAX - XFS_BIGTIME_EPOCH_OFFSET, 169 16299260424LL); |
|
157} 158 159#endif /* __XFS_ONDISK_H */ | 170} 171 172#endif /* __XFS_ONDISK_H */ |