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 (xfs_sb_version_hassparseinodes(&mp->m_sb) ? in xfs_fs_geometry()
107 geo->logsectsize = xfs_sb_version_hassector(&mp->m_sb) ? in xfs_fs_geometry()
108 mp->m_sb.sb_logsectsize : BBSIZE; in xfs_fs_geometry()
109 geo->rtsectsize = mp->m_sb.sb_blocksize; in xfs_fs_geometry()
110 geo->dirblocksize = mp->m_dir_geo->blksize; in xfs_fs_geometry()
114 (xfs_sb_version_haslogv2(&mp->m_sb) ? in xfs_fs_geometry()
116 geo->logsunit = mp->m_sb.sb_logsunit; in xfs_fs_geometry()
123 struct xfs_mount *mp, in xfs_growfs_get_hdr_buf() argument
131 bp = xfs_buf_get_uncached(mp->m_ddev_targp, numblks, flags); in xfs_growfs_get_hdr_buf()
145 xfs_mount_t *mp, /* mount point for filesystem */ in xfs_growfs_data_private() argument
170 if (nb < mp->m_sb.sb_dblocks || pct < 0 || pct > 100) in xfs_growfs_data_private()
172 if ((error = xfs_sb_validate_fsb_count(&mp->m_sb, nb))) in xfs_growfs_data_private()
174 dpct = pct - mp->m_sb.sb_imax_pct; in xfs_growfs_data_private()
175 error = xfs_buf_read_uncached(mp->m_ddev_targp, in xfs_growfs_data_private()
176 XFS_FSB_TO_BB(mp, nb) - XFS_FSS_TO_BB(mp, 1), in xfs_growfs_data_private()
177 XFS_FSS_TO_BB(mp, 1), 0, &bp, NULL); in xfs_growfs_data_private()
183 nb_mod = do_div(new, mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
187 nb = (xfs_rfsblock_t)nagcount * mp->m_sb.sb_agblocks; in xfs_growfs_data_private()
188 if (nb < mp->m_sb.sb_dblocks) in xfs_growfs_data_private()
191 new = nb - mp->m_sb.sb_dblocks; in xfs_growfs_data_private()
192 oagcount = mp->m_sb.sb_agcount; in xfs_growfs_data_private()
196 error = xfs_initialize_perag(mp, nagcount, &nagimax); in xfs_growfs_data_private()
201 tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFS); in xfs_growfs_data_private()
203 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_growdata, in xfs_growfs_data_private()
204 XFS_GROWFS_SPACE_RES(mp), 0); in xfs_growfs_data_private()
222 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
223 XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)), in xfs_growfs_data_private()
224 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
238 (agno * (xfs_rfsblock_t)mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
240 agsize = mp->m_sb.sb_agblocks; in xfs_growfs_data_private()
242 agf->agf_roots[XFS_BTNUM_BNOi] = cpu_to_be32(XFS_BNO_BLOCK(mp)); in xfs_growfs_data_private()
243 agf->agf_roots[XFS_BTNUM_CNTi] = cpu_to_be32(XFS_CNT_BLOCK(mp)); in xfs_growfs_data_private()
249 tmpsize = agsize - XFS_PREALLOC_BLOCKS(mp); in xfs_growfs_data_private()
252 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
253 uuid_copy(&agf->agf_uuid, &mp->m_sb.sb_meta_uuid); in xfs_growfs_data_private()
263 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
264 XFS_AG_DADDR(mp, agno, XFS_AGFL_DADDR(mp)), in xfs_growfs_data_private()
265 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
273 if (xfs_sb_version_hascrc(&mp->m_sb)) { in xfs_growfs_data_private()
276 uuid_copy(&agfl->agfl_uuid, &mp->m_sb.sb_meta_uuid); in xfs_growfs_data_private()
279 agfl_bno = XFS_BUF_TO_AGFL_BNO(mp, bp); in xfs_growfs_data_private()
280 for (bucket = 0; bucket < XFS_AGFL_SIZE(mp); bucket++) in xfs_growfs_data_private()
291 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
292 XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), in xfs_growfs_data_private()
293 XFS_FSS_TO_BB(mp, 1), 0, in xfs_growfs_data_private()
306 agi->agi_root = cpu_to_be32(XFS_IBT_BLOCK(mp)); in xfs_growfs_data_private()
311 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
312 uuid_copy(&agi->agi_uuid, &mp->m_sb.sb_meta_uuid); in xfs_growfs_data_private()
313 if (xfs_sb_version_hasfinobt(&mp->m_sb)) { in xfs_growfs_data_private()
314 agi->agi_free_root = cpu_to_be32(XFS_FIBT_BLOCK(mp)); in xfs_growfs_data_private()
328 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
329 XFS_AGB_TO_DADDR(mp, agno, XFS_BNO_BLOCK(mp)), in xfs_growfs_data_private()
330 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
338 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
339 xfs_btree_init_block(mp, bp, XFS_ABTB_CRC_MAGIC, 0, 1, in xfs_growfs_data_private()
342 xfs_btree_init_block(mp, bp, XFS_ABTB_MAGIC, 0, 1, in xfs_growfs_data_private()
345 arec = XFS_ALLOC_REC_ADDR(mp, XFS_BUF_TO_BLOCK(bp), 1); in xfs_growfs_data_private()
346 arec->ar_startblock = cpu_to_be32(XFS_PREALLOC_BLOCKS(mp)); in xfs_growfs_data_private()
358 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
359 XFS_AGB_TO_DADDR(mp, agno, XFS_CNT_BLOCK(mp)), in xfs_growfs_data_private()
360 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
367 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
368 xfs_btree_init_block(mp, bp, XFS_ABTC_CRC_MAGIC, 0, 1, in xfs_growfs_data_private()
371 xfs_btree_init_block(mp, bp, XFS_ABTC_MAGIC, 0, 1, in xfs_growfs_data_private()
374 arec = XFS_ALLOC_REC_ADDR(mp, XFS_BUF_TO_BLOCK(bp), 1); in xfs_growfs_data_private()
375 arec->ar_startblock = cpu_to_be32(XFS_PREALLOC_BLOCKS(mp)); in xfs_growfs_data_private()
388 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
389 XFS_AGB_TO_DADDR(mp, agno, XFS_IBT_BLOCK(mp)), in xfs_growfs_data_private()
390 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
397 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
398 xfs_btree_init_block(mp, bp, XFS_IBT_CRC_MAGIC, 0, 0, in xfs_growfs_data_private()
401 xfs_btree_init_block(mp, bp, XFS_IBT_MAGIC, 0, 0, in xfs_growfs_data_private()
412 if (xfs_sb_version_hasfinobt(&mp->m_sb)) { in xfs_growfs_data_private()
413 bp = xfs_growfs_get_hdr_buf(mp, in xfs_growfs_data_private()
414 XFS_AGB_TO_DADDR(mp, agno, XFS_FIBT_BLOCK(mp)), in xfs_growfs_data_private()
415 BTOBB(mp->m_sb.sb_blocksize), 0, in xfs_growfs_data_private()
422 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_growfs_data_private()
423 xfs_btree_init_block(mp, bp, XFS_FIBT_CRC_MAGIC, in xfs_growfs_data_private()
427 xfs_btree_init_block(mp, bp, XFS_FIBT_MAGIC, 0, in xfs_growfs_data_private()
445 error = xfs_ialloc_read_agi(mp, tp, agno, &bp); in xfs_growfs_data_private()
453 be32_to_cpu(agi->agi_length) == mp->m_sb.sb_agblocks); in xfs_growfs_data_private()
458 error = xfs_alloc_read_agf(mp, tp, agno, 0, &bp); in xfs_growfs_data_private()
472 error = xfs_free_extent(tp, XFS_AGB_TO_FSB(mp, agno, in xfs_growfs_data_private()
486 if (nb > mp->m_sb.sb_dblocks) in xfs_growfs_data_private()
488 nb - mp->m_sb.sb_dblocks); in xfs_growfs_data_private()
500 mp->m_maxagi = nagimax; in xfs_growfs_data_private()
501 if (mp->m_sb.sb_imax_pct) { in xfs_growfs_data_private()
502 __uint64_t icount = mp->m_sb.sb_dblocks * mp->m_sb.sb_imax_pct; in xfs_growfs_data_private()
504 mp->m_maxicount = icount << mp->m_sb.sb_inopblog; in xfs_growfs_data_private()
506 mp->m_maxicount = 0; in xfs_growfs_data_private()
507 xfs_set_low_space_thresholds(mp); in xfs_growfs_data_private()
518 error = xfs_trans_read_buf(mp, NULL, mp->m_ddev_targp, in xfs_growfs_data_private()
519 XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)), in xfs_growfs_data_private()
520 XFS_FSS_TO_BB(mp, 1), 0, &bp, in xfs_growfs_data_private()
523 bp = xfs_trans_get_buf(NULL, mp->m_ddev_targp, in xfs_growfs_data_private()
524 XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)), in xfs_growfs_data_private()
525 XFS_FSS_TO_BB(mp, 1), 0); in xfs_growfs_data_private()
541 xfs_warn(mp, in xfs_growfs_data_private()
547 xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb); in xfs_growfs_data_private()
552 xfs_warn(mp, in xfs_growfs_data_private()
568 xfs_mount_t *mp, /* mount point for filesystem */ in xfs_growfs_log_private() argument
574 if (nb < XFS_MIN_LOG_BLOCKS || nb < XFS_B_TO_FSB(mp, XFS_MIN_LOG_BYTES)) in xfs_growfs_log_private()
576 if (nb == mp->m_sb.sb_logblocks && in xfs_growfs_log_private()
577 in->isint == (mp->m_sb.sb_logstart != 0)) in xfs_growfs_log_private()
597 xfs_mount_t *mp, in xfs_growfs_data() argument
604 if (!mutex_trylock(&mp->m_growlock)) in xfs_growfs_data()
606 error = xfs_growfs_data_private(mp, in); in xfs_growfs_data()
612 mp->m_generation++; in xfs_growfs_data()
613 mutex_unlock(&mp->m_growlock); in xfs_growfs_data()
619 xfs_mount_t *mp, in xfs_growfs_log() argument
626 if (!mutex_trylock(&mp->m_growlock)) in xfs_growfs_log()
628 error = xfs_growfs_log_private(mp, in); in xfs_growfs_log()
629 mutex_unlock(&mp->m_growlock); in xfs_growfs_log()
639 xfs_mount_t *mp, in xfs_fs_counts() argument
642 cnt->allocino = percpu_counter_read_positive(&mp->m_icount); in xfs_fs_counts()
643 cnt->freeino = percpu_counter_read_positive(&mp->m_ifree); in xfs_fs_counts()
644 cnt->freedata = percpu_counter_read_positive(&mp->m_fdblocks) - in xfs_fs_counts()
645 XFS_ALLOC_SET_ASIDE(mp); in xfs_fs_counts()
647 spin_lock(&mp->m_sb_lock); in xfs_fs_counts()
648 cnt->freertx = mp->m_sb.sb_frextents; in xfs_fs_counts()
649 spin_unlock(&mp->m_sb_lock); in xfs_fs_counts()
670 xfs_mount_t *mp, in xfs_reserve_blocks() argument
681 outval->resblks = mp->m_resblks; in xfs_reserve_blocks()
682 outval->resblks_avail = mp->m_resblks_avail; in xfs_reserve_blocks()
700 spin_lock(&mp->m_sb_lock); in xfs_reserve_blocks()
707 if (mp->m_resblks > request) { in xfs_reserve_blocks()
708 lcounter = mp->m_resblks_avail - request; in xfs_reserve_blocks()
711 mp->m_resblks_avail -= lcounter; in xfs_reserve_blocks()
713 mp->m_resblks = request; in xfs_reserve_blocks()
717 free = percpu_counter_sum(&mp->m_fdblocks) - in xfs_reserve_blocks()
718 XFS_ALLOC_SET_ASIDE(mp); in xfs_reserve_blocks()
722 delta = request - mp->m_resblks; in xfs_reserve_blocks()
726 mp->m_resblks += free; in xfs_reserve_blocks()
727 mp->m_resblks_avail += free; in xfs_reserve_blocks()
731 mp->m_resblks = request; in xfs_reserve_blocks()
732 mp->m_resblks_avail += delta; in xfs_reserve_blocks()
737 outval->resblks = mp->m_resblks; in xfs_reserve_blocks()
738 outval->resblks_avail = mp->m_resblks_avail; in xfs_reserve_blocks()
740 spin_unlock(&mp->m_sb_lock); in xfs_reserve_blocks()
757 error = xfs_mod_fdblocks(mp, fdblks_delta, 0); in xfs_reserve_blocks()
766 xfs_mount_t *mp, in xfs_fs_goingdown() argument
771 struct super_block *sb = freeze_bdev(mp->m_super->s_bdev); in xfs_fs_goingdown()
774 xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); in xfs_fs_goingdown()
781 xfs_force_shutdown(mp, SHUTDOWN_FORCE_UMOUNT); in xfs_fs_goingdown()
784 xfs_force_shutdown(mp, in xfs_fs_goingdown()
802 xfs_mount_t *mp, in xfs_do_force_shutdown() argument
812 xfs_notice(mp, in xfs_do_force_shutdown()
819 if (XFS_FORCED_SHUTDOWN(mp) && !logerror) in xfs_do_force_shutdown()
828 if (xfs_log_force_umount(mp, logerror)) in xfs_do_force_shutdown()
832 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_CORRUPT, in xfs_do_force_shutdown()
838 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_LOGERROR, in xfs_do_force_shutdown()
841 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_IOERROR, in xfs_do_force_shutdown()
844 xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_IOERROR, in xfs_do_force_shutdown()
849 xfs_alert(mp, in xfs_do_force_shutdown()