Lines Matching refs:ap

147 	struct xfs_bmalloca	*ap)	/* bmap alloc argument struct */  in xfs_bmap_rtalloc()  argument
157 mp = ap->ip->i_mount; in xfs_bmap_rtalloc()
158 align = xfs_get_extsz_hint(ap->ip); in xfs_bmap_rtalloc()
160 error = xfs_bmap_extsize_align(mp, &ap->got, &ap->prev, in xfs_bmap_rtalloc()
161 align, 1, ap->eof, 0, in xfs_bmap_rtalloc()
162 ap->conv, &ap->offset, &ap->length); in xfs_bmap_rtalloc()
165 ASSERT(ap->length); in xfs_bmap_rtalloc()
166 ASSERT(ap->length % mp->m_sb.sb_rextsize == 0); in xfs_bmap_rtalloc()
172 if (do_mod(ap->offset, align) || ap->length % align) in xfs_bmap_rtalloc()
177 ralen = ap->length / mp->m_sb.sb_rextsize; in xfs_bmap_rtalloc()
192 xfs_trans_ijoin(ap->tp, mp->m_rbmip, XFS_ILOCK_EXCL); in xfs_bmap_rtalloc()
198 if (ap->eof && ap->offset == 0) { in xfs_bmap_rtalloc()
201 error = xfs_rtpick_extent(mp, ap->tp, ralen, &rtx); in xfs_bmap_rtalloc()
204 ap->blkno = rtx * mp->m_sb.sb_rextsize; in xfs_bmap_rtalloc()
206 ap->blkno = 0; in xfs_bmap_rtalloc()
209 xfs_bmap_adjacent(ap); in xfs_bmap_rtalloc()
214 atype = ap->blkno == 0 ? XFS_ALLOCTYPE_ANY_AG : XFS_ALLOCTYPE_NEAR_BNO; in xfs_bmap_rtalloc()
215 do_div(ap->blkno, mp->m_sb.sb_rextsize); in xfs_bmap_rtalloc()
216 rtb = ap->blkno; in xfs_bmap_rtalloc()
217 ap->length = ralen; in xfs_bmap_rtalloc()
218 if ((error = xfs_rtallocate_extent(ap->tp, ap->blkno, 1, ap->length, in xfs_bmap_rtalloc()
219 &ralen, atype, ap->wasdel, prod, &rtb))) in xfs_bmap_rtalloc()
222 (error = xfs_rtallocate_extent(ap->tp, ap->blkno, 1, in xfs_bmap_rtalloc()
223 ap->length, &ralen, atype, in xfs_bmap_rtalloc()
224 ap->wasdel, 1, &rtb))) in xfs_bmap_rtalloc()
226 ap->blkno = rtb; in xfs_bmap_rtalloc()
227 if (ap->blkno != NULLFSBLOCK) { in xfs_bmap_rtalloc()
228 ap->blkno *= mp->m_sb.sb_rextsize; in xfs_bmap_rtalloc()
230 ap->length = ralen; in xfs_bmap_rtalloc()
231 ap->ip->i_d.di_nblocks += ralen; in xfs_bmap_rtalloc()
232 xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE); in xfs_bmap_rtalloc()
233 if (ap->wasdel) in xfs_bmap_rtalloc()
234 ap->ip->i_delayed_blks -= ralen; in xfs_bmap_rtalloc()
239 xfs_trans_mod_dquot_byino(ap->tp, ap->ip, in xfs_bmap_rtalloc()
240 ap->wasdel ? XFS_TRANS_DQ_DELRTBCOUNT : in xfs_bmap_rtalloc()
243 ap->length = 0; in xfs_bmap_rtalloc()