On Thu, Sep 21, 2017 at 07:04:21AM -0700, Christoph Hellwig wrote: > On Tue, Sep 19, 2017 at 11:10:41AM -0700, Darrick J. Wong wrote: > > We call __xfs_ag_resv_init to make a per-AG reservation for each AG. > > This makes the reservation per-AG, not per-filesystem. Therefore, it > > is incorrect to adjust m_ag_max_usable for each AG. Adjust it only > > when we're reserving AG 0's blocks so that we only do it once per fs. > > This looks correct to me, but I hate how we manipulate a per-mount > value. Is there a way we can just move this to the caller? I'm not sure which caller you're referring to -- if you mean xfs_ag_resv_init, then we'd still have the "if (pag->agno == 0) xfs_mod_fdblocks(...)"; and if xfs_fs_reserve_ag_blocks then you'd have to bubble the two ask values up out of xfs_ag_resv_init, which also seems like a layering violation. Modifying fdblocks in __xfs_ag_resv_init (Dave I think is sharpening his axe on that) smells kinda funny but it's less code intensive. <confused> --D > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html