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()
382 XFS_STATS_INC(mp, xs_try_logspace); 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()
451 XFS_STATS_INC(mp, xs_try_logspace); 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()
564 struct xfs_mount *mp, in xfs_log_notify() argument
585 struct xfs_mount *mp, in xfs_log_release_iclog() argument
588 if (xlog_state_release_iclog(mp->m_log, iclog)) { in xfs_log_release_iclog()
589 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xfs_log_release_iclog()
608 xfs_mount_t *mp, in xfs_log_mount() argument
616 if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { in xfs_log_mount()
617 xfs_notice(mp, "Mounting V%d Filesystem", in xfs_log_mount()
618 XFS_SB_VERSION_NUM(&mp->m_sb)); in xfs_log_mount()
620 xfs_notice(mp, in xfs_log_mount()
622 XFS_SB_VERSION_NUM(&mp->m_sb)); in xfs_log_mount()
623 ASSERT(mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount()
626 mp->m_log = xlog_alloc_log(mp, log_target, blk_offset, num_bblks); in xfs_log_mount()
627 if (IS_ERR(mp->m_log)) { in xfs_log_mount()
628 error = PTR_ERR(mp->m_log); in xfs_log_mount()
646 min_logfsbs = xfs_log_calc_minimum_size(mp); in xfs_log_mount()
648 if (mp->m_sb.sb_logblocks < min_logfsbs) { in xfs_log_mount()
649 xfs_warn(mp, in xfs_log_mount()
651 mp->m_sb.sb_logblocks, min_logfsbs); in xfs_log_mount()
653 } else if (mp->m_sb.sb_logblocks > XFS_MAX_LOG_BLOCKS) { in xfs_log_mount()
654 xfs_warn(mp, in xfs_log_mount()
656 mp->m_sb.sb_logblocks, XFS_MAX_LOG_BLOCKS); in xfs_log_mount()
658 } else if (XFS_FSB_TO_B(mp, mp->m_sb.sb_logblocks) > XFS_MAX_LOG_BYTES) { in xfs_log_mount()
659 xfs_warn(mp, in xfs_log_mount()
661 XFS_FSB_TO_B(mp, mp->m_sb.sb_logblocks), in xfs_log_mount()
666 if (xfs_sb_version_hascrc(&mp->m_sb)) { in xfs_log_mount()
667 xfs_crit(mp, "AAIEEE! Log failed size checks. Abort!"); in xfs_log_mount()
671 xfs_crit(mp, "Log size out of supported range."); in xfs_log_mount()
672 xfs_crit(mp, in xfs_log_mount()
679 error = xfs_trans_ail_init(mp); in xfs_log_mount()
681 xfs_warn(mp, "AIL initialisation failed: error %d", error); in xfs_log_mount()
684 mp->m_log->l_ailp = mp->m_ail; in xfs_log_mount()
690 if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { in xfs_log_mount()
691 int readonly = (mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount()
694 mp->m_flags &= ~XFS_MOUNT_RDONLY; in xfs_log_mount()
696 error = xlog_recover(mp->m_log); in xfs_log_mount()
699 mp->m_flags |= XFS_MOUNT_RDONLY; in xfs_log_mount()
701 xfs_warn(mp, "log mount/recovery failed: error %d", in xfs_log_mount()
703 xlog_recover_cancel(mp->m_log); in xfs_log_mount()
708 error = xfs_sysfs_init(&mp->m_log->l_kobj, &xfs_log_ktype, &mp->m_kobj, in xfs_log_mount()
714 mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; in xfs_log_mount()
721 xlog_cil_init_post_recovery(mp->m_log); in xfs_log_mount()
726 xfs_trans_ail_destroy(mp); in xfs_log_mount()
728 xlog_dealloc_log(mp->m_log); in xfs_log_mount()
745 struct xfs_mount *mp) in xfs_log_mount_finish() argument
749 if (mp->m_flags & XFS_MOUNT_NORECOVERY) { in xfs_log_mount_finish()
750 ASSERT(mp->m_flags & XFS_MOUNT_RDONLY); in xfs_log_mount_finish()
754 error = xlog_recover_finish(mp->m_log); in xfs_log_mount_finish()
756 xfs_log_work_queue(mp); in xfs_log_mount_finish()
767 struct xfs_mount *mp) in xfs_log_mount_cancel() argument
771 error = xlog_recover_cancel(mp->m_log); in xfs_log_mount_cancel()
772 xfs_log_unmount(mp); in xfs_log_mount_cancel()
794 xfs_log_unmount_write(xfs_mount_t *mp) in xfs_log_unmount_write() argument
796 struct xlog *log = mp->m_log; in xfs_log_unmount_write()
809 if (mp->m_flags & XFS_MOUNT_RDONLY) in xfs_log_unmount_write()
812 error = _xfs_log_force(mp, XFS_LOG_SYNC, NULL); in xfs_log_unmount_write()
826 error = xfs_log_reserve(mp, 600, 1, &tic, in xfs_log_unmount_write()
860 xfs_alert(mp, "%s: unmount record failed", __func__); in xfs_log_unmount_write()
936 struct xfs_mount *mp) in xfs_log_quiesce() argument
938 cancel_delayed_work_sync(&mp->m_log->l_work); in xfs_log_quiesce()
939 xfs_log_force(mp, XFS_LOG_SYNC); in xfs_log_quiesce()
948 xfs_ail_push_all_sync(mp->m_ail); in xfs_log_quiesce()
949 xfs_wait_buftarg(mp->m_ddev_targp); in xfs_log_quiesce()
950 xfs_buf_lock(mp->m_sb_bp); in xfs_log_quiesce()
951 xfs_buf_unlock(mp->m_sb_bp); in xfs_log_quiesce()
953 xfs_log_unmount_write(mp); in xfs_log_quiesce()
965 struct xfs_mount *mp) in xfs_log_unmount() argument
967 xfs_log_quiesce(mp); in xfs_log_unmount()
969 xfs_trans_ail_destroy(mp); in xfs_log_unmount()
971 xfs_sysfs_del(&mp->m_log->l_kobj); in xfs_log_unmount()
973 xlog_dealloc_log(mp->m_log); in xfs_log_unmount()
978 struct xfs_mount *mp, in xfs_log_item_init() argument
983 item->li_mountp = mp; in xfs_log_item_init()
984 item->li_ailp = mp->m_ail; in xfs_log_item_init()
998 struct xfs_mount *mp) in xfs_log_space_wake() argument
1000 struct xlog *log = mp->m_log; in xfs_log_space_wake()
1043 xfs_log_need_covered(xfs_mount_t *mp) in xfs_log_need_covered() argument
1045 struct xlog *log = mp->m_log; in xfs_log_need_covered()
1048 if (!xfs_fs_writable(mp, SB_FREEZE_WRITE)) in xfs_log_need_covered()
1086 struct xfs_mount *mp) in xlog_assign_tail_lsn_locked() argument
1088 struct xlog *log = mp->m_log; in xlog_assign_tail_lsn_locked()
1092 assert_spin_locked(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn_locked()
1099 lip = xfs_ail_min(mp->m_ail); in xlog_assign_tail_lsn_locked()
1111 struct xfs_mount *mp) in xlog_assign_tail_lsn() argument
1115 spin_lock(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn()
1116 tail_lsn = xlog_assign_tail_lsn_locked(mp); in xlog_assign_tail_lsn()
1117 spin_unlock(&mp->m_ail->xa_lock); in xlog_assign_tail_lsn()
1232 struct xfs_mount *mp, in xlog_get_iclog_buffer_size() argument
1238 if (mp->m_logbufs <= 0) in xlog_get_iclog_buffer_size()
1241 log->l_iclog_bufs = mp->m_logbufs; in xlog_get_iclog_buffer_size()
1246 if (mp->m_logbsize > 0) { in xlog_get_iclog_buffer_size()
1247 size = log->l_iclog_size = mp->m_logbsize; in xlog_get_iclog_buffer_size()
1254 if (xfs_sb_version_haslogv2(&mp->m_sb)) { in xlog_get_iclog_buffer_size()
1259 xhdrs = mp->m_logbsize / XLOG_HEADER_CYCLE_SIZE; in xlog_get_iclog_buffer_size()
1260 if (mp->m_logbsize % XLOG_HEADER_CYCLE_SIZE) in xlog_get_iclog_buffer_size()
1265 ASSERT(mp->m_logbsize <= XLOG_BIG_RECORD_BSIZE); in xlog_get_iclog_buffer_size()
1282 if (mp->m_logbufs == 0) in xlog_get_iclog_buffer_size()
1283 mp->m_logbufs = log->l_iclog_bufs; in xlog_get_iclog_buffer_size()
1284 if (mp->m_logbsize == 0) in xlog_get_iclog_buffer_size()
1285 mp->m_logbsize = log->l_iclog_size; in xlog_get_iclog_buffer_size()
1291 struct xfs_mount *mp) in xfs_log_work_queue() argument
1293 queue_delayed_work(mp->m_log_workqueue, &mp->m_log->l_work, in xfs_log_work_queue()
1308 struct xfs_mount *mp = log->l_mp; in xfs_log_worker() local
1311 if (xfs_log_need_covered(mp)) { in xfs_log_worker()
1323 xfs_sync_sb(mp, true); in xfs_log_worker()
1325 xfs_log_force(mp, 0); in xfs_log_worker()
1328 xfs_ail_push_all(mp->m_ail); in xfs_log_worker()
1331 xfs_log_work_queue(mp); in xfs_log_worker()
1341 struct xfs_mount *mp, in xlog_alloc_log() argument
1357 xfs_warn(mp, "Log allocation failed: No memory!"); in xlog_alloc_log()
1361 log->l_mp = mp; in xlog_alloc_log()
1380 if (xfs_sb_version_hassector(&mp->m_sb)) { in xlog_alloc_log()
1381 log2_size = mp->m_sb.sb_logsectlog; in xlog_alloc_log()
1383 xfs_warn(mp, "Log sector size too small (0x%x < 0x%x)", in xlog_alloc_log()
1389 if (log2_size > mp->m_sectbb_log) { in xlog_alloc_log()
1390 xfs_warn(mp, "Log sector size too large (0x%x > 0x%x)", in xlog_alloc_log()
1391 log2_size, mp->m_sectbb_log); in xlog_alloc_log()
1397 !xfs_sb_version_haslogv2(&mp->m_sb)) { in xlog_alloc_log()
1398 xfs_warn(mp, in xlog_alloc_log()
1406 xlog_get_iclog_buffer_size(mp, log); in xlog_alloc_log()
1414 bp = xfs_buf_alloc(mp->m_logdev_targp, XFS_BUF_DADDR_NULL, in xlog_alloc_log()
1428 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1453 bp = xfs_buf_get_uncached(mp->m_logdev_targp, in xlog_alloc_log()
1462 bp->b_ioend_wq = mp->m_log_workqueue; in xlog_alloc_log()
1477 memcpy(&head->h_fs_uuid, &mp->m_sb.sb_uuid, sizeof(uuid_t)); in xlog_alloc_log()
1527 struct xfs_mount *mp = log->l_mp; in xlog_commit_record() local
1543 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xlog_commit_record()
1985 struct xfs_mount *mp, in xlog_print_tic_res() argument
2056 xfs_warn(mp, "xlog_write: reservation summary:"); in xlog_print_tic_res()
2057 xfs_warn(mp, " trans type = %s (%u)", in xlog_print_tic_res()
2062 xfs_warn(mp, " unit res = %d bytes", in xlog_print_tic_res()
2064 xfs_warn(mp, " current res = %d bytes", in xlog_print_tic_res()
2066 xfs_warn(mp, " total reg = %u bytes (o/flow = %u bytes)", in xlog_print_tic_res()
2068 xfs_warn(mp, " ophdrs = %u (ophdr space = %u bytes)", in xlog_print_tic_res()
2070 xfs_warn(mp, " ophdr + reg = %u bytes", in xlog_print_tic_res()
2072 xfs_warn(mp, " num regions = %u", in xlog_print_tic_res()
2077 xfs_warn(mp, "region[%u]: %s - %u bytes", i, in xlog_print_tic_res()
2083 xfs_alert_tag(mp, XFS_PTAG_LOGRES, in xlog_print_tic_res()
2085 xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR); in xlog_print_tic_res()
3224 struct xfs_mount *mp, in _xfs_log_force() argument
3228 struct xlog *log = mp->m_log; in _xfs_log_force()
3232 XFS_STATS_INC(mp, xs_log_force); in _xfs_log_force()
3317 XFS_STATS_INC(mp, xs_log_force_sleep); in _xfs_log_force()
3343 xfs_mount_t *mp, in xfs_log_force() argument
3348 trace_xfs_log_force(mp, 0); in xfs_log_force()
3349 error = _xfs_log_force(mp, flags, NULL); in xfs_log_force()
3351 xfs_warn(mp, "%s: error %d returned.", __func__, error); in xfs_log_force()
3371 struct xfs_mount *mp, in _xfs_log_force_lsn() argument
3376 struct xlog *log = mp->m_log; in _xfs_log_force_lsn()
3382 XFS_STATS_INC(mp, xs_log_force); in _xfs_log_force_lsn()
3431 XFS_STATS_INC(mp, xs_log_force_sleep); in _xfs_log_force_lsn()
3461 XFS_STATS_INC(mp, xs_log_force_sleep); in _xfs_log_force_lsn()
3491 xfs_mount_t *mp, in xfs_log_force_lsn() argument
3497 trace_xfs_log_force(mp, lsn); in xfs_log_force_lsn()
3498 error = _xfs_log_force_lsn(mp, lsn, flags, NULL); in xfs_log_force_lsn()
3500 xfs_warn(mp, "%s: error %d returned.", __func__, error); in xfs_log_force_lsn()
3557 struct xfs_mount *mp, in xfs_log_calc_unit_res() argument
3560 struct xlog *log = mp->m_log; in xfs_log_calc_unit_res()
3637 if (xfs_sb_version_haslogv2(&mp->m_sb) && mp->m_sb.sb_logsunit > 1) { in xfs_log_calc_unit_res()
3639 unit_bytes += 2 * mp->m_sb.sb_logsunit; in xfs_log_calc_unit_res()
3933 struct xfs_mount *mp, in xfs_log_force_umount() argument
3939 log = mp->m_log; in xfs_log_force_umount()
3947 mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN; in xfs_log_force_umount()
3948 if (mp->m_sb_bp) in xfs_log_force_umount()
3949 XFS_BUF_DONE(mp->m_sb_bp); in xfs_log_force_umount()
3970 _xfs_log_force(mp, XFS_LOG_SYNC, NULL); in xfs_log_force_umount()
3977 mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN; in xfs_log_force_umount()
3978 if (mp->m_sb_bp) in xfs_log_force_umount()
3979 XFS_BUF_DONE(mp->m_sb_bp); in xfs_log_force_umount()
4049 struct xfs_mount *mp, in xfs_log_check_lsn() argument
4052 struct xlog *log = mp->m_log; in xfs_log_check_lsn()
4060 if (mp->m_flags & XFS_MOUNT_NORECOVERY) in xfs_log_check_lsn()
4070 valid = xlog_valid_lsn(mp->m_log, lsn); in xfs_log_check_lsn()
4075 xfs_warn(mp, in xfs_log_check_lsn()