On Thu, Feb 06, 2025 at 07:44:27AM +0100, Christoph Hellwig wrote: > There is no point in reserving more space than actually available > on the data device for the worst case scenario that is unlikely to > happen. Reserve at most 1/4th of the data device blocks, which is > still a heuristic. I wonder if this should be a bugfix for 6.14? Since one could format a filesystem with a 1T data volume and a 200T rt volume and immediately be out of space on the data volume. Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --D > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > fs/xfs/libxfs/xfs_metafile.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/xfs/libxfs/xfs_metafile.c b/fs/xfs/libxfs/xfs_metafile.c > index 88f011750add..225923e463c4 100644 > --- a/fs/xfs/libxfs/xfs_metafile.c > +++ b/fs/xfs/libxfs/xfs_metafile.c > @@ -260,6 +260,7 @@ xfs_metafile_resv_init( > struct xfs_rtgroup *rtg = NULL; > xfs_filblks_t used = 0, target = 0; > xfs_filblks_t hidden_space; > + xfs_rfsblock_t dblocks_avail = mp->m_sb.sb_dblocks / 4; > int error = 0; > > if (!xfs_has_metadir(mp)) > @@ -297,6 +298,8 @@ xfs_metafile_resv_init( > */ > if (used > target) > target = used; > + else if (target > dblocks_avail) > + target = dblocks_avail; > hidden_space = target - used; > > error = xfs_dec_fdblocks(mp, hidden_space, true); > -- > 2.45.2 > >