+ /* Checks for struct lov_foreign_md */
+ LASSERTF((int)sizeof(struct lov_foreign_md) == 16, "found %lld\n",
+ (long long)(int)sizeof(struct lov_foreign_md));
+ LASSERTF((int)offsetof(struct lov_foreign_md, lfm_magic) == 0, "found %lld\n",
+ (long long)(int)offsetof(struct lov_foreign_md, lfm_magic));
+ LASSERTF((int)sizeof(((struct lov_foreign_md *)0)->lfm_magic) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_foreign_md *)0)->lfm_magic));
+ LASSERTF((int)offsetof(struct lov_foreign_md, lfm_length) == 4, "found %lld\n",
+ (long long)(int)offsetof(struct lov_foreign_md, lfm_length));
+ LASSERTF((int)sizeof(((struct lov_foreign_md *)0)->lfm_length) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_foreign_md *)0)->lfm_length));
+ LASSERTF((int)offsetof(struct lov_foreign_md, lfm_type) == 8, "found %lld\n",
+ (long long)(int)offsetof(struct lov_foreign_md, lfm_type));
+ LASSERTF((int)sizeof(((struct lov_foreign_md *)0)->lfm_type) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_foreign_md *)0)->lfm_type));
+ LASSERTF((int)offsetof(struct lov_foreign_md, lfm_flags) == 12, "found %lld\n",
+ (long long)(int)offsetof(struct lov_foreign_md, lfm_flags));
+ LASSERTF((int)sizeof(((struct lov_foreign_md *)0)->lfm_flags) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_foreign_md *)0)->lfm_flags));
+ LASSERTF((int)offsetof(struct lov_foreign_md, lfm_value[0]) == 16, "found %lld\n",
+ (long long)(int)offsetof(struct lov_foreign_md, lfm_value[0]));
+ LASSERTF((int)sizeof(((struct lov_foreign_md *)0)->lfm_value[0]) == 1, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_foreign_md *)0)->lfm_value[0]));
+ LASSERTF(LU_FOREIGN_TYPE_NONE == 0x00000000UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_NONE);
+ LASSERTF(LU_FOREIGN_TYPE_POSIX == 0x00000001UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_POSIX);
+ LASSERTF(LU_FOREIGN_TYPE_PCCRW == 0x00000002UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_PCCRW);
+ LASSERTF(LU_FOREIGN_TYPE_PCCRO == 0x00000003UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_PCCRO);
+ LASSERTF(LU_FOREIGN_TYPE_S3 == 0x00000004UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_S3);
+ LASSERTF(LU_FOREIGN_TYPE_SYMLINK == 0x0000da05UL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_SYMLINK);
+ LASSERTF(LU_FOREIGN_TYPE_UNKNOWN == 0xffffffffUL, "found 0x%.8xUL\n",
+ (unsigned)LU_FOREIGN_TYPE_UNKNOWN);
+ BUILD_BUG_ON(LOV_MAGIC_FOREIGN != (0x0BD70000 | 0x0BD0));
+ LASSERTF(LOV_PATTERN_FOREIGN == 0x00000400UL, "found 0x%.8xUL\n",
+ (unsigned)LOV_PATTERN_FOREIGN);
+
+ /* Checks for struct lov_hsm_base */
+ LASSERTF((int)sizeof(struct lov_hsm_base) == 56, "found %lld\n",
+ (long long)(int)sizeof(struct lov_hsm_base));
+ LASSERTF((int)offsetof(struct lov_hsm_base, lhb_archive_id) == 0, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_base, lhb_archive_id));
+ LASSERTF((int)sizeof(((struct lov_hsm_base *)0)->lhb_archive_id) == 8, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_base *)0)->lhb_archive_id));
+ LASSERTF((int)offsetof(struct lov_hsm_base, lhb_archive_ver) == 8, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_base, lhb_archive_ver));
+ LASSERTF((int)sizeof(((struct lov_hsm_base *)0)->lhb_archive_ver) == 8, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_base *)0)->lhb_archive_ver));
+ LASSERTF((int)offsetof(struct lov_hsm_base, lhb_uuid[0]) == 16, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_base, lhb_uuid[0]));
+ LASSERTF((int)sizeof(((struct lov_hsm_base *)0)->lhb_uuid[0]) == 1, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_base *)0)->lhb_uuid[0]));
+
+ /* Checks for struct lov_hsm_md */
+ LASSERTF((int)sizeof(struct lov_hsm_md) == 72, "found %lld\n",
+ (long long)(int)sizeof(struct lov_hsm_md));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_magic) == 0, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_magic));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_magic) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_magic));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_length) == 4, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_length));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_length) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_length));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_type) == 8, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_type));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_type) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_type));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_flags) == 12, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_flags));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_flags) == 4, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_flags));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_archive_id) == 16, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_archive_id));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_archive_id) == 8, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_archive_id));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_archive_ver) == 24, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_archive_ver));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_archive_ver) == 8, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_archive_ver));
+ LASSERTF((int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_uuid[0]) == 32, "found %lld\n",
+ (long long)(int)offsetof(struct lov_hsm_md, lhm_hsm.lhb_uuid[0]));
+ LASSERTF((int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_uuid[0]) == 1, "found %lld\n",
+ (long long)(int)sizeof(((struct lov_hsm_md *)0)->lhm_hsm.lhb_uuid[0]));
+