Lines Matching refs:mp

48 	xfs_mount_t	*mp,		/* file system mount structure */  in xfs_rtget_summary()  argument
56 return xfs_rtmodify_summary_int(mp, tp, log, bbno, 0, rbpp, rsb, sum); in xfs_rtget_summary()
65 xfs_mount_t *mp, /* file system mount structure */ in xfs_rtany_summary() argument
85 error = xfs_rtget_summary(mp, tp, log, bbno, rbpp, rsb, &sum); in xfs_rtany_summary()
152 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_range() argument
170 error = xfs_rtfind_back(mp, tp, start, 0, &preblock); in xfs_rtallocate_range()
177 error = xfs_rtfind_forw(mp, tp, end, mp->m_sb.sb_rextents - 1, in xfs_rtallocate_range()
186 error = xfs_rtmodify_summary(mp, tp, in xfs_rtallocate_range()
188 XFS_BITTOBLOCK(mp, preblock), -1, rbpp, rsb); in xfs_rtallocate_range()
197 error = xfs_rtmodify_summary(mp, tp, in xfs_rtallocate_range()
199 XFS_BITTOBLOCK(mp, preblock), 1, rbpp, rsb); in xfs_rtallocate_range()
209 error = xfs_rtmodify_summary(mp, tp, in xfs_rtallocate_range()
211 XFS_BITTOBLOCK(mp, end + 1), 1, rbpp, rsb); in xfs_rtallocate_range()
219 error = xfs_rtmodify_range(mp, tp, start, len, 0); in xfs_rtallocate_range()
231 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_extent_block() argument
255 for (i = XFS_BLOCKTOBIT(mp, bbno), besti = -1, bestlen = 0, in xfs_rtallocate_extent_block()
256 end = XFS_BLOCKTOBIT(mp, bbno + 1) - 1; in xfs_rtallocate_extent_block()
263 error = xfs_rtcheck_range(mp, tp, i, maxlen, 1, &next, &stat); in xfs_rtallocate_extent_block()
271 error = xfs_rtallocate_range(mp, tp, i, maxlen, rbpp, in xfs_rtallocate_extent_block()
299 error = xfs_rtfind_forw(mp, tp, next, end, &i); in xfs_rtallocate_extent_block()
320 error = xfs_rtallocate_range(mp, tp, besti, bestlen, rbpp, rsb); in xfs_rtallocate_extent_block()
344 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_extent_exact() argument
364 error = xfs_rtcheck_range(mp, tp, bno, maxlen, 1, &next, &isfree); in xfs_rtallocate_extent_exact()
372 error = xfs_rtallocate_range(mp, tp, bno, maxlen, rbpp, rsb); in xfs_rtallocate_extent_exact()
407 error = xfs_rtallocate_range(mp, tp, bno, maxlen, rbpp, rsb); in xfs_rtallocate_extent_exact()
423 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_extent_near() argument
448 if (bno >= mp->m_sb.sb_rextents) in xfs_rtallocate_extent_near()
449 bno = mp->m_sb.sb_rextents - 1; in xfs_rtallocate_extent_near()
453 error = xfs_rtallocate_extent_exact(mp, tp, bno, minlen, maxlen, len, in xfs_rtallocate_extent_near()
465 bbno = XFS_BITTOBLOCK(mp, bno); in xfs_rtallocate_extent_near()
477 error = xfs_rtany_summary(mp, tp, log2len, mp->m_rsumlevels - 1, in xfs_rtallocate_extent_near()
495 error = xfs_rtallocate_extent_block(mp, tp, in xfs_rtallocate_extent_near()
524 error = xfs_rtany_summary(mp, tp, in xfs_rtallocate_extent_near()
525 log2len, mp->m_rsumlevels - 1, in xfs_rtallocate_extent_near()
540 error = xfs_rtallocate_extent_block(mp, in xfs_rtallocate_extent_near()
562 error = xfs_rtallocate_extent_block(mp, tp, in xfs_rtallocate_extent_near()
587 else if (i > 0 && (int)bbno + i < mp->m_sb.sb_rbmblocks - 1) in xfs_rtallocate_extent_near()
593 else if (i <= 0 && (int)bbno - i < mp->m_sb.sb_rbmblocks - 1) in xfs_rtallocate_extent_near()
618 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_extent_size() argument
645 for (l = xfs_highbit32(maxlen); l < mp->m_rsumlevels; l++) { in xfs_rtallocate_extent_size()
649 for (i = 0; i < mp->m_sb.sb_rbmblocks; i++) { in xfs_rtallocate_extent_size()
653 error = xfs_rtget_summary(mp, tp, l, i, rbpp, rsb, in xfs_rtallocate_extent_size()
666 error = xfs_rtallocate_extent_block(mp, tp, i, maxlen, in xfs_rtallocate_extent_size()
683 if (XFS_BITTOBLOCK(mp, n) > i + 1) in xfs_rtallocate_extent_size()
684 i = XFS_BITTOBLOCK(mp, n) - 1; in xfs_rtallocate_extent_size()
708 for (i = 0; i < mp->m_sb.sb_rbmblocks; i++) { in xfs_rtallocate_extent_size()
712 error = xfs_rtget_summary(mp, tp, l, i, rbpp, rsb, in xfs_rtallocate_extent_size()
727 error = xfs_rtallocate_extent_block(mp, tp, i, in xfs_rtallocate_extent_size()
746 if (XFS_BITTOBLOCK(mp, n) > i + 1) in xfs_rtallocate_extent_size()
747 i = XFS_BITTOBLOCK(mp, n) - 1; in xfs_rtallocate_extent_size()
762 struct xfs_mount *mp, /* file system mount point */ in xfs_growfs_rt_alloc() argument
784 tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFSRT_ALLOC); in xfs_growfs_rt_alloc()
785 resblks = XFS_GROWFSRT_SPACE_RES(mp, nblocks - oblocks); in xfs_growfs_rt_alloc()
789 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_growrtalloc, in xfs_growfs_rt_alloc()
827 tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFSRT_ZERO); in xfs_growfs_rt_alloc()
831 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_growrtzero, in xfs_growfs_rt_alloc()
843 d = XFS_FSB_TO_DADDR(mp, fsbno); in xfs_growfs_rt_alloc()
844 bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, in xfs_growfs_rt_alloc()
845 mp->m_bsize, 0); in xfs_growfs_rt_alloc()
850 memset(bp->b_addr, 0, mp->m_sb.sb_blocksize); in xfs_growfs_rt_alloc()
851 xfs_trans_log_buf(tp, bp, 0, mp->m_sb.sb_blocksize - 1); in xfs_growfs_rt_alloc()
883 xfs_mount_t *mp, /* mount point for filesystem */ in xfs_growfs_rt() argument
903 sbp = &mp->m_sb; in xfs_growfs_rt()
909 if (mp->m_rtdev_targp == NULL || mp->m_rbmip == NULL || in xfs_growfs_rt()
918 error = xfs_buf_read_uncached(mp->m_rtdev_targp, in xfs_growfs_rt()
919 XFS_FSB_TO_BB(mp, nrblocks - 1), in xfs_growfs_rt()
920 XFS_FSB_TO_BB(mp, 1), 0, &bp, NULL); in xfs_growfs_rt()
934 nrsumblocks = XFS_B_TO_FSB(mp, nrsumsize); in xfs_growfs_rt()
935 nrsumsize = XFS_FSB_TO_B(mp, nrsumblocks); in xfs_growfs_rt()
941 if (nrsumblocks > (mp->m_sb.sb_logblocks >> 1)) in xfs_growfs_rt()
947 rbmblocks = XFS_B_TO_FSB(mp, mp->m_rbmip->i_d.di_size); in xfs_growfs_rt()
948 rsumblocks = XFS_B_TO_FSB(mp, mp->m_rsumip->i_d.di_size); in xfs_growfs_rt()
952 error = xfs_growfs_rt_alloc(mp, rbmblocks, nrbmblocks, mp->m_rbmip); in xfs_growfs_rt()
955 error = xfs_growfs_rt_alloc(mp, rsumblocks, nrsumblocks, mp->m_rsumip); in xfs_growfs_rt()
969 ((sbp->sb_rextents & ((1 << mp->m_blkbit_log) - 1)) != 0); in xfs_growfs_rt()
974 *nmp = *mp; in xfs_growfs_rt()
993 nrsumblocks = XFS_B_TO_FSB(mp, nrsumsize); in xfs_growfs_rt()
994 nmp->m_rsumsize = nrsumsize = XFS_FSB_TO_B(mp, nrsumblocks); in xfs_growfs_rt()
998 tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFSRT_FREE); in xfs_growfs_rt()
999 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_growrtfree, in xfs_growfs_rt()
1006 xfs_ilock(mp->m_rbmip, XFS_ILOCK_EXCL); in xfs_growfs_rt()
1007 xfs_trans_ijoin(tp, mp->m_rbmip, XFS_ILOCK_EXCL); in xfs_growfs_rt()
1011 mp->m_rbmip->i_d.di_size = in xfs_growfs_rt()
1013 xfs_trans_log_inode(tp, mp->m_rbmip, XFS_ILOG_CORE); in xfs_growfs_rt()
1017 xfs_ilock(mp->m_rsumip, XFS_ILOCK_EXCL); in xfs_growfs_rt()
1018 xfs_trans_ijoin(tp, mp->m_rsumip, XFS_ILOCK_EXCL); in xfs_growfs_rt()
1022 mp->m_rsumip->i_d.di_size = nmp->m_rsumsize; in xfs_growfs_rt()
1023 xfs_trans_log_inode(tp, mp->m_rsumip, XFS_ILOG_CORE); in xfs_growfs_rt()
1029 mp->m_rsumlevels != nmp->m_rsumlevels) { in xfs_growfs_rt()
1030 error = xfs_rtcopy_summary(mp, nmp, tp); in xfs_growfs_rt()
1071 mp->m_rsumlevels = nrsumlevels; in xfs_growfs_rt()
1072 mp->m_rsumsize = nrsumsize; in xfs_growfs_rt()
1104 xfs_mount_t *mp = tp->t_mountp; in xfs_rtallocate_extent() local
1110 ASSERT(xfs_isilocked(mp->m_rbmip, XFS_ILOCK_EXCL)); in xfs_rtallocate_extent()
1135 error = xfs_rtallocate_extent_size(mp, tp, minlen, maxlen, len, in xfs_rtallocate_extent()
1139 error = xfs_rtallocate_extent_near(mp, tp, bno, minlen, maxlen, in xfs_rtallocate_extent()
1143 error = xfs_rtallocate_extent_exact(mp, tp, bno, minlen, maxlen, in xfs_rtallocate_extent()
1174 struct xfs_mount *mp) /* file system mount structure */ in xfs_rtmount_init() argument
1181 sbp = &mp->m_sb; in xfs_rtmount_init()
1184 if (mp->m_rtdev_targp == NULL) { in xfs_rtmount_init()
1185 xfs_warn(mp, in xfs_rtmount_init()
1189 mp->m_rsumlevels = sbp->sb_rextslog + 1; in xfs_rtmount_init()
1190 mp->m_rsumsize = in xfs_rtmount_init()
1191 (uint)sizeof(xfs_suminfo_t) * mp->m_rsumlevels * in xfs_rtmount_init()
1193 mp->m_rsumsize = roundup(mp->m_rsumsize, sbp->sb_blocksize); in xfs_rtmount_init()
1194 mp->m_rbmip = mp->m_rsumip = NULL; in xfs_rtmount_init()
1198 d = (xfs_daddr_t)XFS_FSB_TO_BB(mp, mp->m_sb.sb_rblocks); in xfs_rtmount_init()
1199 if (XFS_BB_TO_FSB(mp, d) != mp->m_sb.sb_rblocks) { in xfs_rtmount_init()
1200 xfs_warn(mp, "realtime mount -- %llu != %llu", in xfs_rtmount_init()
1201 (unsigned long long) XFS_BB_TO_FSB(mp, d), in xfs_rtmount_init()
1202 (unsigned long long) mp->m_sb.sb_rblocks); in xfs_rtmount_init()
1205 error = xfs_buf_read_uncached(mp->m_rtdev_targp, in xfs_rtmount_init()
1206 d - XFS_FSB_TO_BB(mp, 1), in xfs_rtmount_init()
1207 XFS_FSB_TO_BB(mp, 1), 0, &bp, NULL); in xfs_rtmount_init()
1209 xfs_warn(mp, "realtime device size check failed"); in xfs_rtmount_init()
1222 xfs_mount_t *mp) /* file system mount structure */ in xfs_rtmount_inodes() argument
1227 sbp = &mp->m_sb; in xfs_rtmount_inodes()
1230 error = xfs_iget(mp, NULL, sbp->sb_rbmino, 0, 0, &mp->m_rbmip); in xfs_rtmount_inodes()
1233 ASSERT(mp->m_rbmip != NULL); in xfs_rtmount_inodes()
1235 error = xfs_iget(mp, NULL, sbp->sb_rsumino, 0, 0, &mp->m_rsumip); in xfs_rtmount_inodes()
1237 IRELE(mp->m_rbmip); in xfs_rtmount_inodes()
1240 ASSERT(mp->m_rsumip != NULL); in xfs_rtmount_inodes()
1246 struct xfs_mount *mp) in xfs_rtunmount_inodes() argument
1248 if (mp->m_rbmip) in xfs_rtunmount_inodes()
1249 IRELE(mp->m_rbmip); in xfs_rtunmount_inodes()
1250 if (mp->m_rsumip) in xfs_rtunmount_inodes()
1251 IRELE(mp->m_rsumip); in xfs_rtunmount_inodes()
1263 xfs_mount_t *mp, /* file system mount point */ in xfs_rtpick_extent() argument
1274 ASSERT(xfs_isilocked(mp->m_rbmip, XFS_ILOCK_EXCL)); in xfs_rtpick_extent()
1276 seqp = (__uint64_t *)&mp->m_rbmip->i_d.di_atime; in xfs_rtpick_extent()
1277 if (!(mp->m_rbmip->i_d.di_flags & XFS_DIFLAG_NEWRTBM)) { in xfs_rtpick_extent()
1278 mp->m_rbmip->i_d.di_flags |= XFS_DIFLAG_NEWRTBM; in xfs_rtpick_extent()
1286 b = (mp->m_sb.sb_rextents * ((resid << 1) + 1ULL)) >> in xfs_rtpick_extent()
1288 if (b >= mp->m_sb.sb_rextents) in xfs_rtpick_extent()
1289 b = do_mod(b, mp->m_sb.sb_rextents); in xfs_rtpick_extent()
1290 if (b + len > mp->m_sb.sb_rextents) in xfs_rtpick_extent()
1291 b = mp->m_sb.sb_rextents - len; in xfs_rtpick_extent()
1294 xfs_trans_log_inode(tp, mp->m_rbmip, XFS_ILOG_CORE); in xfs_rtpick_extent()