|
@@ -445,6 +445,8 @@ __xfs_sb_from_disk(
|
|
to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat);
|
|
to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat);
|
|
to->sb_features_log_incompat =
|
|
to->sb_features_log_incompat =
|
|
be32_to_cpu(from->sb_features_log_incompat);
|
|
be32_to_cpu(from->sb_features_log_incompat);
|
|
|
|
+ /* crc is only used on disk, not in memory; just init to 0 here. */
|
|
|
|
+ to->sb_crc = 0;
|
|
to->sb_pad = 0;
|
|
to->sb_pad = 0;
|
|
to->sb_pquotino = be64_to_cpu(from->sb_pquotino);
|
|
to->sb_pquotino = be64_to_cpu(from->sb_pquotino);
|
|
to->sb_lsn = be64_to_cpu(from->sb_lsn);
|
|
to->sb_lsn = be64_to_cpu(from->sb_lsn);
|
|
@@ -550,6 +552,9 @@ xfs_sb_to_disk(
|
|
if (!fields)
|
|
if (!fields)
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ /* We should never write the crc here, it's updated in the IO path */
|
|
|
|
+ fields &= ~XFS_SB_CRC;
|
|
|
|
+
|
|
xfs_sb_quota_to_disk(to, from, &fields);
|
|
xfs_sb_quota_to_disk(to, from, &fields);
|
|
while (fields) {
|
|
while (fields) {
|
|
f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields);
|
|
f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields);
|