	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ffs_mount
_ffs_mount:                             ## @ffs_mount
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	movq	%rdi, -56(%rbp)
	movl	$0, -60(%rbp)
	movq	_curthread@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	movl	4(%rdi), %edi
	movq	_ffs_opts@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_vfs_filteropt
	testq	%rax, %rax
	je	LBB0_2
LBB0_1:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	jmp	LBB0_118
LBB0_2:
	movq	_uma_inode@GOTPCREL(%rip), %r15
	cmpq	$0, (%r15)
	jne	LBB0_4
## %bb.3:
	movq	_UMA_ALIGN_PTR@GOTPCREL(%rip), %r14
	movl	(%r14), %eax
	leaq	L_.str(%rip), %rdi
	movl	$4, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	$0
	pushq	%rax
	callq	_uma_zcreate
	addq	$16, %rsp
	movq	%rax, (%r15)
	movl	(%r14), %eax
	leaq	L_.str.1(%rip), %rdi
	movl	$4, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	$0
	pushq	%rax
	callq	_uma_zcreate
	addq	$16, %rsp
	movq	_uma_ufs1@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movl	(%r14), %eax
	leaq	L_.str.2(%rip), %rdi
	movl	$4, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	$0
	pushq	%rax
	callq	_uma_zcreate
	addq	$16, %rsp
	movq	_uma_ufs2@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
LBB0_4:
	movl	4(%rbx), %edi
	leaq	L_.str.3(%rip), %rsi
	callq	_vfs_deleteopt
	movl	4(%rbx), %edi
	leaq	L_.str.4(%rip), %rsi
	callq	_vfs_deleteopt
	movl	4(%rbx), %edi
	leaq	L_.str.5(%rip), %rsi
	leaq	-44(%rbp), %rdx
	callq	_vfs_getopts
	movq	%rax, %r14
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	je	LBB0_5
LBB0_118:
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_5:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.6(%rip), %rsi
	xorl	%r12d, %r12d
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_getopt
	movl	$0, %ebx
	testq	%rax, %rax
	jne	LBB0_7
## %bb.6:
	movq	_MNT_UNTRUSTED@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
LBB0_7:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_getopt
	movq	_MNT_ACLS@GOTPCREL(%rip), %rcx
	testq	%rax, %rax
	jne	LBB0_9
## %bb.8:
	movl	(%rcx), %r12d
LBB0_9:
	orl	%ebx, %r12d
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.8(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_getopt
	testq	%rax, %rax
	jne	LBB0_11
## %bb.10:
	movq	_MNT_SNAPSHOT@GOTPCREL(%rip), %rax
	orl	(%rax), %r12d
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.8(%rip), %r15
	movq	%r15, %rsi
	callq	_vfs_deleteopt
	movq	-56(%rbp), %rax
	movl	8(%rax), %edi
	movq	%r15, %rsi
	callq	_vfs_deleteopt
LBB0_11:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.9(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_getopt
	testq	%rax, %rax
	jne	LBB0_22
## %bb.12:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.9(%rip), %rsi
	leaq	L_.str.10(%rip), %rdx
	leaq	-60(%rbp), %rcx
	callq	_vfs_scanopt
	cmpl	$1, %eax
	jne	LBB0_22
## %bb.13:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.9(%rip), %r15
	movq	%r15, %rsi
	callq	_vfs_deleteopt
	movq	-56(%rbp), %rax
	movl	8(%rax), %edi
	movq	%r15, %rsi
	callq	_vfs_deleteopt
	movq	-56(%rbp), %rdi
	movq	_MNT_UPDATE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rdi)
	je	LBB0_19
## %bb.14:
	callq	_VFSTOUFS
	movq	8(%rax), %rax
	cmpq	$0, (%rax)
	jne	LBB0_20
## %bb.15:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	jmp	LBB0_16
LBB0_19:
	movl	4(%rdi), %edi
LBB0_16:
	leaq	L_.str.11(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_flagopt
	testq	%rax, %rax
	je	LBB0_17
LBB0_20:
	cmpl	$0, -60(%rbp)
	jne	LBB0_22
## %bb.21:
	movl	$-1, -60(%rbp)
LBB0_22:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.13(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_getopt
	testq	%rax, %rax
	je	LBB0_23
LBB0_26:
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	-56(%rbp), %rdi
	orl	%r12d, (%rdi)
	callq	_MNT_IUNLOCK
	movq	-56(%rbp), %rdi
	movq	_MNT_UPDATE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %eax
	testl	%eax, (%rdi)
	je	LBB0_27
## %bb.28:
	callq	_VFSTOUFS
	movq	%rax, %r15
	movq	8(%rax), %r12
	movq	16(%rax), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	cmpl	$-1, -60(%rbp)
	je	LBB0_29
LBB0_33:
	cmpq	$0, (%r12)
	je	LBB0_34
LBB0_53:
	movq	-56(%rbp), %rdi
	movq	_MNT_RELOAD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rdi)
	je	LBB0_55
## %bb.54:
	movq	%r13, %rsi
	xorl	%edx, %edx
	callq	_ffs_reload
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
LBB0_55:
	cmpq	$0, (%r12)
	je	LBB0_79
## %bb.56:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.11(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_flagopt
	testq	%rax, %rax
	je	LBB0_57
LBB0_79:
	movq	-56(%rbp), %rdi
	callq	_MOUNTEDSOFTDEP
	testq	%rax, %rax
	je	LBB0_81
## %bb.80:
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	_MNT_ASYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	notl	%eax
	movq	-56(%rbp), %rdi
	andl	%eax, (%rdi)
	callq	_MNT_IUNLOCK
LBB0_81:
	movl	32(%r12), %eax
	movq	_FS_ACLS@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_83
## %bb.82:
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	_MNT_ACLS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	-56(%rbp), %rdi
	orl	%eax, (%rdi)
	callq	_MNT_IUNLOCK
	movl	32(%r12), %eax
LBB0_83:
	movq	_FS_NFS4ACLS@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_85
## %bb.84:
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	_MNT_NFS4ACLS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	-56(%rbp), %rdi
	orl	%eax, (%rdi)
	callq	_MNT_IUNLOCK
LBB0_85:
	cmpl	$0, -60(%rbp)
	jle	LBB0_93
## %bb.86:
	cmpl	$0, (%r15)
	movq	-56(%rbp), %rdi
	je	LBB0_88
## %bb.87:
	movq	24(%r12), %rdx
	leaq	L_.str.22(%rip), %rsi
	xorl	%eax, %eax
	callq	_vfs_mount_error
	jmp	LBB0_1
LBB0_23:
	movq	_MNT_ACLS@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_25
## %bb.24:
	movq	-56(%rbp), %rdi
	leaq	L_.str.14(%rip), %rsi
LBB0_18:
	xorl	%eax, %eax
	callq	_vfs_mount_error
	jmp	LBB0_1
LBB0_27:
	movq	%rbx, %r12
	xorl	%r15d, %r15d
LBB0_96:
	movq	_LOOKUP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_FOLLOW@GOTPCREL(%rip), %rax
	movq	_LOCKLEAF@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	orl	(%rax), %edx
	movq	_UIO_SYSSPACE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	-80(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%r14, %r8
	movq	%r13, %r9
	callq	_NDINIT
	movq	%rbx, %rdi
	callq	_namei
	movl	%eax, -44(%rbp)
	movq	-56(%rbp), %rdi
	movl	(%r12), %ecx
	testl	%ecx, (%rdi)
	je	LBB0_98
## %bb.97:
	movq	_MBF_NOWAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_vfs_busy
	xorl	%edi, %edi
	testl	%eax, %eax
	sete	%dil
	callq	_MPASS
	movl	-44(%rbp), %eax
LBB0_98:
	testl	%eax, %eax
	jne	LBB0_118
## %bb.99:
	movq	_NDF_ONLY_PNBUF@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-80(%rbp), %rdi
	callq	_NDFREE
	movq	-80(%rbp), %rbx
	leaq	-44(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_vn_isdisk
	testl	%eax, %eax
	je	LBB0_100
## %bb.101:
	movq	_VREAD@GOTPCREL(%rip), %rax
	movq	-56(%rbp), %rcx
	movq	_MNT_RDONLY@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	xorl	%esi, %esi
	andl	(%rcx), %edx
	jne	LBB0_103
## %bb.102:
	movq	_VWRITE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
LBB0_103:
	orl	(%rax), %esi
	movl	(%r13), %edx
	movq	%rbx, %rdi
	movq	%r13, %rcx
	callq	_VOP_ACCESS
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_105
## %bb.104:
	movq	_PRIV_VFS_MOUNT_PERM@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_priv_check
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_105
LBB0_100:
	movq	%rbx, %rdi
	callq	_vput
	movl	-44(%rbp), %eax
	jmp	LBB0_118
LBB0_29:
	cmpl	$0, (%r15)
	jle	LBB0_33
## %bb.30:
	movq	-56(%rbp), %rdi
	movq	_WRITECLOSE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdx
	callq	_ffs_flushfiles
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.31:
	movq	_MNT_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	xorl	%edx, %edx
	callq	_ffs_sbupdate
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.32:
	xorl	%eax, %eax
	callq	_g_topology_lock
	movl	4(%r15), %edi
	xorl	%esi, %esi
	movl	$-1, %edx
	xorl	%ecx, %ecx
	callq	_g_access
	movl	%eax, -44(%rbp)
	xorl	%eax, %eax
	callq	_g_topology_unlock
	movl	$0, (%r15)
	jmp	LBB0_33
LBB0_34:
	movq	-56(%rbp), %rax
	movl	4(%rax), %edi
	leaq	L_.str.11(%rip), %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_vfs_flagopt
	testq	%rax, %rax
	je	LBB0_53
## %bb.35:
	movq	_V_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-56(%rbp), %rsi
	xorl	%edi, %edi
	callq	_vn_start_write
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.36:
	movq	-56(%rbp), %rdi
	callq	_vfs_write_suspend_umnt
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.37:
	movq	_WRITECLOSE@GOTPCREL(%rip), %rax
	movq	-56(%rbp), %rdi
	movq	_MNT_FORCE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	andl	(%rdi), %ebx
	je	LBB0_39
## %bb.38:
	movq	_FORCECLOSE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
LBB0_39:
	orl	(%rax), %ebx
	callq	_MOUNTEDSOFTDEP
	movq	-56(%rbp), %rdi
	movl	%ebx, %esi
	movq	%r13, %rdx
	testq	%rax, %rax
	je	LBB0_41
## %bb.40:
	callq	_softdep_flushfiles
	jmp	LBB0_42
LBB0_25:
	movq	_MNT_NFS4ACLS@GOTPCREL(%rip), %rax
	orl	(%rax), %r12d
	jmp	LBB0_26
LBB0_17:
	movq	-56(%rbp), %rdi
	leaq	L_.str.12(%rip), %rsi
	jmp	LBB0_18
LBB0_105:
	movq	-56(%rbp), %rsi
	movl	(%r12), %eax
	testl	%eax, (%rsi)
	je	LBB0_109
## %bb.106:
	movq	(%rbx), %rax
	movq	16(%r15), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_108
## %bb.107:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
LBB0_108:
	movq	%rbx, %rdi
	callq	_vput
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	LBB0_118
LBB0_117:
	movq	-56(%rbp), %rdi
	movq	%r14, %rsi
	callq	_vfs_mountedfrom
	xorl	%eax, %eax
	jmp	LBB0_118
LBB0_57:
	cmpl	$0, (%r15)
	jle	LBB0_59
## %bb.58:
	movq	-56(%rbp), %rdi
	leaq	L_.str.16(%rip), %rsi
	jmp	LBB0_18
LBB0_88:
	callq	_MOUNTEDSOFTDEP
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	leaq	L_.str.23(%rip), %rsi
	callq	_KASSERT
	xorl	%eax, %eax
	callq	_g_topology_lock
	movl	4(%r15), %edi
	xorl	%esi, %esi
	movl	$1, %edx
	xorl	%ecx, %ecx
	callq	_g_access
	movl	%eax, -44(%rbp)
	xorl	%eax, %eax
	callq	_g_topology_unlock
	cmpl	$0, -44(%rbp)
	je	LBB0_90
## %bb.89:
	movq	-56(%rbp), %rdi
	movq	24(%r12), %rdx
	leaq	L_.str.24(%rip), %rsi
	xorl	%eax, %eax
	callq	_vfs_mount_error
	movl	-44(%rbp), %eax
	jmp	LBB0_118
LBB0_109:
	movq	%rbx, %rdi
	movq	%r13, %rdx
	callq	_ffs_mountfs
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_111
## %bb.110:
	movq	%rbx, %rdi
	callq	_vrele
	movl	-44(%rbp), %eax
	jmp	LBB0_118
LBB0_59:
	movq	_LK_EXCLUSIVE@GOTPCREL(%rip), %rax
	movq	_LK_RETRY@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_vn_lock
	movq	_VREAD@GOTPCREL(%rip), %rax
	movq	_VWRITE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	movl	(%r13), %edx
	movq	%rbx, %rdi
	movq	%r13, %rcx
	callq	_VOP_ACCESS
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_62
## %bb.60:
	movq	_PRIV_VFS_MOUNT_PERM@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_priv_check
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_62
## %bb.61:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_VOP_UNLOCK
	movl	-44(%rbp), %eax
	jmp	LBB0_118
LBB0_90:
	movl	-60(%rbp), %eax
	movl	%eax, (%r15)
	movq	40(%r12), %rax
	cmpq	$0, (%rax)
	je	LBB0_92
## %bb.91:
	movq	-56(%rbp), %rdi
	callq	_ffs_snapshot_mount
LBB0_92:
	movq	_time_second@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 56(%r12)
	movl	$1, 48(%r12)
	movl	$0, 36(%r12)
	movq	_MNT_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	xorl	%edx, %edx
	callq	_ffs_sbupdate
LBB0_93:
	movq	-56(%rbp), %rdi
	movq	_MNT_SNAPSHOT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rdi)
	je	LBB0_95
## %bb.94:
	movq	%r14, %rsi
	callq	_ffs_snapshot
	jmp	LBB0_118
LBB0_95:
	movq	%rbx, %r12
	callq	_vfs_unbusy
	jmp	LBB0_96
LBB0_62:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_VOP_UNLOCK
	movq	_FS_UNCLEAN@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	%ecx, %edx
	notl	%edx
	movl	32(%r12), %eax
	andl	%eax, %edx
	movl	%edx, 32(%r12)
	cmpl	$0, 36(%r12)
	jne	LBB0_67
## %bb.63:
	orl	%ecx, %eax
	movl	%eax, 32(%r12)
	movq	-56(%rbp), %rdi
	movq	_MNT_FORCE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rdi)
	je	LBB0_64
LBB0_66:
	movq	24(%r12), %rsi
	leaq	L_.str.17(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
LBB0_67:
	xorl	%eax, %eax
	callq	_g_topology_lock
	movl	4(%r15), %edi
	xorl	%esi, %esi
	movl	$1, %edx
	movl	$1, %ecx
	callq	_g_access
	movl	%eax, -44(%rbp)
	xorl	%eax, %eax
	callq	_g_topology_unlock
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	LBB0_118
## %bb.68:
	movq	_V_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-56(%rbp), %rsi
	xorl	%edi, %edi
	callq	_vn_start_write
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.69:
	movq	-56(%rbp), %rdi
	callq	_vfs_write_suspend_umnt
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_118
## %bb.70:
	movq	$0, (%r12)
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	_MNT_RDONLY@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	-56(%rbp), %rdi
	callq	_MOUNTEDSOFTDEP
	movq	-56(%rbp), %rdi
	movl	(%rdi), %ecx
	testq	%rax, %rax
	je	LBB0_72
## %bb.71:
	movq	_MNT_ASYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, %edx
	andl	%ecx, %edx
	cmovnel	%eax, %edx
	orl	%edx, %ebx
LBB0_72:
	movl	%ebx, %eax
	notl	%eax
	andl	%eax, %ecx
	movl	%ecx, (%rdi)
	callq	_MNT_IUNLOCK
	movq	_time_second@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 56(%r12)
	movq	_FS_DOSOFTDEP@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 32(%r12)
	je	LBB0_75
## %bb.73:
	movq	-56(%rbp), %rsi
	movl	(%r13), %ecx
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	%r12, %rdx
	callq	_softdep_mount
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	jne	LBB0_74
LBB0_75:
	movl	$0, 36(%r12)
	movq	_MNT_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	xorl	%edx, %edx
	callq	_ffs_sbupdate
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_76
LBB0_74:
	movq	$1, (%r12)
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	-56(%rbp), %rdi
	orl	%ebx, (%rdi)
	callq	_MNT_IUNLOCK
	jmp	LBB0_43
LBB0_111:
	cmpl	$0, -60(%rbp)
	jle	LBB0_117
## %bb.112:
	movq	-56(%rbp), %rdi
	callq	_MOUNTEDSOFTDEP
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	leaq	L_.str.23(%rip), %rsi
	callq	_KASSERT
	movq	-56(%rbp), %rdi
	callq	_VFSTOUFS
	movq	%rax, %rbx
	movq	8(%rax), %r15
	xorl	%eax, %eax
	callq	_g_topology_lock
	movl	4(%rbx), %edi
	xorl	%esi, %esi
	movl	$1, %edx
	xorl	%ecx, %ecx
	callq	_g_access
	movl	%eax, -44(%rbp)
	xorl	%eax, %eax
	callq	_g_topology_unlock
	cmpl	$0, -44(%rbp)
	je	LBB0_114
## %bb.113:
	movq	24(%r15), %rsi
	leaq	L_.str.25(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_117
LBB0_41:
	callq	_ffs_flushfiles
LBB0_42:
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	movq	_MNT_UPDATE@GOTPCREL(%rip), %rbx
	jne	LBB0_43
## %bb.44:
	movq	8(%r12), %rdx
	movq	16(%r12), %rcx
	movq	%rdx, %rax
	orq	%rcx, %rax
	je	LBB0_46
## %bb.45:
	leaq	8(%r12), %rbx
	movq	24(%r12), %rsi
	leaq	L_.str.15(%rip), %rdi
                                        ## kill: def $edx killed $edx killed $rdx
	xorl	%eax, %eax
	callq	_printf
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rbx)
	movq	_MNT_UPDATE@GOTPCREL(%rip), %rbx
LBB0_46:
	movq	_FS_UNCLEAN@GOTPCREL(%rip), %rax
	movq	_FS_NEEDSFSCK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	testl	%ecx, 32(%r12)
	jne	LBB0_48
## %bb.47:
	movl	$1, 36(%r12)
LBB0_48:
	movq	_MNT_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	xorl	%edx, %edx
	callq	_ffs_sbupdate
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_50
## %bb.49:
	movq	$0, (%r12)
	movl	$0, 36(%r12)
LBB0_43:
	movq	-56(%rbp), %rdi
	xorl	%esi, %esi
	callq	_vfs_write_resume
	movl	-44(%rbp), %eax
	jmp	LBB0_118
LBB0_50:
	movq	-56(%rbp), %rdi
	callq	_MOUNTEDSOFTDEP
	testq	%rax, %rax
	je	LBB0_52
## %bb.51:
	movq	-56(%rbp), %rdi
	callq	_softdep_unmount
LBB0_52:
	xorl	%eax, %eax
	callq	_g_topology_lock
	movl	4(%r15), %edi
	xorl	%esi, %esi
	movl	$-1, %edx
	movl	$-1, %ecx
	callq	_g_access
	xorl	%eax, %eax
	callq	_g_topology_unlock
	movq	$1, (%r12)
	movq	-56(%rbp), %rdi
	callq	_MNT_ILOCK
	movq	_MNT_RDONLY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	-56(%rbp), %rdi
	orl	%eax, (%rdi)
	callq	_MNT_IUNLOCK
	movq	-56(%rbp), %rdi
	xorl	%esi, %esi
	callq	_vfs_write_resume
	jmp	LBB0_53
LBB0_114:
	movl	-60(%rbp), %eax
	movl	%eax, (%rbx)
	movq	40(%r15), %rax
	cmpq	$0, (%rax)
	je	LBB0_116
## %bb.115:
	movq	-56(%rbp), %rdi
	callq	_ffs_snapshot_mount
LBB0_116:
	movq	_time_second@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 56(%r15)
	movl	$0, 36(%r15)
	movq	_MNT_WAIT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	xorl	%edx, %edx
	callq	_ffs_sbupdate
	jmp	LBB0_117
LBB0_64:
	movq	_FS_SUJ@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	_FS_NEEDSFSCK@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	%ecx, %edx
	testl	%eax, %edx
	je	LBB0_65
LBB0_119:
	movq	24(%r12), %rdx
	testl	%eax, %ecx
	leaq	L_.str.20(%rip), %rax
	leaq	L_.str.21(%rip), %r8
	cmoveq	%rax, %r8
	leaq	L_.str.18(%rip), %rsi
	leaq	L_.str.19(%rip), %rcx
	xorl	%eax, %eax
	callq	_vfs_mount_error
	movq	_EPERM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	jmp	LBB0_118
LBB0_65:
	movq	_FS_DOSOFTDEP@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	jne	LBB0_66
	jmp	LBB0_119
LBB0_76:
	movq	40(%r12), %rax
	cmpq	$0, (%rax)
	je	LBB0_78
## %bb.77:
	movq	-56(%rbp), %rdi
	callq	_ffs_snapshot_mount
LBB0_78:
	movq	-56(%rbp), %rdi
	xorl	%esi, %esi
	callq	_vfs_write_resume
	movq	_MNT_UPDATE@GOTPCREL(%rip), %rbx
	jmp	LBB0_79
	.cfi_endproc
                                        ## -- End function
	.comm	_curthread,8,3                  ## @curthread
	.comm	_ffs_opts,4,2                   ## @ffs_opts
	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_uma_inode,8,3                  ## @uma_inode
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"FFS inode"

	.comm	_UMA_ALIGN_PTR,4,2              ## @UMA_ALIGN_PTR
L_.str.1:                               ## @.str.1
	.asciz	"FFS1 dinode"

	.comm	_uma_ufs1,8,3                   ## @uma_ufs1
L_.str.2:                               ## @.str.2
	.asciz	"FFS2 dinode"

	.comm	_uma_ufs2,8,3                   ## @uma_ufs2
L_.str.3:                               ## @.str.3
	.asciz	"groupquota"

L_.str.4:                               ## @.str.4
	.asciz	"userquota"

L_.str.5:                               ## @.str.5
	.asciz	"from"

L_.str.6:                               ## @.str.6
	.asciz	"untrusted"

	.comm	_MNT_UNTRUSTED,4,2              ## @MNT_UNTRUSTED
L_.str.7:                               ## @.str.7
	.asciz	"acls"

	.comm	_MNT_ACLS,4,2                   ## @MNT_ACLS
L_.str.8:                               ## @.str.8
	.asciz	"snapshot"

	.comm	_MNT_SNAPSHOT,4,2               ## @MNT_SNAPSHOT
L_.str.9:                               ## @.str.9
	.asciz	"fsckpid"

L_.str.10:                              ## @.str.10
	.asciz	"%d"

	.comm	_MNT_UPDATE,4,2                 ## @MNT_UPDATE
L_.str.11:                              ## @.str.11
	.asciz	"ro"

L_.str.12:                              ## @.str.12
	.asciz	"Checker enable: Must be read-only"

L_.str.13:                              ## @.str.13
	.asciz	"nfsv4acls"

L_.str.14:                              ## @.str.14
	.asciz	"\"acls\" and \"nfsv4acls\" options are mutually exclusive"

	.comm	_MNT_NFS4ACLS,4,2               ## @MNT_NFS4ACLS
	.comm	_WRITECLOSE,4,2                 ## @WRITECLOSE
	.comm	_MNT_WAIT,4,2                   ## @MNT_WAIT
	.comm	_V_WAIT,4,2                     ## @V_WAIT
	.comm	_MNT_FORCE,4,2                  ## @MNT_FORCE
	.comm	_FORCECLOSE,4,2                 ## @FORCECLOSE
L_.str.15:                              ## @.str.15
	.asciz	"WARNING: %s Update error: blocks %jd files %d\n"

	.comm	_FS_UNCLEAN,4,2                 ## @FS_UNCLEAN
	.comm	_FS_NEEDSFSCK,4,2               ## @FS_NEEDSFSCK
	.comm	_MNT_RDONLY,4,2                 ## @MNT_RDONLY
	.comm	_MNT_RELOAD,4,2                 ## @MNT_RELOAD
L_.str.16:                              ## @.str.16
	.asciz	"Active checker, cannot upgrade to write"

	.comm	_LK_EXCLUSIVE,4,2               ## @LK_EXCLUSIVE
	.comm	_LK_RETRY,4,2                   ## @LK_RETRY
	.comm	_VREAD,4,2                      ## @VREAD
	.comm	_VWRITE,4,2                     ## @VWRITE
	.comm	_PRIV_VFS_MOUNT_PERM,4,2        ## @PRIV_VFS_MOUNT_PERM
	.comm	_FS_SUJ,4,2                     ## @FS_SUJ
	.comm	_FS_DOSOFTDEP,4,2               ## @FS_DOSOFTDEP
L_.str.17:                              ## @.str.17
	.asciz	"WARNING: %s was not properly dismounted\n"

L_.str.18:                              ## @.str.18
	.asciz	"R/W mount of %s denied. %s.%s"

L_.str.19:                              ## @.str.19
	.asciz	"Filesystem is not clean - run fsck"

L_.str.20:                              ## @.str.20
	.space	1

L_.str.21:                              ## @.str.21
	.asciz	" Forced mount will invalidate journal contents"

	.comm	_EPERM,4,2                      ## @EPERM
	.comm	_MNT_ASYNC,4,2                  ## @MNT_ASYNC
	.comm	_time_second,8,3                ## @time_second
	.comm	_FS_ACLS,4,2                    ## @FS_ACLS
	.comm	_FS_NFS4ACLS,4,2                ## @FS_NFS4ACLS
L_.str.22:                              ## @.str.22
	.asciz	"Active checker already running on %s"

L_.str.23:                              ## @.str.23
	.asciz	"soft updates enabled on read-only file system"

L_.str.24:                              ## @.str.24
	.asciz	"Checker activation failed on %s"

	.comm	_LOOKUP,4,2                     ## @LOOKUP
	.comm	_FOLLOW,4,2                     ## @FOLLOW
	.comm	_LOCKLEAF,4,2                   ## @LOCKLEAF
	.comm	_UIO_SYSSPACE,4,2               ## @UIO_SYSSPACE
	.comm	_MBF_NOWAIT,4,2                 ## @MBF_NOWAIT
	.comm	_NDF_ONLY_PNBUF,4,2             ## @NDF_ONLY_PNBUF
L_.str.25:                              ## @.str.25
	.asciz	"WARNING: %s: Checker activation failed\n"

	.no_dead_strip	_ffs_mount
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ffs_mount
_ffs_mount:                             ; @ffs_mount
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x19, x0
	str	x0, [sp, #40]
Lloh0:
	adrp	x8, _curthread@GOTPAGE
Lloh1:
	ldr	x8, [x8, _curthread@GOTPAGEOFF]
	str	wzr, [sp, #36]
Lloh2:
	ldr	x20, [x8]
	ldr	w0, [x0, #4]
Lloh3:
	adrp	x8, _ffs_opts@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ffs_opts@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	bl	_vfs_filteropt
	cbz	x0, LBB0_2
LBB0_1:
Lloh6:
	adrp	x8, _EINVAL@GOTPAGE
Lloh7:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh8:
	ldr	w0, [x8]
	b	LBB0_5
LBB0_2:
Lloh9:
	adrp	x21, _uma_inode@GOTPAGE
Lloh10:
	ldr	x21, [x21, _uma_inode@GOTPAGEOFF]
	ldr	x8, [x21]
	cbnz	x8, LBB0_4
; %bb.3:
Lloh11:
	adrp	x22, _UMA_ALIGN_PTR@GOTPAGE
Lloh12:
	ldr	x22, [x22, _UMA_ALIGN_PTR@GOTPAGEOFF]
	ldr	w6, [x22]
Lloh13:
	adrp	x0, l_.str@PAGE
Lloh14:
	add	x0, x0, l_.str@PAGEOFF
	mov	w1, #4
	mov	x2, #0
	mov	x3, #0
	mov	x4, #0
	mov	x5, #0
	mov	w7, #0
	bl	_uma_zcreate
	str	x0, [x21]
	ldr	w6, [x22]
Lloh15:
	adrp	x0, l_.str.1@PAGE
Lloh16:
	add	x0, x0, l_.str.1@PAGEOFF
	mov	w1, #4
	mov	x2, #0
	mov	x3, #0
	mov	x4, #0
	mov	x5, #0
	mov	w7, #0
	bl	_uma_zcreate
Lloh17:
	adrp	x8, _uma_ufs1@GOTPAGE
Lloh18:
	ldr	x8, [x8, _uma_ufs1@GOTPAGEOFF]
Lloh19:
	str	x0, [x8]
	ldr	w6, [x22]
Lloh20:
	adrp	x0, l_.str.2@PAGE
Lloh21:
	add	x0, x0, l_.str.2@PAGEOFF
	mov	w1, #4
	mov	x2, #0
	mov	x3, #0
	mov	x4, #0
	mov	x5, #0
	mov	w7, #0
	bl	_uma_zcreate
Lloh22:
	adrp	x8, _uma_ufs2@GOTPAGE
Lloh23:
	ldr	x8, [x8, _uma_ufs2@GOTPAGEOFF]
Lloh24:
	str	x0, [x8]
LBB0_4:
	ldr	w0, [x19, #4]
Lloh25:
	adrp	x1, l_.str.3@PAGE
Lloh26:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_vfs_deleteopt
	ldr	w0, [x19, #4]
Lloh27:
	adrp	x1, l_.str.4@PAGE
Lloh28:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_vfs_deleteopt
	ldr	w0, [x19, #4]
Lloh29:
	adrp	x1, l_.str.5@PAGE
Lloh30:
	add	x1, x1, l_.str.5@PAGEOFF
	add	x2, sp, #32
	bl	_vfs_getopts
	mov	x19, x0
	ldr	w0, [sp, #32]
	cbz	w0, LBB0_6
LBB0_5:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_6:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh31:
	adrp	x1, l_.str.6@PAGE
Lloh32:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x2, #0
	mov	x3, #0
	bl	_vfs_getopt
Lloh33:
	adrp	x8, _MNT_UNTRUSTED@GOTPAGE
Lloh34:
	ldr	x8, [x8, _MNT_UNTRUSTED@GOTPAGEOFF]
Lloh35:
	ldr	w8, [x8]
	cmp	x0, #0
	csel	w21, w8, wzr, eq
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh36:
	adrp	x1, l_.str.7@PAGE
Lloh37:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	x2, #0
	mov	x3, #0
	bl	_vfs_getopt
Lloh38:
	adrp	x26, _MNT_ACLS@GOTPAGE
Lloh39:
	ldr	x26, [x26, _MNT_ACLS@GOTPAGEOFF]
	ldr	w8, [x26]
	cmp	x0, #0
	csel	w8, w8, wzr, eq
	orr	w22, w8, w21
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh40:
	adrp	x1, l_.str.8@PAGE
Lloh41:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	x2, #0
	mov	x3, #0
	bl	_vfs_getopt
	cbnz	x0, LBB0_8
; %bb.7:
Lloh42:
	adrp	x8, _MNT_SNAPSHOT@GOTPAGE
Lloh43:
	ldr	x8, [x8, _MNT_SNAPSHOT@GOTPAGEOFF]
Lloh44:
	ldr	w8, [x8]
	orr	w22, w8, w22
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh45:
	adrp	x21, l_.str.8@PAGE
Lloh46:
	add	x21, x21, l_.str.8@PAGEOFF
	mov	x1, x21
	bl	_vfs_deleteopt
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #8]
	mov	x1, x21
	bl	_vfs_deleteopt
LBB0_8:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh47:
	adrp	x1, l_.str.9@PAGE
Lloh48:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	x2, #0
	mov	x3, #0
	bl	_vfs_getopt
	cbnz	x0, LBB0_17
; %bb.9:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh49:
	adrp	x1, l_.str.9@PAGE
Lloh50:
	add	x1, x1, l_.str.9@PAGEOFF
Lloh51:
	adrp	x2, l_.str.10@PAGE
Lloh52:
	add	x2, x2, l_.str.10@PAGEOFF
	add	x3, sp, #36
	bl	_vfs_scanopt
	cmp	w0, #1
	b.ne	LBB0_17
; %bb.10:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh53:
	adrp	x21, l_.str.9@PAGE
Lloh54:
	add	x21, x21, l_.str.9@PAGEOFF
	mov	x1, x21
	bl	_vfs_deleteopt
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #8]
	mov	x1, x21
	bl	_vfs_deleteopt
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
Lloh55:
	adrp	x9, _MNT_UPDATE@GOTPAGE
Lloh56:
	ldr	x9, [x9, _MNT_UPDATE@GOTPAGEOFF]
Lloh57:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_13
; %bb.11:
	bl	_VFSTOUFS
	ldr	x8, [x0, #8]
	ldr	x8, [x8]
	cbnz	x8, LBB0_15
; %bb.12:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
	b	LBB0_14
LBB0_13:
	ldr	w0, [x0, #4]
LBB0_14:
Lloh58:
	adrp	x1, l_.str.11@PAGE
Lloh59:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x2, #0
	mov	w3, #0
	bl	_vfs_flagopt
	cbz	x0, LBB0_54
LBB0_15:
	ldr	w8, [sp, #36]
	cbnz	w8, LBB0_17
; %bb.16:
	mov	w8, #-1
	str	w8, [sp, #36]
LBB0_17:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh60:
	adrp	x1, l_.str.13@PAGE
Lloh61:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	x2, #0
	mov	x3, #0
	bl	_vfs_getopt
	cbz	x0, LBB0_34
LBB0_18:
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
	orr	w8, w8, w22
	str	w8, [x0]
	bl	_MNT_IUNLOCK
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
Lloh62:
	adrp	x25, _MNT_UPDATE@GOTPAGE
Lloh63:
	ldr	x25, [x25, _MNT_UPDATE@GOTPAGEOFF]
	ldr	w9, [x25]
	tst	w9, w8
	b.eq	LBB0_36
; %bb.19:
	bl	_VFSTOUFS
	mov	x21, x0
	ldp	x22, x23, [x0, #8]
	ldr	w8, [sp, #36]
	cmn	w8, #1
	b.eq	LBB0_44
LBB0_20:
	ldr	x8, [x22]
	cbz	x8, LBB0_48
LBB0_21:
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
Lloh64:
	adrp	x9, _MNT_RELOAD@GOTPAGE
Lloh65:
	ldr	x9, [x9, _MNT_RELOAD@GOTPAGEOFF]
Lloh66:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_23
; %bb.22:
	mov	x1, x20
	mov	w2, #0
	bl	_ffs_reload
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
LBB0_23:
	ldr	x8, [x22]
	cbz	x8, LBB0_25
; %bb.24:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh67:
	adrp	x1, l_.str.11@PAGE
Lloh68:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x2, #0
	mov	w3, #0
	bl	_vfs_flagopt
	cbz	x0, LBB0_60
LBB0_25:
	ldr	x0, [sp, #40]
	bl	_MOUNTEDSOFTDEP
	cbz	x0, LBB0_27
; %bb.26:
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
Lloh69:
	adrp	x8, _MNT_ASYNC@GOTPAGE
Lloh70:
	ldr	x8, [x8, _MNT_ASYNC@GOTPAGEOFF]
Lloh71:
	ldr	w8, [x8]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
	bic	w8, w9, w8
	str	w8, [x0]
	bl	_MNT_IUNLOCK
LBB0_27:
	ldr	w8, [x22, #32]
Lloh72:
	adrp	x9, _FS_ACLS@GOTPAGE
Lloh73:
	ldr	x9, [x9, _FS_ACLS@GOTPAGEOFF]
Lloh74:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_29
; %bb.28:
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
	ldr	w8, [x26]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
	orr	w8, w9, w8
	str	w8, [x0]
	bl	_MNT_IUNLOCK
	ldr	w8, [x22, #32]
LBB0_29:
Lloh75:
	adrp	x9, _FS_NFS4ACLS@GOTPAGE
Lloh76:
	ldr	x9, [x9, _FS_NFS4ACLS@GOTPAGEOFF]
Lloh77:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_31
; %bb.30:
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
Lloh78:
	adrp	x8, _MNT_NFS4ACLS@GOTPAGE
Lloh79:
	ldr	x8, [x8, _MNT_NFS4ACLS@GOTPAGEOFF]
Lloh80:
	ldr	w8, [x8]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
	orr	w8, w9, w8
	str	w8, [x0]
	bl	_MNT_IUNLOCK
LBB0_31:
	ldr	w8, [sp, #36]
	cmp	w8, #1
	b.lt	LBB0_72
; %bb.32:
	ldr	w8, [x21]
	ldr	x0, [sp, #40]
	cbz	w8, LBB0_62
; %bb.33:
	ldr	x8, [x22, #24]
	str	x8, [sp]
Lloh81:
	adrp	x1, l_.str.22@PAGE
Lloh82:
	add	x1, x1, l_.str.22@PAGEOFF
	bl	_vfs_mount_error
	b	LBB0_1
LBB0_34:
	ldr	w8, [x26]
	tst	w8, w22
	b.eq	LBB0_53
; %bb.35:
	ldr	x0, [sp, #40]
Lloh83:
	adrp	x1, l_.str.14@PAGE
Lloh84:
	add	x1, x1, l_.str.14@PAGEOFF
	bl	_vfs_mount_error
	b	LBB0_1
LBB0_36:
	mov	x21, #0
LBB0_37:
Lloh85:
	adrp	x8, _LOOKUP@GOTPAGE
Lloh86:
	ldr	x8, [x8, _LOOKUP@GOTPAGEOFF]
Lloh87:
	ldr	w1, [x8]
Lloh88:
	adrp	x8, _FOLLOW@GOTPAGE
Lloh89:
	ldr	x8, [x8, _FOLLOW@GOTPAGEOFF]
Lloh90:
	adrp	x9, _LOCKLEAF@GOTPAGE
Lloh91:
	ldr	x9, [x9, _LOCKLEAF@GOTPAGEOFF]
Lloh92:
	ldr	w8, [x8]
Lloh93:
	ldr	w9, [x9]
	orr	w2, w9, w8
Lloh94:
	adrp	x8, _UIO_SYSSPACE@GOTPAGE
Lloh95:
	ldr	x8, [x8, _UIO_SYSSPACE@GOTPAGEOFF]
Lloh96:
	ldr	w3, [x8]
	add	x0, sp, #24
	mov	x4, x19
	mov	x5, x20
	bl	_NDINIT
	add	x0, sp, #24
	bl	_namei
	str	w0, [sp, #32]
	ldr	x8, [sp, #40]
	ldr	w9, [x8]
	ldr	w10, [x25]
	tst	w10, w9
	b.eq	LBB0_39
; %bb.38:
Lloh97:
	adrp	x9, _MBF_NOWAIT@GOTPAGE
Lloh98:
	ldr	x9, [x9, _MBF_NOWAIT@GOTPAGEOFF]
Lloh99:
	ldr	w1, [x9]
	mov	x0, x8
	bl	_vfs_busy
	cmp	w0, #0
	cset	w0, eq
	bl	_MPASS
	ldr	w0, [sp, #32]
LBB0_39:
	cbnz	w0, LBB0_5
; %bb.40:
Lloh100:
	adrp	x8, _NDF_ONLY_PNBUF@GOTPAGE
Lloh101:
	ldr	x8, [x8, _NDF_ONLY_PNBUF@GOTPAGEOFF]
Lloh102:
	ldr	w1, [x8]
	add	x0, sp, #24
	bl	_NDFREE
	ldr	x22, [sp, #24]
	add	x1, sp, #32
	mov	x0, x22
	bl	_vn_isdisk
	cbz	w0, LBB0_43
; %bb.41:
Lloh103:
	adrp	x8, _VREAD@GOTPAGE
Lloh104:
	ldr	x8, [x8, _VREAD@GOTPAGEOFF]
Lloh105:
	ldr	w8, [x8]
	ldr	x9, [sp, #40]
	ldr	w9, [x9]
Lloh106:
	adrp	x10, _MNT_RDONLY@GOTPAGE
Lloh107:
	ldr	x10, [x10, _MNT_RDONLY@GOTPAGEOFF]
Lloh108:
	adrp	x11, _VWRITE@GOTPAGE
Lloh109:
	ldr	x11, [x11, _VWRITE@GOTPAGEOFF]
Lloh110:
	ldr	w10, [x10]
Lloh111:
	ldr	w11, [x11]
	tst	w10, w9
	csel	w9, w11, wzr, eq
	orr	w1, w9, w8
	ldr	w2, [x20]
	mov	x0, x22
	mov	x3, x20
	bl	_VOP_ACCESS
	str	w0, [sp, #32]
	cbz	w0, LBB0_55
; %bb.42:
Lloh112:
	adrp	x8, _PRIV_VFS_MOUNT_PERM@GOTPAGE
Lloh113:
	ldr	x8, [x8, _PRIV_VFS_MOUNT_PERM@GOTPAGEOFF]
Lloh114:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_priv_check
	str	w0, [sp, #32]
	cbz	w0, LBB0_55
LBB0_43:
	mov	x0, x22
	bl	_vput
	ldr	w0, [sp, #32]
	b	LBB0_5
LBB0_44:
	ldr	w8, [x21]
	cmp	w8, #1
	b.lt	LBB0_20
; %bb.45:
	ldr	x0, [sp, #40]
Lloh115:
	adrp	x8, _WRITECLOSE@GOTPAGE
Lloh116:
	ldr	x8, [x8, _WRITECLOSE@GOTPAGEOFF]
Lloh117:
	ldr	w1, [x8]
	mov	x2, x20
	bl	_ffs_flushfiles
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.46:
Lloh118:
	adrp	x8, _MNT_WAIT@GOTPAGE
Lloh119:
	ldr	x8, [x8, _MNT_WAIT@GOTPAGEOFF]
Lloh120:
	ldr	w1, [x8]
	mov	x0, x21
	mov	w2, #0
	bl	_ffs_sbupdate
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.47:
	bl	_g_topology_lock
	ldr	w0, [x21, #4]
	mov	w1, #0
	mov	w2, #-1
	mov	w3, #0
	bl	_g_access
	str	w0, [sp, #32]
	bl	_g_topology_unlock
	str	wzr, [x21]
	b	LBB0_20
LBB0_48:
	ldr	x8, [sp, #40]
	ldr	w0, [x8, #4]
Lloh121:
	adrp	x1, l_.str.11@PAGE
Lloh122:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x2, #0
	mov	w3, #0
	bl	_vfs_flagopt
	cbz	x0, LBB0_21
; %bb.49:
Lloh123:
	adrp	x8, _V_WAIT@GOTPAGE
Lloh124:
	ldr	x8, [x8, _V_WAIT@GOTPAGEOFF]
Lloh125:
	ldr	w2, [x8]
	add	x1, sp, #40
	mov	x0, #0
	bl	_vn_start_write
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.50:
	ldr	x0, [sp, #40]
	bl	_vfs_write_suspend_umnt
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.51:
Lloh126:
	adrp	x8, _WRITECLOSE@GOTPAGE
Lloh127:
	ldr	x8, [x8, _WRITECLOSE@GOTPAGEOFF]
Lloh128:
	ldr	w8, [x8]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
Lloh129:
	adrp	x10, _MNT_FORCE@GOTPAGE
Lloh130:
	ldr	x10, [x10, _MNT_FORCE@GOTPAGEOFF]
Lloh131:
	ldr	w10, [x10]
Lloh132:
	adrp	x11, _FORCECLOSE@GOTPAGE
Lloh133:
	ldr	x11, [x11, _FORCECLOSE@GOTPAGEOFF]
Lloh134:
	ldr	w11, [x11]
	tst	w10, w9
	csel	w9, wzr, w11, eq
	orr	w24, w9, w8
	bl	_MOUNTEDSOFTDEP
	mov	x8, x0
	ldr	x0, [sp, #40]
	mov	x1, x24
	mov	x2, x20
	cbz	x8, LBB0_90
; %bb.52:
	bl	_softdep_flushfiles
	b	LBB0_91
LBB0_53:
Lloh135:
	adrp	x8, _MNT_NFS4ACLS@GOTPAGE
Lloh136:
	ldr	x8, [x8, _MNT_NFS4ACLS@GOTPAGEOFF]
Lloh137:
	ldr	w8, [x8]
	orr	w22, w8, w22
	b	LBB0_18
LBB0_54:
	ldr	x0, [sp, #40]
Lloh138:
	adrp	x1, l_.str.12@PAGE
Lloh139:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	_vfs_mount_error
	b	LBB0_1
LBB0_55:
	ldr	x1, [sp, #40]
	ldr	w8, [x1]
	ldr	w9, [x25]
	tst	w9, w8
	b.eq	LBB0_64
; %bb.56:
	ldr	x8, [x22]
	ldr	x9, [x21, #16]
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_58
; %bb.57:
Lloh140:
	adrp	x8, _EINVAL@GOTPAGE
Lloh141:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh142:
	ldr	w8, [x8]
	str	w8, [sp, #32]
LBB0_58:
	mov	x0, x22
	bl	_vput
	ldr	w0, [sp, #32]
	cbnz	w0, LBB0_5
LBB0_59:
	ldr	x0, [sp, #40]
	mov	x1, x19
	bl	_vfs_mountedfrom
	mov	w0, #0
	b	LBB0_5
LBB0_60:
	ldr	w8, [x21]
	cmp	w8, #1
	b.lt	LBB0_66
; %bb.61:
	ldr	x0, [sp, #40]
Lloh143:
	adrp	x1, l_.str.16@PAGE
Lloh144:
	add	x1, x1, l_.str.16@PAGEOFF
	bl	_vfs_mount_error
	b	LBB0_1
LBB0_62:
	bl	_MOUNTEDSOFTDEP
	cmp	x0, #0
	cset	w0, eq
Lloh145:
	adrp	x1, l_.str.23@PAGE
Lloh146:
	add	x1, x1, l_.str.23@PAGEOFF
	bl	_KASSERT
	bl	_g_topology_lock
	ldr	w0, [x21, #4]
	mov	w1, #0
	mov	w2, #1
	mov	w3, #0
	bl	_g_access
	str	w0, [sp, #32]
	bl	_g_topology_unlock
	ldr	w8, [sp, #32]
	cbz	w8, LBB0_69
; %bb.63:
	ldr	x0, [sp, #40]
	ldr	x8, [x22, #24]
	str	x8, [sp]
Lloh147:
	adrp	x1, l_.str.24@PAGE
Lloh148:
	add	x1, x1, l_.str.24@PAGEOFF
	bl	_vfs_mount_error
	ldr	w0, [sp, #32]
	b	LBB0_5
LBB0_64:
	mov	x0, x22
	mov	x2, x20
	bl	_ffs_mountfs
	str	w0, [sp, #32]
	cbz	w0, LBB0_87
; %bb.65:
	mov	x0, x22
	bl	_vrele
	ldr	w0, [sp, #32]
	b	LBB0_5
LBB0_66:
Lloh149:
	adrp	x8, _LK_EXCLUSIVE@GOTPAGE
Lloh150:
	ldr	x8, [x8, _LK_EXCLUSIVE@GOTPAGEOFF]
Lloh151:
	ldr	w8, [x8]
Lloh152:
	adrp	x9, _LK_RETRY@GOTPAGE
Lloh153:
	ldr	x9, [x9, _LK_RETRY@GOTPAGEOFF]
Lloh154:
	ldr	w9, [x9]
	orr	w1, w9, w8
	mov	x0, x23
	bl	_vn_lock
Lloh155:
	adrp	x8, _VREAD@GOTPAGE
Lloh156:
	ldr	x8, [x8, _VREAD@GOTPAGEOFF]
Lloh157:
	ldr	w8, [x8]
Lloh158:
	adrp	x9, _VWRITE@GOTPAGE
Lloh159:
	ldr	x9, [x9, _VWRITE@GOTPAGEOFF]
Lloh160:
	ldr	w9, [x9]
	orr	w1, w9, w8
	ldr	w2, [x20]
	mov	x0, x23
	mov	x3, x20
	bl	_VOP_ACCESS
	str	w0, [sp, #32]
	cbz	w0, LBB0_75
; %bb.67:
Lloh161:
	adrp	x8, _PRIV_VFS_MOUNT_PERM@GOTPAGE
Lloh162:
	ldr	x8, [x8, _PRIV_VFS_MOUNT_PERM@GOTPAGEOFF]
Lloh163:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_priv_check
	str	w0, [sp, #32]
	cbz	w0, LBB0_75
; %bb.68:
	mov	x0, x23
	mov	w1, #0
	bl	_VOP_UNLOCK
	ldr	w0, [sp, #32]
	b	LBB0_5
LBB0_69:
	ldr	w8, [sp, #36]
	str	w8, [x21]
	ldr	x8, [x22, #40]
	ldr	x8, [x8]
	cbz	x8, LBB0_71
; %bb.70:
	ldr	x0, [sp, #40]
	bl	_ffs_snapshot_mount
LBB0_71:
Lloh164:
	adrp	x8, _time_second@GOTPAGE
Lloh165:
	ldr	x8, [x8, _time_second@GOTPAGEOFF]
Lloh166:
	ldr	x8, [x8]
	str	x8, [x22, #56]
	mov	w8, #1
	str	w8, [x22, #48]
	str	wzr, [x22, #36]
Lloh167:
	adrp	x8, _MNT_WAIT@GOTPAGE
Lloh168:
	ldr	x8, [x8, _MNT_WAIT@GOTPAGEOFF]
Lloh169:
	ldr	w1, [x8]
	mov	x0, x21
	mov	w2, #0
	bl	_ffs_sbupdate
LBB0_72:
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
Lloh170:
	adrp	x9, _MNT_SNAPSHOT@GOTPAGE
Lloh171:
	ldr	x9, [x9, _MNT_SNAPSHOT@GOTPAGEOFF]
Lloh172:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_74
; %bb.73:
	mov	x1, x19
	bl	_ffs_snapshot
	b	LBB0_5
LBB0_74:
	bl	_vfs_unbusy
	b	LBB0_37
LBB0_75:
	mov	x0, x23
	mov	w1, #0
	bl	_VOP_UNLOCK
Lloh173:
	adrp	x8, _FS_UNCLEAN@GOTPAGE
Lloh174:
	ldr	x8, [x8, _FS_UNCLEAN@GOTPAGEOFF]
Lloh175:
	ldr	w8, [x8]
	ldp	w9, w10, [x22, #32]
	bic	w11, w9, w8
	str	w11, [x22, #32]
	cbnz	w10, LBB0_78
; %bb.76:
	orr	w8, w9, w8
	str	w8, [x22, #32]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
Lloh176:
	adrp	x10, _MNT_FORCE@GOTPAGE
Lloh177:
	ldr	x10, [x10, _MNT_FORCE@GOTPAGEOFF]
Lloh178:
	ldr	w10, [x10]
	tst	w10, w9
	b.eq	LBB0_105
LBB0_77:
	ldr	x1, [x22, #24]
Lloh179:
	adrp	x0, l_.str.17@PAGE
Lloh180:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_printf
LBB0_78:
	bl	_g_topology_lock
	ldr	w0, [x21, #4]
	mov	w1, #0
	mov	w2, #1
	mov	w3, #1
	bl	_g_access
	str	w0, [sp, #32]
	bl	_g_topology_unlock
	ldr	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.79:
Lloh181:
	adrp	x8, _V_WAIT@GOTPAGE
Lloh182:
	ldr	x8, [x8, _V_WAIT@GOTPAGEOFF]
Lloh183:
	ldr	w2, [x8]
	add	x1, sp, #40
	mov	x0, #0
	bl	_vn_start_write
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.80:
	ldr	x0, [sp, #40]
	bl	_vfs_write_suspend_umnt
	str	w0, [sp, #32]
	cbnz	w0, LBB0_5
; %bb.81:
	str	xzr, [x22]
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
Lloh184:
	adrp	x8, _MNT_RDONLY@GOTPAGE
Lloh185:
	ldr	x8, [x8, _MNT_RDONLY@GOTPAGEOFF]
Lloh186:
	ldr	w24, [x8]
	ldr	x0, [sp, #40]
	bl	_MOUNTEDSOFTDEP
	mov	x8, x0
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
	cbz	x8, LBB0_83
; %bb.82:
Lloh187:
	adrp	x8, _MNT_ASYNC@GOTPAGE
Lloh188:
	ldr	x8, [x8, _MNT_ASYNC@GOTPAGEOFF]
Lloh189:
	ldr	w8, [x8]
	tst	w8, w9
	csel	w8, wzr, w8, eq
	orr	w24, w8, w24
LBB0_83:
	bic	w8, w9, w24
	str	w8, [x0]
	bl	_MNT_IUNLOCK
Lloh190:
	adrp	x8, _time_second@GOTPAGE
Lloh191:
	ldr	x8, [x8, _time_second@GOTPAGEOFF]
Lloh192:
	ldr	x8, [x8]
	str	x8, [x22, #56]
	ldr	w8, [x22, #32]
Lloh193:
	adrp	x9, _FS_DOSOFTDEP@GOTPAGE
Lloh194:
	ldr	x9, [x9, _FS_DOSOFTDEP@GOTPAGEOFF]
Lloh195:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_85
; %bb.84:
	ldr	x1, [sp, #40]
	ldr	w3, [x20]
	mov	x0, x23
	mov	x2, x22
	bl	_softdep_mount
	str	w0, [sp, #32]
	cbnz	w0, LBB0_86
LBB0_85:
	str	wzr, [x22, #36]
Lloh196:
	adrp	x8, _MNT_WAIT@GOTPAGE
Lloh197:
	ldr	x8, [x8, _MNT_WAIT@GOTPAGEOFF]
Lloh198:
	ldr	w1, [x8]
	mov	x0, x21
	mov	w2, #0
	bl	_ffs_sbupdate
	str	w0, [sp, #32]
	cbz	w0, LBB0_108
LBB0_86:
	mov	w8, #1
	str	x8, [x22]
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
	ldr	x0, [sp, #40]
	ldr	w8, [x0]
	orr	w8, w8, w24
	str	w8, [x0]
	bl	_MNT_IUNLOCK
	b	LBB0_98
LBB0_87:
	ldr	w8, [sp, #36]
	cmp	w8, #1
	b.lt	LBB0_59
; %bb.88:
	ldr	x0, [sp, #40]
	bl	_MOUNTEDSOFTDEP
	cmp	x0, #0
	cset	w0, eq
Lloh199:
	adrp	x1, l_.str.23@PAGE
Lloh200:
	add	x1, x1, l_.str.23@PAGEOFF
	bl	_KASSERT
	ldr	x0, [sp, #40]
	bl	_VFSTOUFS
	mov	x20, x0
	ldr	x21, [x0, #8]
	bl	_g_topology_lock
	ldr	w0, [x20, #4]
	mov	w1, #0
	mov	w2, #1
	mov	w3, #0
	bl	_g_access
	str	w0, [sp, #32]
	bl	_g_topology_unlock
	ldr	w8, [sp, #32]
	cbz	w8, LBB0_102
; %bb.89:
	ldr	x1, [x21, #24]
Lloh201:
	adrp	x0, l_.str.25@PAGE
Lloh202:
	add	x0, x0, l_.str.25@PAGEOFF
	bl	_printf
	b	LBB0_59
LBB0_90:
	bl	_ffs_flushfiles
LBB0_91:
	str	w0, [sp, #32]
	cbnz	w0, LBB0_98
; %bb.92:
	mov	x24, x22
	ldp	x8, x9, [x24, #8]!
	orr	x10, x8, x9
	cbz	x10, LBB0_94
; %bb.93:
	ldr	x1, [x22, #24]
	stp	x8, x9, [sp]
Lloh203:
	adrp	x0, l_.str.15@PAGE
Lloh204:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_printf
	stp	xzr, xzr, [x24]
LBB0_94:
	ldr	w8, [x22, #32]
Lloh205:
	adrp	x9, _FS_UNCLEAN@GOTPAGE
Lloh206:
	ldr	x9, [x9, _FS_UNCLEAN@GOTPAGEOFF]
Lloh207:
	ldr	w9, [x9]
Lloh208:
	adrp	x10, _FS_NEEDSFSCK@GOTPAGE
Lloh209:
	ldr	x10, [x10, _FS_NEEDSFSCK@GOTPAGEOFF]
Lloh210:
	ldr	w10, [x10]
	orr	w9, w10, w9
	tst	w9, w8
	b.ne	LBB0_96
; %bb.95:
	mov	w8, #1
	str	w8, [x22, #36]
LBB0_96:
Lloh211:
	adrp	x8, _MNT_WAIT@GOTPAGE
Lloh212:
	ldr	x8, [x8, _MNT_WAIT@GOTPAGEOFF]
Lloh213:
	ldr	w1, [x8]
	mov	x0, x21
	mov	w2, #0
	bl	_ffs_sbupdate
	str	w0, [sp, #32]
	cbz	w0, LBB0_99
; %bb.97:
	str	xzr, [x22]
	str	wzr, [x22, #36]
LBB0_98:
	ldr	x0, [sp, #40]
	mov	w1, #0
	bl	_vfs_write_resume
	ldr	w0, [sp, #32]
	b	LBB0_5
LBB0_99:
	ldr	x0, [sp, #40]
	bl	_MOUNTEDSOFTDEP
	cbz	x0, LBB0_101
; %bb.100:
	ldr	x0, [sp, #40]
	bl	_softdep_unmount
LBB0_101:
	bl	_g_topology_lock
	ldr	w0, [x21, #4]
	mov	w1, #0
	mov	w2, #-1
	mov	w3, #-1
	bl	_g_access
	bl	_g_topology_unlock
	mov	w8, #1
	str	x8, [x22]
	ldr	x0, [sp, #40]
	bl	_MNT_ILOCK
Lloh214:
	adrp	x8, _MNT_RDONLY@GOTPAGE
Lloh215:
	ldr	x8, [x8, _MNT_RDONLY@GOTPAGEOFF]
Lloh216:
	ldr	w8, [x8]
	ldr	x0, [sp, #40]
	ldr	w9, [x0]
	orr	w8, w9, w8
	str	w8, [x0]
	bl	_MNT_IUNLOCK
	ldr	x0, [sp, #40]
	mov	w1, #0
	bl	_vfs_write_resume
	b	LBB0_21
LBB0_102:
	ldr	w8, [sp, #36]
	str	w8, [x20]
	ldr	x8, [x21, #40]
	ldr	x8, [x8]
	cbz	x8, LBB0_104
; %bb.103:
	ldr	x0, [sp, #40]
	bl	_ffs_snapshot_mount
LBB0_104:
Lloh217:
	adrp	x8, _time_second@GOTPAGE
Lloh218:
	ldr	x8, [x8, _time_second@GOTPAGEOFF]
Lloh219:
	ldr	x8, [x8]
	str	x8, [x21, #56]
	str	wzr, [x21, #36]
Lloh220:
	adrp	x8, _MNT_WAIT@GOTPAGE
Lloh221:
	ldr	x8, [x8, _MNT_WAIT@GOTPAGEOFF]
Lloh222:
	ldr	w1, [x8]
	mov	x0, x20
	mov	w2, #0
	bl	_ffs_sbupdate
	b	LBB0_59
LBB0_105:
Lloh223:
	adrp	x9, _FS_SUJ@GOTPAGE
Lloh224:
	ldr	x9, [x9, _FS_SUJ@GOTPAGEOFF]
Lloh225:
	ldr	w9, [x9]
Lloh226:
	adrp	x10, _FS_NEEDSFSCK@GOTPAGE
Lloh227:
	ldr	x10, [x10, _FS_NEEDSFSCK@GOTPAGEOFF]
Lloh228:
	ldr	w10, [x10]
	orr	w10, w10, w9
	tst	w10, w8
	b.eq	LBB0_107
LBB0_106:
	ldr	x10, [x22, #24]
Lloh229:
	adrp	x11, l_.str.21@PAGE
Lloh230:
	add	x11, x11, l_.str.21@PAGEOFF
Lloh231:
	adrp	x12, l_.str.20@PAGE
Lloh232:
	add	x12, x12, l_.str.20@PAGEOFF
	tst	w9, w8
	csel	x9, x12, x11, eq
Lloh233:
	adrp	x8, l_.str.19@PAGE
Lloh234:
	add	x8, x8, l_.str.19@PAGEOFF
	stp	x8, x9, [sp, #8]
	str	x10, [sp]
Lloh235:
	adrp	x1, l_.str.18@PAGE
Lloh236:
	add	x1, x1, l_.str.18@PAGEOFF
	bl	_vfs_mount_error
Lloh237:
	adrp	x8, _EPERM@GOTPAGE
Lloh238:
	ldr	x8, [x8, _EPERM@GOTPAGEOFF]
Lloh239:
	ldr	w0, [x8]
	b	LBB0_5
LBB0_107:
Lloh240:
	adrp	x10, _FS_DOSOFTDEP@GOTPAGE
Lloh241:
	ldr	x10, [x10, _FS_DOSOFTDEP@GOTPAGEOFF]
Lloh242:
	ldr	w10, [x10]
	tst	w10, w8
	b.ne	LBB0_77
	b	LBB0_106
LBB0_108:
	ldr	x8, [x22, #40]
	ldr	x8, [x8]
	cbz	x8, LBB0_110
; %bb.109:
	ldr	x0, [sp, #40]
	bl	_ffs_snapshot_mount
LBB0_110:
	ldr	x0, [sp, #40]
	mov	w1, #0
	bl	_vfs_write_resume
	b	LBB0_25
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotStr	Lloh22, Lloh23, Lloh24
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGotStr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpLdrGot	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpAdd	Lloh81, Lloh82
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh93
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh92
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh111
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh110
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpAdd	Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh123, Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpLdrGotLdr	Lloh129, Lloh130, Lloh131
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.loh AdrpLdrGotLdr	Lloh135, Lloh136, Lloh137
	.loh AdrpAdd	Lloh138, Lloh139
	.loh AdrpLdrGotLdr	Lloh140, Lloh141, Lloh142
	.loh AdrpAdd	Lloh143, Lloh144
	.loh AdrpAdd	Lloh145, Lloh146
	.loh AdrpAdd	Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh158, Lloh159, Lloh160
	.loh AdrpLdrGotLdr	Lloh155, Lloh156, Lloh157
	.loh AdrpLdrGotLdr	Lloh152, Lloh153, Lloh154
	.loh AdrpLdrGotLdr	Lloh149, Lloh150, Lloh151
	.loh AdrpLdrGotLdr	Lloh161, Lloh162, Lloh163
	.loh AdrpLdrGotLdr	Lloh167, Lloh168, Lloh169
	.loh AdrpLdrGotLdr	Lloh164, Lloh165, Lloh166
	.loh AdrpLdrGotLdr	Lloh170, Lloh171, Lloh172
	.loh AdrpLdrGotLdr	Lloh173, Lloh174, Lloh175
	.loh AdrpLdrGotLdr	Lloh176, Lloh177, Lloh178
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpLdrGotLdr	Lloh181, Lloh182, Lloh183
	.loh AdrpLdrGotLdr	Lloh184, Lloh185, Lloh186
	.loh AdrpLdrGotLdr	Lloh187, Lloh188, Lloh189
	.loh AdrpLdrGotLdr	Lloh193, Lloh194, Lloh195
	.loh AdrpLdrGotLdr	Lloh190, Lloh191, Lloh192
	.loh AdrpLdrGotLdr	Lloh196, Lloh197, Lloh198
	.loh AdrpAdd	Lloh199, Lloh200
	.loh AdrpAdd	Lloh201, Lloh202
	.loh AdrpAdd	Lloh203, Lloh204
	.loh AdrpLdrGotLdr	Lloh208, Lloh209, Lloh210
	.loh AdrpLdrGotLdr	Lloh205, Lloh206, Lloh207
	.loh AdrpLdrGotLdr	Lloh211, Lloh212, Lloh213
	.loh AdrpLdrGotLdr	Lloh214, Lloh215, Lloh216
	.loh AdrpLdrGotLdr	Lloh220, Lloh221, Lloh222
	.loh AdrpLdrGotLdr	Lloh217, Lloh218, Lloh219
	.loh AdrpLdrGotLdr	Lloh226, Lloh227, Lloh228
	.loh AdrpLdrGotLdr	Lloh223, Lloh224, Lloh225
	.loh AdrpLdrGotLdr	Lloh237, Lloh238, Lloh239
	.loh AdrpAdd	Lloh235, Lloh236
	.loh AdrpAdd	Lloh233, Lloh234
	.loh AdrpAdd	Lloh231, Lloh232
	.loh AdrpAdd	Lloh229, Lloh230
	.loh AdrpLdrGotLdr	Lloh240, Lloh241, Lloh242
	.cfi_endproc
                                        ; -- End function
	.comm	_curthread,8,3                  ; @curthread
	.comm	_ffs_opts,4,2                   ; @ffs_opts
	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_uma_inode,8,3                  ; @uma_inode
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"FFS inode"

	.comm	_UMA_ALIGN_PTR,4,2              ; @UMA_ALIGN_PTR
l_.str.1:                               ; @.str.1
	.asciz	"FFS1 dinode"

	.comm	_uma_ufs1,8,3                   ; @uma_ufs1
l_.str.2:                               ; @.str.2
	.asciz	"FFS2 dinode"

	.comm	_uma_ufs2,8,3                   ; @uma_ufs2
l_.str.3:                               ; @.str.3
	.asciz	"groupquota"

l_.str.4:                               ; @.str.4
	.asciz	"userquota"

l_.str.5:                               ; @.str.5
	.asciz	"from"

l_.str.6:                               ; @.str.6
	.asciz	"untrusted"

	.comm	_MNT_UNTRUSTED,4,2              ; @MNT_UNTRUSTED
l_.str.7:                               ; @.str.7
	.asciz	"acls"

	.comm	_MNT_ACLS,4,2                   ; @MNT_ACLS
l_.str.8:                               ; @.str.8
	.asciz	"snapshot"

	.comm	_MNT_SNAPSHOT,4,2               ; @MNT_SNAPSHOT
l_.str.9:                               ; @.str.9
	.asciz	"fsckpid"

l_.str.10:                              ; @.str.10
	.asciz	"%d"

	.comm	_MNT_UPDATE,4,2                 ; @MNT_UPDATE
l_.str.11:                              ; @.str.11
	.asciz	"ro"

l_.str.12:                              ; @.str.12
	.asciz	"Checker enable: Must be read-only"

l_.str.13:                              ; @.str.13
	.asciz	"nfsv4acls"

l_.str.14:                              ; @.str.14
	.asciz	"\"acls\" and \"nfsv4acls\" options are mutually exclusive"

	.comm	_MNT_NFS4ACLS,4,2               ; @MNT_NFS4ACLS
	.comm	_WRITECLOSE,4,2                 ; @WRITECLOSE
	.comm	_MNT_WAIT,4,2                   ; @MNT_WAIT
	.comm	_V_WAIT,4,2                     ; @V_WAIT
	.comm	_MNT_FORCE,4,2                  ; @MNT_FORCE
	.comm	_FORCECLOSE,4,2                 ; @FORCECLOSE
l_.str.15:                              ; @.str.15
	.asciz	"WARNING: %s Update error: blocks %jd files %d\n"

	.comm	_FS_UNCLEAN,4,2                 ; @FS_UNCLEAN
	.comm	_FS_NEEDSFSCK,4,2               ; @FS_NEEDSFSCK
	.comm	_MNT_RDONLY,4,2                 ; @MNT_RDONLY
	.comm	_MNT_RELOAD,4,2                 ; @MNT_RELOAD
l_.str.16:                              ; @.str.16
	.asciz	"Active checker, cannot upgrade to write"

	.comm	_LK_EXCLUSIVE,4,2               ; @LK_EXCLUSIVE
	.comm	_LK_RETRY,4,2                   ; @LK_RETRY
	.comm	_VREAD,4,2                      ; @VREAD
	.comm	_VWRITE,4,2                     ; @VWRITE
	.comm	_PRIV_VFS_MOUNT_PERM,4,2        ; @PRIV_VFS_MOUNT_PERM
	.comm	_FS_SUJ,4,2                     ; @FS_SUJ
	.comm	_FS_DOSOFTDEP,4,2               ; @FS_DOSOFTDEP
l_.str.17:                              ; @.str.17
	.asciz	"WARNING: %s was not properly dismounted\n"

l_.str.18:                              ; @.str.18
	.asciz	"R/W mount of %s denied. %s.%s"

l_.str.19:                              ; @.str.19
	.asciz	"Filesystem is not clean - run fsck"

l_.str.20:                              ; @.str.20
	.space	1

l_.str.21:                              ; @.str.21
	.asciz	" Forced mount will invalidate journal contents"

	.comm	_EPERM,4,2                      ; @EPERM
	.comm	_MNT_ASYNC,4,2                  ; @MNT_ASYNC
	.comm	_time_second,8,3                ; @time_second
	.comm	_FS_ACLS,4,2                    ; @FS_ACLS
	.comm	_FS_NFS4ACLS,4,2                ; @FS_NFS4ACLS
l_.str.22:                              ; @.str.22
	.asciz	"Active checker already running on %s"

l_.str.23:                              ; @.str.23
	.asciz	"soft updates enabled on read-only file system"

l_.str.24:                              ; @.str.24
	.asciz	"Checker activation failed on %s"

	.comm	_LOOKUP,4,2                     ; @LOOKUP
	.comm	_FOLLOW,4,2                     ; @FOLLOW
	.comm	_LOCKLEAF,4,2                   ; @LOCKLEAF
	.comm	_UIO_SYSSPACE,4,2               ; @UIO_SYSSPACE
	.comm	_MBF_NOWAIT,4,2                 ; @MBF_NOWAIT
	.comm	_NDF_ONLY_PNBUF,4,2             ; @NDF_ONLY_PNBUF
l_.str.25:                              ; @.str.25
	.asciz	"WARNING: %s: Checker activation failed\n"

	.no_dead_strip	_ffs_mount
.subsections_via_symbols
