Lines Matching refs:mp

50 	struct xfs_mount	*mp,
372 struct xfs_mount *mp, in xfs_log_regrant() argument
375 struct xlog *log = mp->m_log; in xfs_log_regrant()
433 struct xfs_mount *mp, in xfs_log_reserve() argument
441 struct xlog *log = mp->m_log; in xfs_log_reserve()
513 struct xfs_mount *mp, in xfs_log_done() argument
518 struct xlog *log = mp->m_log; in xfs_log_done()
567 struct xfs_mount *mp, in xfs_log_notify() argument
588 struct xfs_mount *mp, in xfs_log_release_iclog() argument
591 if (xlog_state_release_iclog(mp->m_log, iclog)) { in xfs_log_release_iclog()
592 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xfs_log_release_iclog()
611 xfs_mount_t *mp, in xfs_log_mount() argument
619 if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { in xfs_log_mount()
620 xfs_notice(mp, "Mounting V%d Filesystem", in xfs_log_mount()
621 XFS_SB_VERSION_NUM(&mp->m_sb)); in xfs_log_mount()
623 xfs_notice(mp, in xfs_log_mount()
625 XFS_SB_VERSION_NUM(&mp->m_sb)); in xfs_log_mount()
626 ASSERT(mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount()
629 mp->m_log = xlog_alloc_log(mp, log_target, blk_offset, num_bblks); in xfs_log_mount()
630 if (IS_ERR(mp->m_log)) { in xfs_log_mount()
631 error = PTR_ERR(mp->m_log); in xfs_log_mount()
649 min_logfsbs = xfs_log_calc_minimum_size(mp); in xfs_log_mount()
651 if (mp->m_sb.sb_logblocks < min_logfsbs) { in xfs_log_mount()
652 xfs_warn(mp, in xfs_log_mount()
654 mp->m_sb.sb_logblocks, min_logfsbs); in xfs_log_mount()
656 } else if (mp->m_sb.sb_logblocks > XFS_MAX_LOG_BLOCKS) { in xfs_log_mount()
657 xfs_warn(mp, in xfs_log_mount()
659 mp->m_sb.sb_logblocks, XFS_MAX_LOG_BLOCKS); in xfs_log_mount()
661 } else if (XFS_FSB_TO_B(mp, mp->m_sb.sb_logblocks) > XFS_MAX_LOG_BYTES) { in xfs_log_mount()
662 xfs_warn(mp, in xfs_log_mount()
664 XFS_FSB_TO_B(mp, mp->m_sb.sb_logblocks), in xfs_log_mount()
669 if (xfs_sb_version_hascrc(&mp->m_sb)) { in xfs_log_mount()
670 xfs_crit(mp, "AAIEEE! Log failed size checks. Abort!"); in xfs_log_mount()
674 xfs_crit(mp, in xfs_log_mount()
682 error = xfs_trans_ail_init(mp); in xfs_log_mount()
684 xfs_warn(mp, "AIL initialisation failed: error %d", error); in xfs_log_mount()
687 mp->m_log->l_ailp = mp->m_ail; in xfs_log_mount()
693 if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { in xfs_log_mount()
694 int readonly = (mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount()
697 mp->m_flags &= ~XFS_MOUNT_RDONLY; in xfs_log_mount()
699 error = xlog_recover(mp->m_log); in xfs_log_mount()
702 mp->m_flags |= XFS_MOUNT_RDONLY; in xfs_log_mount()
704 xfs_warn(mp, "log mount/recovery failed: error %d", in xfs_log_mount()
710 error = xfs_sysfs_init(&mp->m_log->l_kobj, &xfs_log_ktype, &mp->m_kobj, in xfs_log_mount()
716 mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; in xfs_log_mount()
723 xlog_cil_init_post_recovery(mp->m_log); in xfs_log_mount()
728 xfs_trans_ail_destroy(mp); in xfs_log_mount()
730 xlog_dealloc_log(mp->m_log); in xfs_log_mount()
746 xfs_log_mount_finish(xfs_mount_t *mp) in xfs_log_mount_finish() argument
750 if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { in xfs_log_mount_finish()
751 error = xlog_recover_finish(mp->m_log); in xfs_log_mount_finish()
753 xfs_log_work_queue(mp); in xfs_log_mount_finish()
755 ASSERT(mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount_finish()
779 xfs_log_unmount_write(xfs_mount_t *mp) in xfs_log_unmount_write() argument
781 struct xlog *log = mp->m_log; in xfs_log_unmount_write()
794 if (mp->m_flags & XFS_MOUNT_RDONLY) in xfs_log_unmount_write()
797 error = _xfs_log_force(mp, XFS_LOG_SYNC, NULL); in xfs_log_unmount_write()
811 error = xfs_log_reserve(mp, 600, 1, &tic, in xfs_log_unmount_write()
845 xfs_alert(mp, "%s: unmount record failed", __func__); in xfs_log_unmount_write()
921 struct xfs_mount *mp) in xfs_log_quiesce() argument
923 cancel_delayed_work_sync(&mp->m_log->l_work); in xfs_log_quiesce()
924 xfs_log_force(mp, XFS_LOG_SYNC); in xfs_log_quiesce()
933 xfs_ail_push_all_sync(mp->m_ail); in xfs_log_quiesce()
934 xfs_wait_buftarg(mp->m_ddev_targp); in xfs_log_quiesce()
935 xfs_buf_lock(mp->m_sb_bp); in xfs_log_quiesce()
936 xfs_buf_unlock(mp->m_sb_bp); in xfs_log_quiesce()
938 xfs_log_unmount_write(mp); in xfs_log_quiesce()
950 struct xfs_mount *mp) in xfs_log_unmount() argument
952 xfs_log_quiesce(mp); in xfs_log_unmount()
954 xfs_trans_ail_destroy(mp); in xfs_log_unmount()
956 xfs_sysfs_del(&mp->m_log->l_kobj); in xfs_log_unmount()
958 xlog_dealloc_log(mp->m_log); in xfs_log_unmount()
963 struct xfs_mount *mp, in xfs_log_item_init() argument
968 item->li_mountp = mp; in xfs_log_item_init()
969 item->li_ailp = mp->m_ail; in xfs_log_item_init()
983 struct xfs_mount *mp) in xfs_log_space_wake() argument
985 struct xlog *log = mp->m_log; in xfs_log_space_wake()
1028 xfs_log_need_covered(xfs_mount_t *mp) in xfs_log_need_covered() argument
1030 struct xlog *log = mp->m_log; in xfs_log_need_covered()
1033 if (!xfs_fs_writable(mp, SB_FREEZE_WRITE)) in xfs_log_need_covered()
1071 struct xfs_mount *mp) in xlog_assign_tail_lsn_locked() argument
1073 struct xlog *log = mp->m_log; in xlog_assign_tail_lsn_locked()
1077 assert_spin_locked(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn_locked()
1084 lip = xfs_ail_min(mp->m_ail); in xlog_assign_tail_lsn_locked()
1096 struct xfs_mount *mp) in xlog_assign_tail_lsn() argument
1100 spin_lock(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn()
1101 tail_lsn = xlog_assign_tail_lsn_locked(mp); in xlog_assign_tail_lsn()
1102 spin_unlock(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn()
1215 struct xfs_mount *mp, in xlog_get_iclog_buffer_size() argument
1221 if (mp->m_logbufs <= 0) in xlog_get_iclog_buffer_size()
1224 log->l_iclog_bufs = mp->m_logbufs; in xlog_get_iclog_buffer_size()
1229 if (mp->m_logbsize > 0) { in xlog_get_iclog_buffer_size()
1230 size = log->l_iclog_size = mp->m_logbsize; in xlog_get_iclog_buffer_size()
1237 if (xfs_sb_version_haslogv2(&mp->m_sb)) { in xlog_get_iclog_buffer_size()
1242 xhdrs = mp->m_logbsize / XLOG_HEADER_CYCLE_SIZE; in xlog_get_iclog_buffer_size()
1243 if (mp->m_logbsize % XLOG_HEADER_CYCLE_SIZE) in xlog_get_iclog_buffer_size()
1248 ASSERT(mp->m_logbsize <= XLOG_BIG_RECORD_BSIZE); in xlog_get_iclog_buffer_size()
1265 if (mp->m_logbufs == 0) in xlog_get_iclog_buffer_size()
1266 mp->m_logbufs = log->l_iclog_bufs; in xlog_get_iclog_buffer_size()
1267 if (mp->m_logbsize == 0) in xlog_get_iclog_buffer_size()
1268 mp->m_logbsize = log->l_iclog_size; in xlog_get_iclog_buffer_size()
1274 struct xfs_mount *mp) in xfs_log_work_queue() argument
1276 queue_delayed_work(mp->m_log_workqueue, &mp->m_log->l_work, in xfs_log_work_queue()
1291 struct xfs_mount *mp = log->l_mp; in xfs_log_worker() local
1294 if (xfs_log_need_covered(mp)) { in xfs_log_worker()
1306 xfs_sync_sb(mp, true); in xfs_log_worker()
1308 xfs_log_force(mp, 0); in xfs_log_worker()
1311 xfs_ail_push_all(mp->m_ail); in xfs_log_worker()
1314 xfs_log_work_queue(mp); in xfs_log_worker()
1324 struct xfs_mount *mp, in xlog_alloc_log() argument
1340 xfs_warn(mp, "Log allocation failed: No memory!"); in xlog_alloc_log()
1344 log->l_mp = mp; in xlog_alloc_log()
1363 if (xfs_sb_version_hassector(&mp->m_sb)) { in xlog_alloc_log()
1364 log2_size = mp->m_sb.sb_logsectlog; in xlog_alloc_log()
1366 xfs_warn(mp, "Log sector size too small (0x%x < 0x%x)", in xlog_alloc_log()
1372 if (log2_size > mp->m_sectbb_log) { in xlog_alloc_log()
1373 xfs_warn(mp, "Log sector size too large (0x%x > 0x%x)", in xlog_alloc_log()
1374 log2_size, mp->m_sectbb_log); in xlog_alloc_log()
1380 !xfs_sb_version_haslogv2(&mp->m_sb)) { in xlog_alloc_log()
1381 xfs_warn(mp, in xlog_alloc_log()
1389 xlog_get_iclog_buffer_size(mp, log); in xlog_alloc_log()
1397 bp = xfs_buf_alloc(mp->m_logdev_targp, XFS_BUF_DADDR_NULL, in xlog_alloc_log()
1411 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1436 bp = xfs_buf_get_uncached(mp->m_logdev_targp, in xlog_alloc_log()
1445 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1460 memcpy(&head->h_fs_uuid, &mp->m_sb.sb_uuid, sizeof(uuid_t)); in xlog_alloc_log()
1510 struct xfs_mount *mp = log->l_mp; in xlog_commit_record() local
1526 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xlog_commit_record()
1963 struct xfs_mount *mp, in xlog_print_tic_res() argument
2034 xfs_warn(mp, in xlog_print_tic_res()
2057 xfs_warn(mp, "region[%u]: %s - %u bytes", i, in xlog_print_tic_res()
2063 xfs_alert_tag(mp, XFS_PTAG_LOGRES, in xlog_print_tic_res()
2065 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xlog_print_tic_res()
3187 struct xfs_mount *mp, in _xfs_log_force() argument
3191 struct xlog *log = mp->m_log; in _xfs_log_force()
3306 xfs_mount_t *mp, in xfs_log_force() argument
3311 trace_xfs_log_force(mp, 0); in xfs_log_force()
3312 error = _xfs_log_force(mp, flags, NULL); in xfs_log_force()
3314 xfs_warn(mp, "%s: error %d returned.", __func__, error); in xfs_log_force()
3334 struct xfs_mount *mp, in _xfs_log_force_lsn() argument
3339 struct xlog *log = mp->m_log; in _xfs_log_force_lsn()
3454 xfs_mount_t *mp, in xfs_log_force_lsn() argument
3460 trace_xfs_log_force(mp, lsn); in xfs_log_force_lsn()
3461 error = _xfs_log_force_lsn(mp, lsn, flags, NULL); in xfs_log_force_lsn()
3463 xfs_warn(mp, "%s: error %d returned.", __func__, error); in xfs_log_force_lsn()
3520 struct xfs_mount *mp, in xfs_log_calc_unit_res() argument
3523 struct xlog *log = mp->m_log; in xfs_log_calc_unit_res()
3600 if (xfs_sb_version_haslogv2(&mp->m_sb) && mp->m_sb.sb_logsunit > 1) { in xfs_log_calc_unit_res()
3602 unit_bytes += 2 * mp->m_sb.sb_logsunit; in xfs_log_calc_unit_res()
3898 struct xfs_mount *mp, in xfs_log_force_umount() argument
3904 log = mp->m_log; in xfs_log_force_umount()
3912 mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN; in xfs_log_force_umount()
3913 if (mp->m_sb_bp) in xfs_log_force_umount()
3914 XFS_BUF_DONE(mp->m_sb_bp); in xfs_log_force_umount()
3935 _xfs_log_force(mp, XFS_LOG_SYNC, NULL); in xfs_log_force_umount()
3942 mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN; in xfs_log_force_umount()
3943 if (mp->m_sb_bp) in xfs_log_force_umount()
3944 XFS_BUF_DONE(mp->m_sb_bp); in xfs_log_force_umount()