Commit e153aa79 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: set a default CoW extent size of 32 blocks



If the admin doesn't set a CoW extent size or a regular extent size
hint, default to creating CoW reservations 32 blocks long to reduce
fragmentation.

Signed-off-by: default avatarDarricK J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 3f165b33
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -80,7 +80,8 @@ xfs_get_extsz_hint(
/*
 * Helper function to extract CoW extent size hint from inode.
 * Between the extent size hint and the CoW extent size hint, we
 * return the greater of the two.
 * return the greater of the two.  If the value is zero (automatic),
 * use the default size.
 */
xfs_extlen_t
xfs_get_cowextsz_hint(
@@ -93,9 +94,10 @@ xfs_get_cowextsz_hint(
		a = ip->i_d.di_cowextsize;
	b = xfs_get_extsz_hint(ip);

	if (a > b)
	a = max(a, b);
	if (a == 0)
		return XFS_DEFAULT_COWEXTSZ_HINT;
	return a;
	return b;
}

/*
+3 −0
Original line number Diff line number Diff line
@@ -490,4 +490,7 @@ do { \

extern struct kmem_zone	*xfs_inode_zone;

/* The default CoW extent size hint. */
#define XFS_DEFAULT_COWEXTSZ_HINT 32

#endif	/* __XFS_INODE_H__ */