Lines Matching refs:mp

50 	xfs_mount_t		*mp,  in xfs_fs_geometry()  argument
57 geo->blocksize = mp->m_sb.sb_blocksize; in xfs_fs_geometry()
58 geo->rtextsize = mp->m_sb.sb_rextsize; in xfs_fs_geometry()
59 geo->agblocks = mp->m_sb.sb_agblocks; in xfs_fs_geometry()
60 geo->agcount = mp->m_sb.sb_agcount; in xfs_fs_geometry()
61 geo->logblocks = mp->m_sb.sb_logblocks; in xfs_fs_geometry()
62 geo->sectsize = mp->m_sb.sb_sectsize; in xfs_fs_geometry()
63 geo->inodesize = mp->m_sb.sb_inodesize; in xfs_fs_geometry()
64 geo->imaxpct = mp->m_sb.sb_imax_pct; in xfs_fs_geometry()
65 geo->datablocks = mp->m_sb.sb_dblocks; in xfs_fs_geometry()
66 geo->rtblocks = mp->m_sb.sb_rblocks; in xfs_fs_geometry()
67 geo->rtextents = mp->m_sb.sb_rextents; in xfs_fs_geometry()
68 geo->logstart = mp->m_sb.sb_logstart; in xfs_fs_geometry()
69 ASSERT(sizeof(geo->uuid)==sizeof(mp->m_sb.sb_uuid)); in xfs_fs_geometry()
70 memcpy(geo->uuid, &mp->m_sb.sb_uuid, sizeof(mp->m_sb.sb_uuid)); in xfs_fs_geometry()
72 geo->sunit = mp->m_sb.sb_unit; in xfs_fs_geometry()
73 geo->swidth = mp->m_sb.sb_width; in xfs_fs_geometry()
79 (xfs_sb_version_hasattr(&mp->m_sb) ? in xfs_fs_geometry()
81 (xfs_sb_version_hasquota(&mp->m_sb) ? in xfs_fs_geometry()
83 (xfs_sb_version_hasalign(&mp->m_sb) ? in xfs_fs_geometry()
85 (xfs_sb_version_hasdalign(&mp->m_sb) ? in xfs_fs_geometry()
87 (xfs_sb_version_hasextflgbit(&mp->m_sb) ? in xfs_fs_geometry()
89 (xfs_sb_version_hassector(&mp->m_sb) ? in xfs_fs_geometry()
91 (xfs_sb_version_hasasciici(&mp->m_sb) ? in xfs_fs_geometry()
93 (xfs_sb_version_haslazysbcount(&mp->m_sb) ? in xfs_fs_geometry()
95 (xfs_sb_version_hasattr2(&mp->m_sb) ? in xfs_fs_geometry()
97 (xfs_sb_version_hasprojid32bit(&mp->m_sb) ? in xfs_fs_geometry()
99 (xfs_sb_version_hascrc(&mp->m_sb) ? in xfs_fs_geometry()
101 (xfs_sb_version_hasftype(&mp->m_sb) ? in xfs_fs_geometry()
103 (xfs_sb_version_hasfinobt(&mp->m_sb) ? in xfs_fs_geometry()
105 geo->logsectsize = xfs_sb_version_hassector(&mp->m_sb) ? in xfs_fs_geometry()
106 mp->m_sb.sb_logsectsize : BBSIZE; in xfs_fs_geometry()
107 geo->rtsectsize = mp->m_sb.sb_blocksize; in xfs_fs_geometry()
108 geo->dirblocksize = mp->m_dir_geo->blksize; in xfs_fs_geometry()
112 (xfs_sb_version_haslogv2(&mp->m_sb) ? in xfs_fs_geometry()
114 geo->logsunit = mp->m_sb.sb_logsunit; in xfs_fs_geometry()
121 struct xfs_mount *mp, in xfs_growfs_get_hdr_buf() argument
129 bp = xfs_buf_get_uncached(mp->m_ddev_targp, numblks, flags); in xfs_growfs_get_hdr_buf()
143 xfs_mount_t *mp, /* mount point for filesystem */ in xfs_growfs_data_private() argument
168 if (nb < mp->m_sb.sb_dblocks || pct < 0 || pct > 100) in xfs_growfs_data_private()
170 if ((error = xfs_sb_validate_fsb_count(&mp->m_sb, nb))) in xfs_growfs_data_private()
172 dpct = pct - mp->m_sb.sb_imax_pct; in xfs_growfs_data_private()
173 error = xfs_buf_read_uncached(mp->m_ddev_targp, in xfs_growfs_data_private()
174 XFS_FSB_TO_BB(mp, nb) - XFS_FSS_TO_BB(mp, 1), in xfs_growfs_data_private()
175 XFS_FSS_TO_BB(mp, 1), 0, &bp, NULL); in xfs_growfs_data_private()
181 nb_mod = do_div(new, mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
185 nb = (xfs_rfsblock_t)nagcount * mp->m_sb.sb_agblocks; in xfs_growfs_data_private()
186 if (nb < mp->m_sb.sb_dblocks) in xfs_growfs_data_private()
189 new = nb - mp->m_sb.sb_dblocks; in xfs_growfs_data_private()
190 oagcount = mp->m_sb.sb_agcount; in xfs_growfs_data_private()
194 error = xfs_initialize_perag(mp, nagcount, &nagimax); in xfs_growfs_data_private()
199 tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFS); in xfs_growfs_data_private()
201 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_growdata, in xfs_growfs_data_private()
202 XFS_GROWFS_SPACE_RES(mp), 0); in xfs_growfs_data_private()
220 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
221 XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)), in xfs_growfs_data_private()
222 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
236 (agno * (xfs_rfsblock_t)mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
238 agsize = mp->m_sb.sb_agblocks; in xfs_growfs_data_private()
240 agf->agf_roots[XFS_BTNUM_BNOi] = cpu_to_be32(XFS_BNO_BLOCK(mp)); in xfs_growfs_data_private()
241 agf->agf_roots[XFS_BTNUM_CNTi] = cpu_to_be32(XFS_CNT_BLOCK(mp)); in xfs_growfs_data_private()
247 tmpsize = agsize - XFS_PREALLOC_BLOCKS(mp); in xfs_growfs_data_private()
250 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
251 uuid_copy(&agf->agf_uuid, &mp->m_sb.sb_uuid); in xfs_growfs_data_private()
261 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
262 XFS_AG_DADDR(mp, agno, XFS_AGFL_DADDR(mp)), in xfs_growfs_data_private()
263 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
271 if (xfs_sb_version_hascrc(&mp->m_sb)) { in xfs_growfs_data_private()
274 uuid_copy(&agfl->agfl_uuid, &mp->m_sb.sb_uuid); in xfs_growfs_data_private()
277 agfl_bno = XFS_BUF_TO_AGFL_BNO(mp, bp); in xfs_growfs_data_private()
278 for (bucket = 0; bucket < XFS_AGFL_SIZE(mp); bucket++) in xfs_growfs_data_private()
289 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
290 XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), in xfs_growfs_data_private()
291 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
304 agi->agi_root = cpu_to_be32(XFS_IBT_BLOCK(mp)); in xfs_growfs_data_private()
309 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
310 uuid_copy(&agi->agi_uuid, &mp->m_sb.sb_uuid); in xfs_growfs_data_private()
311 if (xfs_sb_version_hasfinobt(&mp->m_sb)) { in xfs_growfs_data_private()
312 agi->agi_free_root = cpu_to_be32(XFS_FIBT_BLOCK(mp)); in xfs_growfs_data_private()
326 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
327 XFS_AGB_TO_DADDR(mp, agno, XFS_BNO_BLOCK(mp)), in xfs_growfs_data_private()
328 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
336 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
337 xfs_btree_init_block(mp, bp, XFS_ABTB_CRC_MAGIC, 0, 1, in xfs_growfs_data_private()
340 xfs_btree_init_block(mp, bp, XFS_ABTB_MAGIC, 0, 1, in xfs_growfs_data_private()
343 arec = XFS_ALLOC_REC_ADDR(mp, XFS_BUF_TO_BLOCK(bp), 1); in xfs_growfs_data_private()
344 arec->ar_startblock = cpu_to_be32(XFS_PREALLOC_BLOCKS(mp)); in xfs_growfs_data_private()
356 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
357 XFS_AGB_TO_DADDR(mp, agno, XFS_CNT_BLOCK(mp)), in xfs_growfs_data_private()
358 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
365 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
366 xfs_btree_init_block(mp, bp, XFS_ABTC_CRC_MAGIC, 0, 1, in xfs_growfs_data_private()
369 xfs_btree_init_block(mp, bp, XFS_ABTC_MAGIC, 0, 1, in xfs_growfs_data_private()
372 arec = XFS_ALLOC_REC_ADDR(mp, XFS_BUF_TO_BLOCK(bp), 1); in xfs_growfs_data_private()
373 arec->ar_startblock = cpu_to_be32(XFS_PREALLOC_BLOCKS(mp)); in xfs_growfs_data_private()
386 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
387 XFS_AGB_TO_DADDR(mp, agno, XFS_IBT_BLOCK(mp)), in xfs_growfs_data_private()
388 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
395 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
396 xfs_btree_init_block(mp, bp, XFS_IBT_CRC_MAGIC, 0, 0, in xfs_growfs_data_private()
399 xfs_btree_init_block(mp, bp, XFS_IBT_MAGIC, 0, 0, in xfs_growfs_data_private()
410 if (xfs_sb_version_hasfinobt(&mp->m_sb)) { in xfs_growfs_data_private()
411 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
412 XFS_AGB_TO_DADDR(mp, agno, XFS_FIBT_BLOCK(mp)), in xfs_growfs_data_private()
413 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
420 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
421 xfs_btree_init_block(mp, bp, XFS_FIBT_CRC_MAGIC, in xfs_growfs_data_private()
425 xfs_btree_init_block(mp, bp, XFS_FIBT_MAGIC, 0, in xfs_growfs_data_private()
443 error = xfs_ialloc_read_agi(mp, tp, agno, &bp); in xfs_growfs_data_private()
451 be32_to_cpu(agi->agi_length) == mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
456 error = xfs_alloc_read_agf(mp, tp, agno, 0, &bp); in xfs_growfs_data_private()
470 error = xfs_free_extent(tp, XFS_AGB_TO_FSB(mp, agno, in xfs_growfs_data_private()
484 if (nb > mp->m_sb.sb_dblocks) in xfs_growfs_data_private()
486 nb - mp->m_sb.sb_dblocks); in xfs_growfs_data_private()
498 mp->m_maxagi = nagimax; in xfs_growfs_data_private()
499 if (mp->m_sb.sb_imax_pct) { in xfs_growfs_data_private()
500 __uint64_t icount = mp->m_sb.sb_dblocks * mp->m_sb.sb_imax_pct; in xfs_growfs_data_private()
502 mp->m_maxicount = icount << mp->m_sb.sb_inopblog; in xfs_growfs_data_private()
504 mp->m_maxicount = 0; in xfs_growfs_data_private()
505 xfs_set_low_space_thresholds(mp); in xfs_growfs_data_private()
516 error = xfs_trans_read_buf(mp, NULL, mp->m_ddev_targp, in xfs_growfs_data_private()
517 XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)), in xfs_growfs_data_private()
518 XFS_FSS_TO_BB(mp, 1), 0, &bp, in xfs_growfs_data_private()
521 bp = xfs_trans_get_buf(NULL, mp->m_ddev_targp, in xfs_growfs_data_private()
522 XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)), in xfs_growfs_data_private()
523 XFS_FSS_TO_BB(mp, 1), 0); in xfs_growfs_data_private()
539 xfs_warn(mp, in xfs_growfs_data_private()
545 xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb); in xfs_growfs_data_private()
550 xfs_warn(mp, in xfs_growfs_data_private()
566 xfs_mount_t *mp, /* mount point for filesystem */ in xfs_growfs_log_private() argument
572 if (nb < XFS_MIN_LOG_BLOCKS || nb < XFS_B_TO_FSB(mp, XFS_MIN_LOG_BYTES)) in xfs_growfs_log_private()
574 if (nb == mp->m_sb.sb_logblocks && in xfs_growfs_log_private()
575 in->isint == (mp->m_sb.sb_logstart != 0)) in xfs_growfs_log_private()
595 xfs_mount_t *mp, in xfs_growfs_data() argument
602 if (!mutex_trylock(&mp->m_growlock)) in xfs_growfs_data()
604 error = xfs_growfs_data_private(mp, in); in xfs_growfs_data()
610 mp->m_generation++; in xfs_growfs_data()
611 mutex_unlock(&mp->m_growlock); in xfs_growfs_data()
617 xfs_mount_t *mp, in xfs_growfs_log() argument
624 if (!mutex_trylock(&mp->m_growlock)) in xfs_growfs_log()
626 error = xfs_growfs_log_private(mp, in); in xfs_growfs_log()
627 mutex_unlock(&mp->m_growlock); in xfs_growfs_log()
637 xfs_mount_t *mp, in xfs_fs_counts() argument
640 cnt->allocino = percpu_counter_read_positive(&mp->m_icount); in xfs_fs_counts()
641 cnt->freeino = percpu_counter_read_positive(&mp->m_ifree); in xfs_fs_counts()
642 cnt->freedata = percpu_counter_read_positive(&mp->m_fdblocks) - in xfs_fs_counts()
643 XFS_ALLOC_SET_ASIDE(mp); in xfs_fs_counts()
645 spin_lock(&mp->m_sb_lock); in xfs_fs_counts()
646 cnt->freertx = mp->m_sb.sb_frextents; in xfs_fs_counts()
647 spin_unlock(&mp->m_sb_lock); in xfs_fs_counts()
668 xfs_mount_t *mp, in xfs_reserve_blocks() argument
679 outval->resblks = mp->m_resblks; in xfs_reserve_blocks()
680 outval->resblks_avail = mp->m_resblks_avail; in xfs_reserve_blocks()
698 spin_lock(&mp->m_sb_lock); in xfs_reserve_blocks()
705 if (mp->m_resblks > request) { in xfs_reserve_blocks()
706 lcounter = mp->m_resblks_avail - request; in xfs_reserve_blocks()
709 mp->m_resblks_avail -= lcounter; in xfs_reserve_blocks()
711 mp->m_resblks = request; in xfs_reserve_blocks()
715 free = percpu_counter_sum(&mp->m_fdblocks) - in xfs_reserve_blocks()
716 XFS_ALLOC_SET_ASIDE(mp); in xfs_reserve_blocks()
720 delta = request - mp->m_resblks; in xfs_reserve_blocks()
724 mp->m_resblks += free; in xfs_reserve_blocks()
725 mp->m_resblks_avail += free; in xfs_reserve_blocks()
729 mp->m_resblks = request; in xfs_reserve_blocks()
730 mp->m_resblks_avail += delta; in xfs_reserve_blocks()
735 outval->resblks = mp->m_resblks; in xfs_reserve_blocks()
736 outval->resblks_avail = mp->m_resblks_avail; in xfs_reserve_blocks()
738 spin_unlock(&mp->m_sb_lock); in xfs_reserve_blocks()
755 error = xfs_mod_fdblocks(mp, fdblks_delta, 0); in xfs_reserve_blocks()
764 xfs_mount_t *mp, in xfs_fs_goingdown() argument
769 struct super_block *sb = freeze_bdev(mp->m_super->s_bdev); in xfs_fs_goingdown()
772 xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); in xfs_fs_goingdown()
779 xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); in xfs_fs_goingdown()
782 xfs_force_shutdown(mp, in xfs_fs_goingdown()
800 xfs_mount_t *mp, in xfs_do_force_shutdown() argument
810 xfs_notice(mp, in xfs_do_force_shutdown()
817 if (XFS_FORCED_SHUTDOWN(mp) && !logerror) in xfs_do_force_shutdown()
826 if (xfs_log_force_umount(mp, logerror)) in xfs_do_force_shutdown()
830 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_CORRUPT, in xfs_do_force_shutdown()
836 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_LOGERROR, in xfs_do_force_shutdown()
839 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_IOERROR, in xfs_do_force_shutdown()
842 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_IOERROR, in xfs_do_force_shutdown()
847 xfs_alert(mp, in xfs_do_force_shutdown()