lkml.org 
[lkml]   [2024]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 10/21] xfs: Update xfs_is_falloc_aligned() mask for forcealign
From
On 01/05/2024 00:35, Dave Chinner wrote:
>> return !((pos | len) & mask);
> I think this whole function needs to be rewritten so that
> non-power-of-2 extent sizes are supported on both devices properly.
>
> xfs_extlen_t fsbs = 1;
> u64 bytes;
> u32 mod;
>
> if (xfs_inode_has_forcealign(ip))
> fsbs = ip->i_extsize;
> else if (XFS_IS_REALTIME_INODE(ip))
> fsbs = mp->m_sb.sb_rextsize;
>
> bytes = XFS_FSB_TO_B(mp, fsbs);
> if (is_power_of_2(fsbs))
> return !((pos | len) & (bytes - 1));
>
> div_u64_rem(pos, bytes, &mod);
> if (mod)
> return false;
> div_u64_rem(len, bytes, &mod);
> return mod == 0;

ok, but I still have a doubt about non-power-of-2 forcealign extsize
support.

Thanks,
John

\
 
 \ /
  Last update: 2024-05-27 18:11    [W:0.052 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site