On Thu, Dec 14, 2023 at 11:07:08PM +0800, Jian Wen wrote: > } else if (ret == -ENOSPC && !cleared_space) { > struct xfs_icwalk icw = {0}; > + struct xfs_dquot *pdqp = ip->i_pdquot; > > cleared_space = true; > + if (XFS_IS_PQUOTA_ENFORCED(ip->i_mount) && > + pdqp && xfs_dquot_lowsp(pdqp)) { wrong identation here, broken up control statements must not be indented at the same level as the following block. Otherwise this looks reaonable to me, but I'm a little worried about the amount of ENOSPC/EDQUOT handling we're growing in xfs_file_buffered_write. Can we split all this into a helper?