Skip to content
  • Jan Kara's avatar
    xfs: Fix rounding in xfs_alloc_fix_len() · 30265117
    Jan Kara authored
    
    
    Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the
    result should be a number of a form (k*prod+mod) however due to sign
    mistake the result is different. As a result allocations on raid arrays
    could be misaligned in some cases.
    
    This also seems to fix occasional assertion failure:
    	XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0)
    in xfs_alloc_ag_vextent_size().
    
    Also add an assertion that the result of xfs_alloc_fix_len() is of
    expected form.
    
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
    30265117