On Tue, 2011-01-25 at 19:50 +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
>
> The extent size hint can be set to larger than an AG. This means
> that the alignment process can push the range to be allocated
> outside the bounds of the AG, resulting in assert failures or
> corrupted bmbt records. Similarly, if the extsize is larger than the
> maximum extent size supported, the alignment process will produce
> extents that are too large to fit into the bmbt records, resulting
> in a different type of assert/corruption failure.
>
> Fix this by limiting extsize at the time іt is set firstly to be
> less than MAXEXTLEN, then to be a maximum of half the size of the
> AGs in the filesystem for non-realtime inodes. Realtime inodes do
> not allocate out of AGs, so don't have to be restricted by the size
> of AGs.
Looks good.
Reviewed-by: Alex Elder <aelder@xxxxxxx>
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
|