On Tue, Feb 02, 2021 at 09:47:26AM -0800, Darrick J. Wong wrote: > > > + prevdq->q_blk.reserved -= ip->i_delayed_blks; > > > + xfs_dqunlock(prevdq); > > > + > > > > What's the reason for not using xfs_trans_reserve_quota_bydquots(NULL, > > ...) here like the original code? > > xfs_trans_reserve_quota_bydquots() makes the caller pass in user, group, > and project dquots. It's not difficult to add more code to declare and > route parameters, but that just felt overdone. > > Given that this is the only place in the codebase where we want to > change the incore quota reservation on a single dquot, I also didn't > think it was worth making a whole new function. > > FWIW I don't really mind doing it, it just seemed like more work. > Alternately I suppose I could expose xfs_trans_dqresv. xfs_trans_dqresv sounds way better than xfs_trans_reserve_quota_bydquots. But I'm also perfectly fine with the current open coded version. If we insist on layering my preference would be a new custom helper just for this case instead of going through much more heavyweight functions.