mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
xfs: disable sparse inode chunk alignment check when there is no alignment
While testing a 64k-blocksize filesystem, I noticed that xfs/709 fails
to rebuild the inode btree with a bunch of "Corruption remains"
messages. It turns out that when the inode chunk size is smaller than a
single filesystem block, no block alignments constraints are necessary
for inode chunk allocations, and sb_spino_align is zero. Hence we can
skip the check.
Fixes: dbfbf3bdf6
("xfs: repair inode btrees")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
parent
57b98393b8
commit
1149314a16
@ -369,7 +369,7 @@ xrep_ibt_check_inode_ext(
|
||||
* On a sparse inode fs, this cluster could be part of a sparse chunk.
|
||||
* Sparse clusters must be aligned to sparse chunk alignment.
|
||||
*/
|
||||
if (xfs_has_sparseinodes(mp) &&
|
||||
if (xfs_has_sparseinodes(mp) && mp->m_sb.sb_spino_align &&
|
||||
(!IS_ALIGNED(agbno, mp->m_sb.sb_spino_align) ||
|
||||
!IS_ALIGNED(agbno + len, mp->m_sb.sb_spino_align)))
|
||||
return -EFSCORRUPTED;
|
||||
|
Loading…
Reference in New Issue
Block a user