diff options
-rw-r--r-- | fs/xfs/libxfs/xfs_sb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c index 8426e5e2682e..5f902fa7913f 100644 --- a/fs/xfs/libxfs/xfs_sb.c +++ b/fs/xfs/libxfs/xfs_sb.c | |||
@@ -445,6 +445,8 @@ __xfs_sb_from_disk( | |||
445 | to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat); | 445 | to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat); |
446 | to->sb_features_log_incompat = | 446 | to->sb_features_log_incompat = |
447 | be32_to_cpu(from->sb_features_log_incompat); | 447 | be32_to_cpu(from->sb_features_log_incompat); |
448 | /* crc is only used on disk, not in memory; just init to 0 here. */ | ||
449 | to->sb_crc = 0; | ||
448 | to->sb_pad = 0; | 450 | to->sb_pad = 0; |
449 | to->sb_pquotino = be64_to_cpu(from->sb_pquotino); | 451 | to->sb_pquotino = be64_to_cpu(from->sb_pquotino); |
450 | to->sb_lsn = be64_to_cpu(from->sb_lsn); | 452 | to->sb_lsn = be64_to_cpu(from->sb_lsn); |
@@ -550,6 +552,9 @@ xfs_sb_to_disk( | |||
550 | if (!fields) | 552 | if (!fields) |
551 | return; | 553 | return; |
552 | 554 | ||
555 | /* We should never write the crc here, it's updated in the IO path */ | ||
556 | fields &= ~XFS_SB_CRC; | ||
557 | |||
553 | xfs_sb_quota_to_disk(to, from, &fields); | 558 | xfs_sb_quota_to_disk(to, from, &fields); |
554 | while (fields) { | 559 | while (fields) { |
555 | f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields); | 560 | f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields); |