On Mon, Jan 20, 2014 at 09:29:00AM -0500, Brian Foster wrote: > The dquot allocation path in xfs_qm_dqread() currently uses the > attribute set log reservation, which appears to be incorrect. We > have reports of transaction reservation overruns with the current > code. E.g., a repeated run of xfstests test generic/270 on a 512b > block size fs occassionally produces the following in dmesg: > > XFS (sdN): xlog_write: reservation summary: > trans type = QM_DQALLOC (30) > unit res = 7080 bytes > current res = -632 bytes > total reg = 0 bytes (o/flow = 0 bytes) > ophdrs = 0 (ophdr space = 0 bytes) > ophdr + reg = 0 bytes > num regions = 0 > > XFS (sdN): xlog_write: reservation ran out. Need to up reservation > > The dquot allocation case should consist of a write reservation > (i.e., we are allocating a range of the internal quota file) plus > the size of the actual dquots. We already have a log reservation > definition for this operation (tr_qm_dqalloc). Use it in > xfs_qm_dqread() and update the log reservation calculation function > to use the write res. calculation function rather than reading the > assumed to be pre-calculated value directly. > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Looks good to me as well. Reviewed-by: Ben Myers <bpm@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs