	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function handle_stripe
_handle_stripe:                         ## @handle_stripe
	.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	$232, %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	80(%rdi), %rax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movl	(%rdi), %r13d
	movq	_STRIPE_HANDLE@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	leaq	32(%rbx), %r14
	movq	%r14, %rsi
	callq	_clear_bit
	movq	_STRIPE_ACTIVE@GOTPCREL(%rip), %r15
	movl	(%r15), %edi
	movq	%r14, %rsi
	callq	_test_and_set_bit_lock
	testq	%rax, %rax
	je	LBB0_1
## %bb.191:
	movl	(%r12), %edi
	movq	%r14, %rsi
	addq	$232, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_set_bit                        ## TAILCALL
LBB0_1:
	movq	%rbx, %rdi
	callq	_clear_batch_ready
	testq	%rax, %rax
	je	LBB0_2
## %bb.192:
	movl	(%r15), %edi
	movq	%r14, %rsi
	addq	$232, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_clear_bit_unlock               ## TAILCALL
LBB0_2:
	movq	_STRIPE_BATCH_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r14, %r12
	movq	%r14, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	movq	%rbx, %r14
	je	LBB0_4
## %bb.3:
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_break_stripe_batch_list
LBB0_4:
	movq	_STRIPE_SYNC_REQUESTED@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	movl	%r13d, %r15d
	je	LBB0_12
## %bb.5:
	cmpl	$0, 76(%r14)
	jne	LBB0_12
## %bb.6:
	leaq	72(%r14), %r13
	movq	%r13, %rdi
	callq	_spin_lock
	movq	_STRIPE_R5C_PARTIAL_STRIPE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_11
## %bb.7:
	movq	_STRIPE_R5C_FULL_STRIPE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_11
## %bb.8:
	movq	_STRIPE_DISCARD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_11
## %bb.9:
	movl	(%rbx), %edi
	movq	%r12, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_11
## %bb.10:
	movq	_STRIPE_SYNCING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
	movq	_STRIPE_INSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_clear_bit
	movq	_STRIPE_REPLACED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_clear_bit
LBB0_11:
	movq	%r13, %rdi
	callq	_spin_unlock
LBB0_12:
	movslq	%r15d, %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	_STRIPE_DELAYED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_clear_bit
	movl	40(%r14), %ebx
	movq	32(%r14), %r13
	leaq	68(%r14), %rdi
	callq	_atomic_read
	movq	8(%r14), %r8
	movq	16(%r14), %r9
	movq	56(%r14), %rcx
	movq	24(%r14), %rdx
	movq	%rdx, 8(%rsp)
	movq	%rcx, (%rsp)
	leaq	L_.str(%rip), %rdi
	movl	%ebx, %esi
	movq	%r13, %rdx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	_pr_debug
	leaq	-232(%rbp), %rsi
	movq	%r14, %rdi
	callq	_analyse_stripe
	movq	_STRIPE_LOG_TRAPPED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	movq	%r12, -64(%rbp)                 ## 8-byte Spill
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	jne	LBB0_167
## %bb.13:
	cmpq	$0, -184(%rbp)
	jne	LBB0_15
## %bb.14:
	movq	_MD_SB_CHANGE_PENDING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	16(%r13), %rsi
	addq	$24, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_16
LBB0_15:
	movq	_STRIPE_HANDLE@GOTPCREL(%rip), %rax
LBB0_23:
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
LBB0_167:
	movq	-176(%rbp), %rdi
	callq	_unlikely
	testq	%rax, %rax
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	je	LBB0_171
## %bb.168:
	movq	16(%r13), %rsi
	cmpq	$0, 8(%rsi)
	movq	-176(%rbp), %rdi
	je	LBB0_170
## %bb.169:
	callq	_md_wait_for_blocked_rdev
LBB0_171:
	cmpq	$0, -184(%rbp)
	je	LBB0_185
LBB0_172:
	testl	%r15d, %r15d
	je	LBB0_185
## %bb.173:
	shlq	$4, %rbx
	addq	$-16, %rbx
	jmp	LBB0_174
	.p2align	4, 0x90
LBB0_183:                               ##   in Loop: Header=BB0_174 Depth=1
	movq	40(%r14), %rsi
	movq	_STRIPE_SECTORS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	xorl	%ecx, %ecx
	callq	_rdev_clear_badblocks
	movq	16(%r13), %rsi
	movq	%r12, %rdi
	callq	_rdev_dec_pending
LBB0_184:                               ##   in Loop: Header=BB0_174 Depth=1
	addq	$-16, %rbx
	decl	%r15d
	je	LBB0_185
LBB0_174:                               ## =>This Inner Loop Header: Depth=1
	movq	_R5_WriteError@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	48(%r14), %r12
	addq	%rbx, %r12
	movq	%r12, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_178
## %bb.175:                             ##   in Loop: Header=BB0_174 Depth=1
	movl	%r15d, -72(%rbp)                ## 4-byte Spill
	movq	32(%r13), %rax
	movq	%r14, %rcx
	movq	%r13, %r14
	movq	(%rax,%rbx), %r13
	movq	%rcx, %r15
	movq	40(%rcx), %rsi
	movq	_STRIPE_SECTORS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r13, %rdi
	xorl	%ecx, %ecx
	callq	_rdev_set_badblocks
	testl	%eax, %eax
	jne	LBB0_177
## %bb.176:                             ##   in Loop: Header=BB0_174 Depth=1
	movq	16(%r14), %rdi
	movq	%r13, %rsi
	callq	_md_error
LBB0_177:                               ##   in Loop: Header=BB0_174 Depth=1
	movq	16(%r14), %rsi
	movq	%r13, %rdi
	callq	_rdev_dec_pending
	movq	%r14, %r13
	movq	%r15, %r14
	movl	-72(%rbp), %r15d                ## 4-byte Reload
LBB0_178:                               ##   in Loop: Header=BB0_174 Depth=1
	movq	_R5_MadeGood@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_180
## %bb.179:                             ##   in Loop: Header=BB0_174 Depth=1
	movq	32(%r13), %rax
	movq	(%rax,%rbx), %r13
	movq	40(%r14), %rsi
	movq	_STRIPE_SECTORS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r13, %rdi
	xorl	%ecx, %ecx
	callq	_rdev_clear_badblocks
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	16(%rax), %rsi
	movq	%r13, %rdi
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	callq	_rdev_dec_pending
LBB0_180:                               ##   in Loop: Header=BB0_174 Depth=1
	movq	_R5_MadeGoodRepl@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_184
## %bb.181:                             ##   in Loop: Header=BB0_174 Depth=1
	movq	32(%r13), %rax
	movq	8(%rax,%rbx), %r12
	testq	%r12, %r12
	jne	LBB0_183
## %bb.182:                             ##   in Loop: Header=BB0_174 Depth=1
	movq	(%rax,%rbx), %r12
	jmp	LBB0_183
LBB0_170:
	callq	_rdev_dec_pending
	cmpq	$0, -184(%rbp)
	jne	LBB0_172
LBB0_185:
	movq	-192(%rbp), %rsi
	testq	%rsi, %rsi
	je	LBB0_187
## %bb.186:
	movq	%r14, %rdi
	callq	_raid_run_ops
LBB0_187:
	leaq	-232(%rbp), %rsi
	movq	%r14, %rdi
	callq	_ops_run_io
	cmpl	$0, -208(%rbp)
	movq	-64(%rbp), %r14                 ## 8-byte Reload
	movq	_STRIPE_ACTIVE@GOTPCREL(%rip), %r15
	je	LBB0_190
## %bb.188:
	leaq	24(%r13), %rbx
	movq	%rbx, %rdi
	callq	_atomic_dec
	movq	%rbx, %rdi
	callq	_atomic_read
	movq	_IO_THRESHOLD@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jge	LBB0_190
## %bb.189:
	movq	16(%r13), %rax
	movl	(%rax), %edi
	callq	_md_wakeup_thread
LBB0_190:
	movl	(%r15), %edi
	movq	%r14, %rsi
	callq	_clear_bit_unlock
	addq	$232, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_16:
	movq	-176(%rbp), %rdi
	callq	_unlikely
	testq	%rax, %rax
	movq	_STRIPE_HANDLE@GOTPCREL(%rip), %rax
	je	LBB0_25
## %bb.17:
	cmpq	$0, -136(%rbp)
	jne	LBB0_23
## %bb.18:
	cmpq	$0, -160(%rbp)
	jne	LBB0_23
## %bb.19:
	cmpq	$0, -152(%rbp)
	jne	LBB0_23
## %bb.20:
	cmpq	$0, -144(%rbp)
	jne	LBB0_23
## %bb.21:
	cmpq	$0, -128(%rbp)
	jne	LBB0_23
## %bb.22:
	cmpq	$0, -96(%rbp)
	jne	LBB0_23
## %bb.24:
	movq	-176(%rbp), %rdi
	movq	16(%r13), %rsi
	callq	_rdev_dec_pending
	movq	$0, -176(%rbp)
LBB0_25:
	cmpq	$0, -80(%rbp)
	je	LBB0_28
## %bb.26:
	movq	_STRIPE_BIOFILL_RUN@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_28
## %bb.27:
	movq	_STRIPE_OP_BIOFILL@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-192(%rbp), %rsi
	callq	_set_bit
	movl	(%rbx), %edi
	movq	%r12, %rsi
	callq	_set_bit
LBB0_28:
	movl	-168(%rbp), %esi
	movq	-112(%rbp), %rcx
	movq	-128(%rbp), %r8
	movl	-232(%rbp), %edx
	movl	-228(%rbp), %r9d
	movq	-224(%rbp), %rax
	movups	(%rax), %xmm0
	movups	%xmm0, (%rsp)
	leaq	L_.str.1(%rip), %rdi
	xorl	%eax, %eax
	callq	_pr_debug
	movl	-228(%rbp), %eax
	cmpl	(%r13), %eax
	jg	LBB0_31
## %bb.29:
	cmpq	$0, -88(%rbp)
	je	LBB0_35
## %bb.30:
	cmpq	$0, -216(%rbp)
	jne	LBB0_35
LBB0_31:
	movq	$0, 56(%r14)
	movq	$0, 24(%r14)
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_break_stripe_batch_list
	movq	-128(%rbp), %rax
	addq	-112(%rbp), %rax
	addq	-96(%rbp), %rax
	je	LBB0_33
## %bb.32:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_handle_failed_stripe
LBB0_33:
	movq	-136(%rbp), %rax
	addq	-144(%rbp), %rax
	je	LBB0_35
## %bb.34:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	callq	_handle_failed_sync
LBB0_35:
	movq	24(%r14), %rcx
	movq	_reconstruct_state_prexor_drain_result@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movq	_reconstruct_state_drain_result@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	je	LBB0_37
## %bb.36:
	cmpq	%rdx, %rcx
	jne	LBB0_60
LBB0_37:
	movq	%rdx, -240(%rbp)                ## 8-byte Spill
	movq	%rcx, -248(%rbp)                ## 8-byte Spill
	movq	_reconstruct_state_idle@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 24(%r14)
	movq	_R5_UPTODATE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	8(%r14), %rsi
	shlq	$4, %rsi
	addq	48(%r14), %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_39
## %bb.38:
	xorl	%eax, %eax
	jmp	LBB0_40
LBB0_39:
	movq	_R5_Discard@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	8(%r14), %rsi
	shlq	$4, %rsi
	addq	48(%r14), %rsi
	callq	_test_bit
	testq	%rax, %rax
	sete	%al
LBB0_40:
	movzbl	%al, %edi
	callq	_BUG_ON
	movq	16(%r14), %rsi
	movl	(%rbx), %edi
	shlq	$4, %rsi
	addq	48(%r14), %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_42
## %bb.41:
	xorl	%eax, %eax
	jmp	LBB0_43
LBB0_42:
	movq	_R5_Discard@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	16(%r14), %rsi
	shlq	$4, %rsi
	addq	48(%r14), %rsi
	callq	_test_bit
	testq	%rax, %rax
	sete	%al
LBB0_43:
	movzbl	%al, %edi
	callq	_BUG_ON
	testl	%r15d, %r15d
	je	LBB0_58
## %bb.44:
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	leaq	-1(%rbx), %r13
	shlq	$4, %rbx
	addq	$-16, %rbx
	jmp	LBB0_45
LBB0_56:                                ##   in Loop: Header=BB0_45 Depth=1
	movq	_STRIPE_INSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	callq	_set_bit
LBB0_57:                                ##   in Loop: Header=BB0_45 Depth=1
	decq	%r13
	addq	$-16, %rbx
	cmpl	$-1, %r13d
	je	LBB0_58
LBB0_45:                                ## =>This Inner Loop Header: Depth=1
	movq	48(%r14), %r12
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	(%r12,%rbx), %rsi
	movq	%rsi, -56(%rbp)                 ## 8-byte Spill
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_57
## %bb.46:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpq	8(%r14), %r13
	je	LBB0_50
## %bb.47:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpq	16(%r14), %r13
	je	LBB0_50
## %bb.48:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpq	$0, 8(%r12,%rbx)
	jne	LBB0_50
## %bb.49:                              ##   in Loop: Header=BB0_45 Depth=1
	movq	_R5_InJournal@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_57
LBB0_50:                                ##   in Loop: Header=BB0_45 Depth=1
	leaq	L_.str.2(%rip), %rdi
	movl	%r13d, %esi
	xorl	%eax, %eax
	callq	_pr_debug
	movq	_R5_Wantwrite@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	callq	_set_bit
	movq	-240(%rbp), %rax                ## 8-byte Reload
	cmpq	%rax, -248(%rbp)                ## 8-byte Folded Reload
	je	LBB0_57
## %bb.51:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpl	$1, -228(%rbp)
	jg	LBB0_57
## %bb.52:                              ##   in Loop: Header=BB0_45 Depth=1
	movq	_R5_Insync@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_56
## %bb.53:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpq	8(%r14), %r13
	je	LBB0_55
## %bb.54:                              ##   in Loop: Header=BB0_45 Depth=1
	cmpq	16(%r14), %r13
	jne	LBB0_57
LBB0_55:                                ##   in Loop: Header=BB0_45 Depth=1
	cmpl	$0, -228(%rbp)
	je	LBB0_56
	jmp	LBB0_57
LBB0_58:
	movq	_STRIPE_PREREAD_ACTIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_60
## %bb.59:
	movl	$1, -208(%rbp)
LBB0_60:
	movq	8(%r14), %r13
	movq	48(%r14), %r8
	movl	-228(%rbp), %esi
	testl	%esi, %esi
	jle	LBB0_193
## %bb.61:
	movq	-224(%rbp), %rdi
	movq	(%rdi), %rbx
	movb	$1, %dl
	movb	$1, %al
	cmpq	%r13, %rbx
	je	LBB0_64
## %bb.62:
	cmpl	$2, %esi
	jb	LBB0_71
## %bb.63:
	cmpq	%r13, 8(%rdi)
	sete	%al
LBB0_64:
	movzbl	%al, %eax
	movl	%eax, -204(%rbp)
	movq	16(%r14), %rcx
	cmpq	%rcx, %rbx
	jne	LBB0_66
## %bb.65:
	movq	%rbx, %rcx
	jmp	LBB0_69
LBB0_193:
	movl	$0, -204(%rbp)
	movq	16(%r14), %rcx
	xorl	%eax, %eax
	jmp	LBB0_68
LBB0_66:
	cmpl	$2, %esi
	jb	LBB0_68
## %bb.67:
	cmpq	%rcx, 8(%rdi)
	jne	LBB0_68
	jmp	LBB0_69
LBB0_71:
	movl	$0, -204(%rbp)
	movq	16(%r14), %rcx
	xorl	%eax, %eax
	cmpq	%rcx, %rbx
	jne	LBB0_68
## %bb.72:
	movl	$1, -200(%rbp)
	cmpq	$0, -96(%rbp)
	jne	LBB0_73
	jmp	LBB0_84
LBB0_68:
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
	cmpl	$6, 4(%rdx)
	setl	%dl
LBB0_69:
	movzbl	%dl, %edx
	movl	%edx, -200(%rbp)
	cmpq	$0, -96(%rbp)
	je	LBB0_84
## %bb.70:
	movq	%rcx, %rbx
	testl	%eax, %eax
	je	LBB0_73
LBB0_78:
	cmpl	$0, -200(%rbp)
	je	LBB0_79
LBB0_83:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movq	%r14, %rsi
	movl	%r15d, %edx
	callq	_handle_stripe_clean_event
	jmp	LBB0_84
LBB0_73:
	movq	_R5_Insync@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	shlq	$4, %r13
	addq	%r8, %r13
	movq	%r13, %rsi
	movq	%r8, -56(%rbp)                  ## 8-byte Spill
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_84
## %bb.74:
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r13, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_84
## %bb.75:
	movq	_R5_UPTODATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r13, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_77
## %bb.76:
	movq	%rbx, %rcx
	movq	-56(%rbp), %r8                  ## 8-byte Reload
	jmp	LBB0_78
LBB0_79:
	movq	_R5_Insync@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	shlq	$4, %rcx
	addq	%rcx, %r8
	movq	%r8, %rsi
	movq	%r8, %rbx
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_84
## %bb.80:
	movq	%rbx, %rsi
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_81
LBB0_84:
	cmpq	$0, -104(%rbp)
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	je	LBB0_86
## %bb.85:
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %edx
	callq	_r5c_handle_cached_data_endio
LBB0_86:
	movq	%r14, %rdi
	callq	_log_stripe_write_finished
	movq	-112(%rbp), %rax
	orq	-120(%rbp), %rax
	jne	LBB0_94
## %bb.87:
	cmpl	$6, 4(%r13)
	jne	LBB0_90
## %bb.88:
	cmpq	$0, -128(%rbp)
	je	LBB0_90
## %bb.89:
	cmpl	$0, -228(%rbp)
	jne	LBB0_94
LBB0_90:
	cmpq	$0, -136(%rbp)
	je	LBB0_92
## %bb.91:
	movl	-196(%rbp), %eax
	addl	-232(%rbp), %eax
	cmpl	%r15d, %eax
	jl	LBB0_94
LBB0_92:
	cmpq	$0, -144(%rbp)
	jne	LBB0_94
## %bb.93:
	cmpq	$0, -160(%rbp)
	je	LBB0_95
LBB0_94:
	leaq	-232(%rbp), %rsi
	movq	%r14, %rdi
	movl	%r15d, %edx
	callq	_handle_stripe_fill
LBB0_95:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	callq	_r5c_finish_stripe_write_out
	cmpq	$0, 24(%r14)
	je	LBB0_96
LBB0_108:
	cmpq	$0, 56(%r14)
	jne	LBB0_113
## %bb.109:
	cmpq	$0, -136(%rbp)
	je	LBB0_116
## %bb.110:
	cmpl	$0, -168(%rbp)
	jne	LBB0_116
## %bb.111:
	movq	_STRIPE_COMPUTE_RUN@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_116
## %bb.112:
	movq	_STRIPE_INSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_116
	jmp	LBB0_113
LBB0_96:
	cmpq	$0, 56(%r14)
	je	LBB0_97
LBB0_113:
	cmpl	$6, 4(%r13)
	jne	LBB0_115
## %bb.114:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_handle_parity_checks6
	jmp	LBB0_116
LBB0_115:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_handle_parity_checks5
LBB0_116:
	movq	-144(%rbp), %rax
	orq	-136(%rbp), %rax
	je	LBB0_128
## %bb.117:
	cmpl	$0, -168(%rbp)
	jne	LBB0_128
## %bb.118:
	movq	_STRIPE_COMPUTE_RUN@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_128
## %bb.119:
	movq	_STRIPE_REPLACED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_128
## %bb.120:
	cmpl	$0, 8(%r13)
	jle	LBB0_125
## %bb.121:
	xorl	%ebx, %ebx
	movq	_R5_NeedReplace@GOTPCREL(%rip), %r13
	xorl	%r12d, %r12d
	jmp	LBB0_122
LBB0_124:                               ##   in Loop: Header=BB0_122 Depth=1
	incq	%r12
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movslq	8(%rax), %rax
	addq	$16, %rbx
	cmpq	%rax, %r12
	jge	LBB0_125
LBB0_122:                               ## =>This Inner Loop Header: Depth=1
	movl	(%r13), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_124
## %bb.123:                             ##   in Loop: Header=BB0_122 Depth=1
	movq	_R5_UPTODATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_test_bit
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_WARN_ON
	movq	_R5_WantReplace@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_set_bit
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_set_bit
	incl	-168(%rbp)
	jmp	LBB0_124
LBB0_97:
	cmpl	$0, 64(%r14)
	jne	LBB0_108
## %bb.98:
	movl	48(%r13), %edi
	callq	_r5c_is_writeback
	movq	-128(%rbp), %rcx
	testl	%eax, %eax
	je	LBB0_99
## %bb.101:
	testq	%rcx, %rcx
	je	LBB0_102
## %bb.103:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_r5c_try_caching_write
	jmp	LBB0_104
LBB0_125:
	cmpq	$0, -144(%rbp)
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	je	LBB0_127
## %bb.126:
	movq	_STRIPE_INSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
LBB0_127:
	movq	_STRIPE_REPLACED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
	movq	-48(%rbp), %r13                 ## 8-byte Reload
LBB0_128:
	movq	-136(%rbp), %rax
	orq	-144(%rbp), %rax
	je	LBB0_134
## %bb.129:
	cmpl	$0, -168(%rbp)
	jne	LBB0_134
## %bb.130:
	movq	_STRIPE_COMPUTE_RUN@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_131
LBB0_134:
	movl	-228(%rbp), %eax
	cmpl	(%r13), %eax
	jg	LBB0_145
## %bb.135:
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	16(%rcx), %rcx
	cmpl	$0, 16(%rcx)
	jne	LBB0_145
## %bb.136:
	testl	%eax, %eax
	jle	LBB0_145
## %bb.137:
	xorl	%r12d, %r12d
	movq	_R5_ReadError@GOTPCREL(%rip), %r13
	jmp	LBB0_138
LBB0_143:                               ##   in Loop: Header=BB0_138 Depth=1
	movl	(%rcx), %edi
	movq	%rbx, %rsi
	callq	_set_bit
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_set_bit
	incl	-168(%rbp)
LBB0_144:                               ##   in Loop: Header=BB0_138 Depth=1
	incq	%r12
	movslq	-228(%rbp), %rax
	cmpq	%rax, %r12
	jge	LBB0_145
LBB0_138:                               ## =>This Inner Loop Header: Depth=1
	movq	-224(%rbp), %rax
	movq	(%rax,%r12,8), %rbx
	movl	(%r13), %edi
	shlq	$4, %rbx
	addq	48(%r14), %rbx
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_144
## %bb.139:                             ##   in Loop: Header=BB0_138 Depth=1
	movq	_R5_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_144
## %bb.140:                             ##   in Loop: Header=BB0_138 Depth=1
	movq	_R5_UPTODATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_144
## %bb.141:                             ##   in Loop: Header=BB0_138 Depth=1
	movq	_R5_ReWrite@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_bit
	movq	_R5_Wantread@GOTPCREL(%rip), %rcx
	testq	%rax, %rax
	jne	LBB0_143
## %bb.142:                             ##   in Loop: Header=BB0_138 Depth=1
	movq	_R5_Wantwrite@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_set_bit
	movq	_R5_ReWrite@GOTPCREL(%rip), %rcx
	jmp	LBB0_143
LBB0_145:
	movq	24(%r14), %rax
	movq	_reconstruct_state_result@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_155
## %bb.146:
	movq	40(%r14), %rsi
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movl	$1, %edx
	movl	$1, %ecx
	movl	$1, %r8d
	callq	_raid5_get_active_stripe
	testq	%rax, %rax
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	je	LBB0_152
## %bb.147:
	movq	%rax, %r13
	movq	_STRIPE_EXPAND_SOURCE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r13, %rbx
	addq	$32, %rbx
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_151
## %bb.148:
	movq	_STRIPE_DELAYED@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
	movq	_STRIPE_HANDLE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_set_bit
	movq	_STRIPE_PREREAD_ACTIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_and_set_bit
	testl	%eax, %eax
	jne	LBB0_150
## %bb.149:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	leaq	24(%rax), %rdi
	callq	_atomic_inc
LBB0_150:
	movq	%r13, %rdi
	callq	_raid5_release_stripe
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	jmp	LBB0_167
LBB0_131:
	movq	_STRIPE_INSYNC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_134
## %bb.132:
	movq	16(%r13), %rdi
	movq	_STRIPE_SECTORS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edx
	callq	_md_done_sync
	movq	_STRIPE_SYNCING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_clear_bit
	movq	_R5_Overlap@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	8(%r14), %rsi
	shlq	$4, %rsi
	addq	48(%r14), %rsi
	callq	_test_and_clear_bit
	testq	%rax, %rax
	je	LBB0_134
## %bb.133:
	leaq	40(%r13), %rdi
	callq	_wake_up
	jmp	LBB0_134
LBB0_151:
	movq	%r13, %rdi
	callq	_raid5_release_stripe
LBB0_152:
	movq	_reconstruct_state_idle@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 24(%r14)
	movq	_STRIPE_EXPANDING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_clear_bit
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movslq	8(%rax), %r12
	testq	%r12, %r12
	je	LBB0_155
## %bb.153:
	movq	%r12, %rbx
	shlq	$4, %rbx
	addq	$-16, %rbx
	movq	_R5_LOCKED@GOTPCREL(%rip), %r13
LBB0_154:                               ## =>This Inner Loop Header: Depth=1
	movq	_R5_Wantwrite@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_set_bit
	movl	(%r13), %edi
	movq	48(%r14), %rsi
	addq	%rbx, %rsi
	callq	_set_bit
	incl	-168(%rbp)
	addq	$-16, %rbx
	decl	%r12d
	jne	LBB0_154
LBB0_155:
	cmpq	$0, -152(%rbp)
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	je	LBB0_163
## %bb.156:
	movq	_STRIPE_EXPANDING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	je	LBB0_159
## %bb.157:
	cmpq	$0, 24(%r14)
	je	LBB0_158
LBB0_159:
	cmpq	$0, -152(%rbp)
	je	LBB0_163
## %bb.160:
	cmpq	$0, 24(%r14)
	jne	LBB0_163
## %bb.161:
	cmpl	$0, -168(%rbp)
	jne	LBB0_163
## %bb.162:
	movq	_STRIPE_EXPAND_READY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_clear_bit
	leaq	44(%r13), %rdi
	callq	_atomic_dec
	leaq	40(%r13), %rdi
	callq	_wake_up
	movq	16(%r13), %rdi
	movq	_STRIPE_SECTORS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edx
	callq	_md_done_sync
	jmp	LBB0_163
LBB0_158:
	movl	8(%r13), %eax
	movl	%eax, (%r14)
	movq	40(%r14), %rdi
	movq	%r13, %rsi
	xorl	%edx, %edx
	movq	%r14, %rcx
	callq	_stripe_set_idx
	leaq	-232(%rbp), %rsi
	movq	%r14, %rdi
	movl	$1, %edx
	movl	$1, %ecx
	callq	_schedule_reconstruction
LBB0_163:
	cmpq	$0, -160(%rbp)
	je	LBB0_167
## %bb.164:
	cmpl	$0, -168(%rbp)
	jne	LBB0_167
## %bb.165:
	movq	_STRIPE_COMPUTE_RUN@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_167
## %bb.166:
	movq	%r13, %rdi
	movq	%r14, %rsi
	callq	_handle_stripe_expansion
	jmp	LBB0_167
LBB0_81:
	movq	%rbx, %rsi
	movq	_R5_UPTODATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_83
## %bb.82:
	movq	%rbx, %rsi
	movq	_R5_Discard@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_83
	jmp	LBB0_84
LBB0_77:
	movq	_R5_Discard@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r13, %rsi
	callq	_test_bit
	movq	%rbx, %rcx
	testq	%rax, %rax
	movq	-56(%rbp), %r8                  ## 8-byte Reload
	jne	LBB0_78
	jmp	LBB0_84
LBB0_99:
	testq	%rcx, %rcx
	je	LBB0_108
## %bb.100:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_handle_stripe_dirtying
	jmp	LBB0_108
LBB0_102:
	xorl	%eax, %eax
LBB0_104:
	movq	_EAGAIN@GOTPCREL(%rip), %rbx
	addl	(%rbx), %eax
	je	LBB0_107
## %bb.105:
	movq	_STRIPE_R5C_CACHING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r12, %rsi
	callq	_test_bit
	testq	%rax, %rax
	jne	LBB0_108
## %bb.106:
	cmpq	$0, -216(%rbp)
	jle	LBB0_108
LBB0_107:
	leaq	-232(%rbp), %rdx
	movq	%r13, %rdi
	movq	%r14, %rsi
	movl	%r15d, %ecx
	callq	_handle_stripe_dirtying
	addl	(%rbx), %eax
	je	LBB0_167
	jmp	LBB0_108
	.cfi_endproc
                                        ## -- End function
	.comm	_STRIPE_HANDLE,4,2              ## @STRIPE_HANDLE
	.comm	_STRIPE_ACTIVE,4,2              ## @STRIPE_ACTIVE
	.comm	_STRIPE_BATCH_ERR,4,2           ## @STRIPE_BATCH_ERR
	.comm	_STRIPE_SYNC_REQUESTED,4,2      ## @STRIPE_SYNC_REQUESTED
	.comm	_STRIPE_R5C_PARTIAL_STRIPE,4,2  ## @STRIPE_R5C_PARTIAL_STRIPE
	.comm	_STRIPE_R5C_FULL_STRIPE,4,2     ## @STRIPE_R5C_FULL_STRIPE
	.comm	_STRIPE_DISCARD,4,2             ## @STRIPE_DISCARD
	.comm	_STRIPE_SYNCING,4,2             ## @STRIPE_SYNCING
	.comm	_STRIPE_INSYNC,4,2              ## @STRIPE_INSYNC
	.comm	_STRIPE_REPLACED,4,2            ## @STRIPE_REPLACED
	.comm	_STRIPE_DELAYED,4,2             ## @STRIPE_DELAYED
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"handling stripe %llu, state=%#lx cnt=%d, pd_idx=%d, qd_idx=%d\n, check:%d, reconstruct:%d\n"

	.comm	_STRIPE_LOG_TRAPPED,4,2         ## @STRIPE_LOG_TRAPPED
	.comm	_MD_SB_CHANGE_PENDING,4,2       ## @MD_SB_CHANGE_PENDING
	.comm	_STRIPE_BIOFILL_RUN,4,2         ## @STRIPE_BIOFILL_RUN
	.comm	_STRIPE_OP_BIOFILL,4,2          ## @STRIPE_OP_BIOFILL
L_.str.1:                               ## @.str.1
	.asciz	"locked=%d uptodate=%d to_read=%d to_write=%d failed=%d failed_num=%d,%d\n"

	.comm	_reconstruct_state_prexor_drain_result,8,3 ## @reconstruct_state_prexor_drain_result
	.comm	_reconstruct_state_drain_result,8,3 ## @reconstruct_state_drain_result
	.comm	_reconstruct_state_idle,8,3     ## @reconstruct_state_idle
	.comm	_R5_UPTODATE,4,2                ## @R5_UPTODATE
	.comm	_R5_Discard,4,2                 ## @R5_Discard
	.comm	_R5_LOCKED,4,2                  ## @R5_LOCKED
	.comm	_R5_InJournal,4,2               ## @R5_InJournal
L_.str.2:                               ## @.str.2
	.asciz	"Writing block %d\n"

	.comm	_R5_Wantwrite,4,2               ## @R5_Wantwrite
	.comm	_R5_Insync,4,2                  ## @R5_Insync
	.comm	_STRIPE_PREREAD_ACTIVE,4,2      ## @STRIPE_PREREAD_ACTIVE
	.comm	_EAGAIN,4,2                     ## @EAGAIN
	.comm	_STRIPE_R5C_CACHING,4,2         ## @STRIPE_R5C_CACHING
	.comm	_STRIPE_COMPUTE_RUN,4,2         ## @STRIPE_COMPUTE_RUN
	.comm	_R5_NeedReplace,4,2             ## @R5_NeedReplace
	.comm	_R5_WantReplace,4,2             ## @R5_WantReplace
	.comm	_STRIPE_SECTORS,4,2             ## @STRIPE_SECTORS
	.comm	_R5_Overlap,4,2                 ## @R5_Overlap
	.comm	_R5_ReadError,4,2               ## @R5_ReadError
	.comm	_R5_ReWrite,4,2                 ## @R5_ReWrite
	.comm	_R5_Wantread,4,2                ## @R5_Wantread
	.comm	_reconstruct_state_result,8,3   ## @reconstruct_state_result
	.comm	_STRIPE_EXPAND_SOURCE,4,2       ## @STRIPE_EXPAND_SOURCE
	.comm	_STRIPE_EXPANDING,4,2           ## @STRIPE_EXPANDING
	.comm	_STRIPE_EXPAND_READY,4,2        ## @STRIPE_EXPAND_READY
	.comm	_R5_WriteError,4,2              ## @R5_WriteError
	.comm	_R5_MadeGood,4,2                ## @R5_MadeGood
	.comm	_R5_MadeGoodRepl,4,2            ## @R5_MadeGoodRepl
	.comm	_IO_THRESHOLD,8,3               ## @IO_THRESHOLD
	.no_dead_strip	_handle_stripe
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function handle_stripe
_handle_stripe:                         ; @handle_stripe
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #352
	.cfi_def_cfa_offset 352
	stp	x28, x27, [sp, #256]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #272]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #288]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #304]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #320]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #336]            ; 16-byte Folded Spill
	add	x29, sp, #336
	.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
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x21, x0
	ldr	x20, [x0, #80]
	ldr	w22, [x0]
Lloh0:
	adrp	x28, _STRIPE_HANDLE@GOTPAGE
Lloh1:
	ldr	x28, [x28, _STRIPE_HANDLE@GOTPAGEOFF]
	ldr	w0, [x28]
	add	x25, x21, #32
	mov	x1, x25
	bl	_clear_bit
Lloh2:
	adrp	x19, _STRIPE_ACTIVE@GOTPAGE
Lloh3:
	ldr	x19, [x19, _STRIPE_ACTIVE@GOTPAGEOFF]
	ldr	w0, [x19]
	mov	x1, x25
	bl	_test_and_set_bit_lock
	cbz	x0, LBB0_2
; %bb.1:
	ldr	w0, [x28]
	mov	x1, x25
	ldp	x29, x30, [sp, #336]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #320]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #304]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #288]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #272]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #256]            ; 16-byte Folded Reload
	add	sp, sp, #352
	b	_set_bit
LBB0_2:
	mov	x0, x21
	bl	_clear_batch_ready
	cbz	x0, LBB0_4
; %bb.3:
	ldr	w0, [x19]
	mov	x1, x25
	ldp	x29, x30, [sp, #336]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #320]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #304]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #288]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #272]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #256]            ; 16-byte Folded Reload
	add	sp, sp, #352
	b	_clear_bit_unlock
LBB0_4:
Lloh4:
	adrp	x8, _STRIPE_BATCH_ERR@GOTPAGE
Lloh5:
	ldr	x8, [x8, _STRIPE_BATCH_ERR@GOTPAGEOFF]
Lloh6:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_and_clear_bit
	cbz	x0, LBB0_6
; %bb.5:
	mov	x0, x21
	mov	w1, #0
	bl	_break_stripe_batch_list
LBB0_6:
Lloh7:
	adrp	x19, _STRIPE_SYNC_REQUESTED@GOTPAGE
Lloh8:
	ldr	x19, [x19, _STRIPE_SYNC_REQUESTED@GOTPAGEOFF]
	ldr	w0, [x19]
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_14
; %bb.7:
	ldr	w8, [x21, #76]
	cbnz	w8, LBB0_14
; %bb.8:
	add	x23, x21, #72
	mov	x0, x23
	bl	_spin_lock
Lloh9:
	adrp	x8, _STRIPE_R5C_PARTIAL_STRIPE@GOTPAGE
Lloh10:
	ldr	x8, [x8, _STRIPE_R5C_PARTIAL_STRIPE@GOTPAGEOFF]
Lloh11:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_13
; %bb.9:
Lloh12:
	adrp	x8, _STRIPE_R5C_FULL_STRIPE@GOTPAGE
Lloh13:
	ldr	x8, [x8, _STRIPE_R5C_FULL_STRIPE@GOTPAGEOFF]
Lloh14:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_13
; %bb.10:
Lloh15:
	adrp	x8, _STRIPE_DISCARD@GOTPAGE
Lloh16:
	ldr	x8, [x8, _STRIPE_DISCARD@GOTPAGEOFF]
Lloh17:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_13
; %bb.11:
	ldr	w0, [x19]
	mov	x1, x25
	bl	_test_and_clear_bit
	cbz	x0, LBB0_13
; %bb.12:
Lloh18:
	adrp	x8, _STRIPE_SYNCING@GOTPAGE
Lloh19:
	ldr	x8, [x8, _STRIPE_SYNCING@GOTPAGEOFF]
Lloh20:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_set_bit
Lloh21:
	adrp	x8, _STRIPE_INSYNC@GOTPAGE
Lloh22:
	ldr	x8, [x8, _STRIPE_INSYNC@GOTPAGEOFF]
Lloh23:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_clear_bit
Lloh24:
	adrp	x8, _STRIPE_REPLACED@GOTPAGE
Lloh25:
	ldr	x8, [x8, _STRIPE_REPLACED@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_clear_bit
LBB0_13:
	mov	x0, x23
	bl	_spin_unlock
LBB0_14:
	sxtw	x24, w22
Lloh27:
	adrp	x8, _STRIPE_DELAYED@GOTPAGE
Lloh28:
	ldr	x8, [x8, _STRIPE_DELAYED@GOTPAGEOFF]
Lloh29:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_clear_bit
	ldr	w23, [x21, #40]
	ldr	x19, [x21, #32]
	add	x0, x21, #68
	bl	_atomic_read
	ldur	q0, [x21, #8]
	ldr	x8, [x21, #56]
	ldr	x9, [x21, #24]
	stp	x8, x9, [sp, #32]
	str	q0, [sp, #16]
	stp	x19, x0, [sp]
Lloh30:
	adrp	x0, l_.str@PAGE
Lloh31:
	add	x0, x0, l_.str@PAGEOFF
	mov	x1, x23
	bl	_pr_debug
	add	x1, sp, #88
	mov	x0, x21
	bl	_analyse_stripe
Lloh32:
	adrp	x8, _STRIPE_LOG_TRAPPED@GOTPAGE
Lloh33:
	ldr	x8, [x8, _STRIPE_LOG_TRAPPED@GOTPAGEOFF]
Lloh34:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	str	x25, [sp, #72]                  ; 8-byte Folded Spill
	cbnz	x0, LBB0_18
; %bb.15:
	ldr	x8, [sp, #136]
	cbnz	x8, LBB0_17
; %bb.16:
Lloh35:
	adrp	x8, _MD_SB_CHANGE_PENDING@GOTPAGE
Lloh36:
	ldr	x8, [x8, _MD_SB_CHANGE_PENDING@GOTPAGEOFF]
Lloh37:
	ldr	w0, [x8]
	ldr	x8, [x20, #16]
	add	x1, x8, #24
	bl	_test_bit
	cbz	x0, LBB0_42
LBB0_17:
	ldr	w0, [x28]
	mov	x1, x25
	bl	_set_bit
LBB0_18:
	ldr	x0, [sp, #144]
	bl	_unlikely
	cbz	x0, LBB0_21
; %bb.19:
	ldr	x1, [x20, #16]
	ldr	x8, [x1, #8]
	ldr	x0, [sp, #144]
	cbz	x8, LBB0_35
; %bb.20:
	bl	_md_wait_for_blocked_rdev
LBB0_21:
	ldr	x8, [sp, #136]
	cbz	x8, LBB0_36
LBB0_22:
	cbz	w22, LBB0_36
; %bb.23:
	lsl	x8, x24, #4
	sub	x25, x8, #16
Lloh38:
	adrp	x27, _R5_WriteError@GOTPAGE
Lloh39:
	ldr	x27, [x27, _R5_WriteError@GOTPAGEOFF]
Lloh40:
	adrp	x28, _R5_MadeGood@GOTPAGE
Lloh41:
	ldr	x28, [x28, _R5_MadeGood@GOTPAGEOFF]
Lloh42:
	adrp	x26, _R5_MadeGoodRepl@GOTPAGE
Lloh43:
	ldr	x26, [x26, _R5_MadeGoodRepl@GOTPAGEOFF]
Lloh44:
	adrp	x19, _STRIPE_SECTORS@GOTPAGE
Lloh45:
	ldr	x19, [x19, _STRIPE_SECTORS@GOTPAGEOFF]
	b	LBB0_26
LBB0_24:                                ;   in Loop: Header=BB0_26 Depth=1
	ldr	x1, [x21, #40]
	ldr	w2, [x19]
	mov	x0, x23
	mov	w3, #0
	bl	_rdev_clear_badblocks
	ldr	x1, [x20, #16]
	mov	x0, x23
	bl	_rdev_dec_pending
LBB0_25:                                ;   in Loop: Header=BB0_26 Depth=1
	sub	x25, x25, #16
	subs	w22, w22, #1
	b.eq	LBB0_36
LBB0_26:                                ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x21, #48]
	ldr	w0, [x27]
	add	x23, x8, x25
	mov	x1, x23
	bl	_test_and_clear_bit
	cbz	x0, LBB0_30
; %bb.27:                               ;   in Loop: Header=BB0_26 Depth=1
	ldr	x8, [x20, #32]
	ldr	x24, [x8, x25]
	ldr	x1, [x21, #40]
	ldr	w2, [x19]
	mov	x0, x24
	mov	w3, #0
	bl	_rdev_set_badblocks
	cbnz	w0, LBB0_29
; %bb.28:                               ;   in Loop: Header=BB0_26 Depth=1
	ldr	x0, [x20, #16]
	mov	x1, x24
	bl	_md_error
LBB0_29:                                ;   in Loop: Header=BB0_26 Depth=1
	ldr	x1, [x20, #16]
	mov	x0, x24
	bl	_rdev_dec_pending
LBB0_30:                                ;   in Loop: Header=BB0_26 Depth=1
	ldr	w0, [x28]
	mov	x1, x23
	bl	_test_and_clear_bit
	cbz	x0, LBB0_32
; %bb.31:                               ;   in Loop: Header=BB0_26 Depth=1
	ldr	x8, [x20, #32]
	ldr	x24, [x8, x25]
	ldr	x1, [x21, #40]
	ldr	w2, [x19]
	mov	x0, x24
	mov	w3, #0
	bl	_rdev_clear_badblocks
	ldr	x1, [x20, #16]
	mov	x0, x24
	bl	_rdev_dec_pending
LBB0_32:                                ;   in Loop: Header=BB0_26 Depth=1
	ldr	w0, [x26]
	mov	x1, x23
	bl	_test_and_clear_bit
	cbz	x0, LBB0_25
; %bb.33:                               ;   in Loop: Header=BB0_26 Depth=1
	ldr	x8, [x20, #32]
	add	x9, x8, x25
	ldr	x23, [x9, #8]
	cbnz	x23, LBB0_24
; %bb.34:                               ;   in Loop: Header=BB0_26 Depth=1
	ldr	x23, [x8, x25]
	b	LBB0_24
LBB0_35:
	bl	_rdev_dec_pending
	ldr	x8, [sp, #136]
	cbnz	x8, LBB0_22
LBB0_36:
	ldr	x1, [sp, #128]
	cbz	x1, LBB0_38
; %bb.37:
	mov	x0, x21
	bl	_raid_run_ops
LBB0_38:
	add	x1, sp, #88
	mov	x0, x21
	bl	_ops_run_io
	ldr	w8, [sp, #112]
	ldr	x19, [sp, #72]                  ; 8-byte Folded Reload
	cbz	w8, LBB0_41
; %bb.39:
	add	x21, x20, #24
	mov	x0, x21
	bl	_atomic_dec
	mov	x0, x21
	bl	_atomic_read
Lloh46:
	adrp	x8, _IO_THRESHOLD@GOTPAGE
Lloh47:
	ldr	x8, [x8, _IO_THRESHOLD@GOTPAGEOFF]
Lloh48:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ge	LBB0_41
; %bb.40:
	ldr	x8, [x20, #16]
	ldr	w0, [x8]
	bl	_md_wakeup_thread
LBB0_41:
Lloh49:
	adrp	x8, _STRIPE_ACTIVE@GOTPAGE
Lloh50:
	ldr	x8, [x8, _STRIPE_ACTIVE@GOTPAGEOFF]
Lloh51:
	ldr	w0, [x8]
	mov	x1, x19
	bl	_clear_bit_unlock
	ldp	x29, x30, [sp, #336]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #320]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #304]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #288]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #272]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #256]            ; 16-byte Folded Reload
	add	sp, sp, #352
	ret
LBB0_42:
	add	x26, sp, #88
	ldr	x0, [sp, #144]
	bl	_unlikely
	cbz	x0, LBB0_45
; %bb.43:
	ldp	q1, q0, [sp, #160]
	cmtst.2d	v0, v0, v0
	cmtst.2d	v1, v1, v1
	uzp1.4s	v0, v1, v0
	xtn.4h	v0, v0
	umov.h	w8, v0[0]
	umov.h	w9, v0[1]
	and	w9, w9, #0x1
	umov.h	w10, v0[2]
	bfi	w8, w9, #1, #1
	and	w9, w10, #0x1
	bfi	w8, w9, #2, #1
	umov.h	w9, v0[3]
	bfi	w8, w9, #3, #29
	and	w8, w8, #0xf
	ldr	x9, [sp, #192]
	ldr	x10, [x26, #136]
	cmp	w8, #0
	ccmp	x9, #0, #0, eq
	ccmp	x10, #0, #0, eq
	b.ne	LBB0_17
; %bb.44:
	ldr	x0, [sp, #144]
	ldr	x1, [x20, #16]
	bl	_rdev_dec_pending
	str	xzr, [sp, #144]
LBB0_45:
	ldr	x8, [x26, #152]
	cbz	x8, LBB0_48
; %bb.46:
Lloh52:
	adrp	x19, _STRIPE_BIOFILL_RUN@GOTPAGE
Lloh53:
	ldr	x19, [x19, _STRIPE_BIOFILL_RUN@GOTPAGEOFF]
	ldr	w0, [x19]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_48
; %bb.47:
Lloh54:
	adrp	x8, _STRIPE_OP_BIOFILL@GOTPAGE
Lloh55:
	ldr	x8, [x8, _STRIPE_OP_BIOFILL@GOTPAGEOFF]
Lloh56:
	ldr	w0, [x8]
	add	x8, sp, #88
	add	x1, x8, #40
	bl	_set_bit
	ldr	w0, [x19]
	mov	x1, x25
	bl	_set_bit
LBB0_48:
	ldr	w1, [sp, #152]
	ldr	x8, [sp, #208]
	ldr	x9, [sp, #192]
	ldr	x10, [sp, #96]
	ldp	x11, x10, [x10]
	ldp	w12, w13, [sp, #88]
	stp	x11, x10, [sp, #32]
	stp	x9, x13, [sp, #16]
	stp	x12, x8, [sp]
Lloh57:
	adrp	x0, l_.str.1@PAGE
Lloh58:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_pr_debug
	ldr	w8, [sp, #92]
	ldr	w9, [x20]
	cmp	w8, w9
	b.gt	LBB0_51
; %bb.49:
	ldr	x8, [x26, #144]
	cbz	x8, LBB0_55
; %bb.50:
	ldr	x8, [sp, #104]
	cbnz	x8, LBB0_55
LBB0_51:
	str	xzr, [x21, #56]
	str	xzr, [x21, #24]
	mov	x0, x21
	mov	w1, #0
	bl	_break_stripe_batch_list
	ldr	x8, [sp, #208]
	ldr	x9, [sp, #192]
	ldr	x10, [x26, #136]
	add	x8, x9, x8
	cmn	x8, x10
	b.eq	LBB0_53
; %bb.52:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	mov	x3, x22
	bl	_handle_failed_stripe
LBB0_53:
	ldp	x9, x8, [sp, #176]
	cmn	x8, x9
	b.eq	LBB0_55
; %bb.54:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	bl	_handle_failed_sync
LBB0_55:
	str	x24, [sp, #56]                  ; 8-byte Folded Spill
Lloh59:
	adrp	x8, _reconstruct_state_prexor_drain_result@GOTPAGE
Lloh60:
	ldr	x8, [x8, _reconstruct_state_prexor_drain_result@GOTPAGEOFF]
	ldr	x24, [x21, #24]
Lloh61:
	ldr	x9, [x8]
Lloh62:
	adrp	x8, _reconstruct_state_drain_result@GOTPAGE
Lloh63:
	ldr	x8, [x8, _reconstruct_state_drain_result@GOTPAGEOFF]
Lloh64:
	ldr	x8, [x8]
	cmp	x24, x8
	b.eq	LBB0_57
; %bb.56:
	cmp	x24, x9
	b.ne	LBB0_80
LBB0_57:
	str	x9, [sp, #64]                   ; 8-byte Folded Spill
Lloh65:
	adrp	x8, _reconstruct_state_idle@GOTPAGE
Lloh66:
	ldr	x8, [x8, _reconstruct_state_idle@GOTPAGEOFF]
Lloh67:
	ldr	x8, [x8]
	str	x8, [x21, #24]
Lloh68:
	adrp	x19, _R5_UPTODATE@GOTPAGE
Lloh69:
	ldr	x19, [x19, _R5_UPTODATE@GOTPAGEOFF]
	ldr	w0, [x19]
	ldr	x8, [x21, #48]
	ldr	x9, [x21, #8]
	add	x1, x8, x9, lsl #4
	bl	_test_bit
	cbz	x0, LBB0_59
; %bb.58:
	mov	w0, #0
	b	LBB0_60
LBB0_59:
Lloh70:
	adrp	x8, _R5_Discard@GOTPAGE
Lloh71:
	ldr	x8, [x8, _R5_Discard@GOTPAGEOFF]
Lloh72:
	ldr	w0, [x8]
	ldr	x8, [x21, #48]
	ldr	x9, [x21, #8]
	add	x1, x8, x9, lsl #4
	bl	_test_bit
	cmp	x0, #0
	cset	w0, eq
LBB0_60:
	bl	_BUG_ON
	ldr	x8, [x21, #16]
	ldr	w0, [x19]
	ldr	x9, [x21, #48]
	add	x1, x9, x8, lsl #4
	bl	_test_bit
	cbz	x0, LBB0_62
; %bb.61:
	mov	w0, #0
	b	LBB0_63
LBB0_62:
Lloh73:
	adrp	x8, _R5_Discard@GOTPAGE
Lloh74:
	ldr	x8, [x8, _R5_Discard@GOTPAGEOFF]
Lloh75:
	ldr	w0, [x8]
	ldr	x8, [x21, #48]
	ldr	x9, [x21, #16]
	add	x1, x8, x9, lsl #4
	bl	_test_bit
	cmp	x0, #0
	cset	w0, eq
LBB0_63:
	bl	_BUG_ON
	cbz	w22, LBB0_78
; %bb.64:
	ldr	x8, [sp, #56]                   ; 8-byte Folded Reload
	sub	x23, x8, #1
	lsl	x8, x8, #4
	sub	x19, x8, #8
Lloh76:
	adrp	x26, _R5_LOCKED@GOTPAGE
Lloh77:
	ldr	x26, [x26, _R5_LOCKED@GOTPAGEOFF]
	b	LBB0_67
LBB0_65:                                ;   in Loop: Header=BB0_67 Depth=1
Lloh78:
	adrp	x8, _STRIPE_INSYNC@GOTPAGE
Lloh79:
	ldr	x8, [x8, _STRIPE_INSYNC@GOTPAGEOFF]
Lloh80:
	ldr	w0, [x8]
	ldr	x1, [sp, #72]                   ; 8-byte Folded Reload
	bl	_set_bit
LBB0_66:                                ;   in Loop: Header=BB0_67 Depth=1
	sub	x23, x23, #1
	sub	x19, x19, #16
	cmn	w23, #1
	b.eq	LBB0_78
LBB0_67:                                ; =>This Inner Loop Header: Depth=1
	ldr	x27, [x21, #48]
	ldr	w0, [x26]
	add	x8, x27, x19
	sub	x25, x8, #8
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_66
; %bb.68:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	x8, [x21, #8]
	cmp	x23, x8
	b.eq	LBB0_72
; %bb.69:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	x8, [x21, #16]
	cmp	x23, x8
	b.eq	LBB0_72
; %bb.70:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	x8, [x27, x19]
	cbnz	x8, LBB0_72
; %bb.71:                               ;   in Loop: Header=BB0_67 Depth=1
Lloh81:
	adrp	x8, _R5_InJournal@GOTPAGE
Lloh82:
	ldr	x8, [x8, _R5_InJournal@GOTPAGEOFF]
Lloh83:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_66
LBB0_72:                                ;   in Loop: Header=BB0_67 Depth=1
Lloh84:
	adrp	x0, l_.str.2@PAGE
Lloh85:
	add	x0, x0, l_.str.2@PAGEOFF
	mov	x1, x23
	bl	_pr_debug
Lloh86:
	adrp	x8, _R5_Wantwrite@GOTPAGE
Lloh87:
	ldr	x8, [x8, _R5_Wantwrite@GOTPAGEOFF]
Lloh88:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_set_bit
	ldr	x8, [sp, #64]                   ; 8-byte Folded Reload
	cmp	x24, x8
	b.eq	LBB0_66
; %bb.73:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	w8, [sp, #92]
	cmp	w8, #1
	b.gt	LBB0_66
; %bb.74:                               ;   in Loop: Header=BB0_67 Depth=1
Lloh89:
	adrp	x8, _R5_Insync@GOTPAGE
Lloh90:
	ldr	x8, [x8, _R5_Insync@GOTPAGEOFF]
Lloh91:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_65
; %bb.75:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	x8, [x21, #8]
	cmp	x23, x8
	b.eq	LBB0_77
; %bb.76:                               ;   in Loop: Header=BB0_67 Depth=1
	ldr	x8, [x21, #16]
	cmp	x23, x8
	b.ne	LBB0_66
LBB0_77:                                ;   in Loop: Header=BB0_67 Depth=1
	ldr	w8, [sp, #92]
	cbz	w8, LBB0_65
	b	LBB0_66
LBB0_78:
Lloh92:
	adrp	x8, _STRIPE_PREREAD_ACTIVE@GOTPAGE
Lloh93:
	ldr	x8, [x8, _STRIPE_PREREAD_ACTIVE@GOTPAGEOFF]
Lloh94:
	ldr	w0, [x8]
	ldr	x25, [sp, #72]                  ; 8-byte Folded Reload
	mov	x1, x25
	bl	_test_and_clear_bit
	add	x26, sp, #88
	cbz	x0, LBB0_80
; %bb.79:
	mov	w8, #1
	str	w8, [sp, #112]
LBB0_80:
	ldr	x24, [x21, #48]
	ldr	x8, [x21, #8]
	ldr	w11, [sp, #92]
	cmp	w11, #1
	b.lt	LBB0_83
; %bb.81:
	ldr	x12, [sp, #96]
	ldr	x19, [x12]
	cmp	x19, x8
	b.ne	LBB0_84
; %bb.82:
	mov	w9, #1
	b	LBB0_86
LBB0_83:
	mov	w9, #0
	str	wzr, [sp, #116]
	ldr	x10, [x21, #16]
	b	LBB0_94
LBB0_84:
	cmp	w11, #2
	b.lo	LBB0_91
; %bb.85:
	ldr	x9, [x12, #8]
	cmp	x9, x8
	cset	w9, eq
LBB0_86:
	str	w9, [sp, #116]
	ldr	x10, [x21, #16]
	cmp	x19, x10
	b.ne	LBB0_88
; %bb.87:
	mov	w11, #1
	b	LBB0_96
LBB0_88:
	cmp	w11, #2
	b.lo	LBB0_94
; %bb.89:
	ldr	x11, [x12, #8]
	cmp	x11, x10
	b.ne	LBB0_94
; %bb.90:
	mov	w11, #1
	b	LBB0_95
LBB0_91:
	str	wzr, [sp, #116]
	ldr	x10, [x21, #16]
	cmp	x19, x10
	b.ne	LBB0_93
; %bb.92:
	mov	w9, #1
	str	w9, [sp, #120]
	ldr	x9, [x26, #136]
	cbnz	x9, LBB0_100
	b	LBB0_106
LBB0_93:
	mov	w9, #0
LBB0_94:
	ldr	w11, [x20, #4]
	cmp	w11, #6
	cset	w11, lt
LBB0_95:
	mov	x19, x10
LBB0_96:
	str	w11, [sp, #120]
	ldr	x10, [x26, #136]
	cbz	x10, LBB0_106
; %bb.97:
	cbz	w9, LBB0_100
LBB0_98:
	ldr	w8, [sp, #120]
	cbz	w8, LBB0_104
LBB0_99:
	mov	x0, x20
	mov	x1, x21
	mov	x2, x22
	bl	_handle_stripe_clean_event
	b	LBB0_106
LBB0_100:
Lloh95:
	adrp	x9, _R5_Insync@GOTPAGE
Lloh96:
	ldr	x9, [x9, _R5_Insync@GOTPAGEOFF]
Lloh97:
	ldr	w0, [x9]
	add	x23, x24, x8, lsl #4
	mov	x1, x23
	bl	_test_bit
	cbz	x0, LBB0_106
; %bb.101:
Lloh98:
	adrp	x8, _R5_LOCKED@GOTPAGE
Lloh99:
	ldr	x8, [x8, _R5_LOCKED@GOTPAGEOFF]
Lloh100:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_106
; %bb.102:
Lloh101:
	adrp	x8, _R5_UPTODATE@GOTPAGE
Lloh102:
	ldr	x8, [x8, _R5_UPTODATE@GOTPAGEOFF]
Lloh103:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_98
; %bb.103:
Lloh104:
	adrp	x8, _R5_Discard@GOTPAGE
Lloh105:
	ldr	x8, [x8, _R5_Discard@GOTPAGEOFF]
Lloh106:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_98
	b	LBB0_106
LBB0_104:
Lloh107:
	adrp	x8, _R5_Insync@GOTPAGE
Lloh108:
	ldr	x8, [x8, _R5_Insync@GOTPAGEOFF]
Lloh109:
	ldr	w0, [x8]
	add	x23, x24, x19, lsl #4
	mov	x1, x23
	bl	_test_bit
	cbz	x0, LBB0_106
; %bb.105:
Lloh110:
	adrp	x8, _R5_LOCKED@GOTPAGE
Lloh111:
	ldr	x8, [x8, _R5_LOCKED@GOTPAGEOFF]
Lloh112:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbz	x0, LBB0_181
LBB0_106:
	ldr	x8, [x26, #128]
	cbz	x8, LBB0_108
; %bb.107:
	mov	x0, x20
	mov	x1, x21
	mov	x2, x22
	bl	_r5c_handle_cached_data_endio
LBB0_108:
	mov	x0, x21
	bl	_log_stripe_write_finished
	ldp	x9, x8, [sp, #200]
	orr	x8, x8, x9
	ldr	x24, [sp, #56]                  ; 8-byte Folded Reload
	cbnz	x8, LBB0_116
; %bb.109:
	ldr	w8, [x20, #4]
	cmp	w8, #6
	b.ne	LBB0_112
; %bb.110:
	ldr	x8, [sp, #192]
	cbz	x8, LBB0_112
; %bb.111:
	ldr	w8, [sp, #92]
	cbnz	w8, LBB0_116
LBB0_112:
	ldr	x8, [sp, #184]
	cbz	x8, LBB0_114
; %bb.113:
	ldr	w8, [sp, #88]
	ldr	w9, [sp, #124]
	add	w8, w9, w8
	cmp	w8, w22
	b.lt	LBB0_116
LBB0_114:
	ldr	x8, [sp, #176]
	cbnz	x8, LBB0_116
; %bb.115:
	ldr	x8, [sp, #160]
	cbz	x8, LBB0_117
LBB0_116:
	add	x1, sp, #88
	mov	x0, x21
	mov	x2, x22
	bl	_handle_stripe_fill
LBB0_117:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	bl	_r5c_finish_stripe_write_out
	ldr	x8, [x21, #24]
	cbz	x8, LBB0_123
LBB0_118:
	ldr	x8, [x21, #56]
	cbnz	x8, LBB0_124
; %bb.119:
	ldr	x8, [sp, #184]
	cbz	x8, LBB0_127
; %bb.120:
	ldr	w8, [sp, #152]
	cbnz	w8, LBB0_127
; %bb.121:
Lloh113:
	adrp	x8, _STRIPE_COMPUTE_RUN@GOTPAGE
Lloh114:
	ldr	x8, [x8, _STRIPE_COMPUTE_RUN@GOTPAGEOFF]
Lloh115:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_127
; %bb.122:
Lloh116:
	adrp	x8, _STRIPE_INSYNC@GOTPAGE
Lloh117:
	ldr	x8, [x8, _STRIPE_INSYNC@GOTPAGEOFF]
Lloh118:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_127
	b	LBB0_124
LBB0_123:
	ldr	x8, [x21, #56]
	cbz	x8, LBB0_136
LBB0_124:
	ldr	w8, [x20, #4]
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	mov	x3, x22
	cmp	w8, #6
	b.ne	LBB0_126
; %bb.125:
	bl	_handle_parity_checks6
	b	LBB0_127
LBB0_126:
	bl	_handle_parity_checks5
LBB0_127:
	ldp	x8, x9, [sp, #176]
	orr	x8, x8, x9
	cbz	x8, LBB0_143
; %bb.128:
	ldr	w8, [sp, #152]
	cbnz	w8, LBB0_143
; %bb.129:
Lloh119:
	adrp	x8, _STRIPE_COMPUTE_RUN@GOTPAGE
Lloh120:
	ldr	x8, [x8, _STRIPE_COMPUTE_RUN@GOTPAGEOFF]
Lloh121:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_143
; %bb.130:
Lloh122:
	adrp	x8, _STRIPE_REPLACED@GOTPAGE
Lloh123:
	ldr	x8, [x8, _STRIPE_REPLACED@GOTPAGEOFF]
Lloh124:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_143
; %bb.131:
	ldr	w8, [x20, #8]
	cmp	w8, #1
	b.lt	LBB0_140
; %bb.132:
	mov	x23, #0
	mov	x24, #0
Lloh125:
	adrp	x25, _R5_NeedReplace@GOTPAGE
Lloh126:
	ldr	x25, [x25, _R5_NeedReplace@GOTPAGEOFF]
Lloh127:
	adrp	x26, _R5_UPTODATE@GOTPAGE
Lloh128:
	ldr	x26, [x26, _R5_UPTODATE@GOTPAGEOFF]
Lloh129:
	adrp	x27, _R5_WantReplace@GOTPAGE
Lloh130:
	ldr	x27, [x27, _R5_WantReplace@GOTPAGEOFF]
Lloh131:
	adrp	x19, _R5_LOCKED@GOTPAGE
Lloh132:
	ldr	x19, [x19, _R5_LOCKED@GOTPAGEOFF]
	b	LBB0_134
LBB0_133:                               ;   in Loop: Header=BB0_134 Depth=1
	add	x24, x24, #1
	ldrsw	x8, [x20, #8]
	add	x23, x23, #16
	cmp	x24, x8
	b.ge	LBB0_140
LBB0_134:                               ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x25]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_test_bit
	cbz	x0, LBB0_133
; %bb.135:                              ;   in Loop: Header=BB0_134 Depth=1
	ldr	w0, [x26]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_test_bit
	cmp	x0, #0
	cset	w0, eq
	bl	_WARN_ON
	ldr	w0, [x27]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_set_bit
	ldr	w0, [x19]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_set_bit
	ldr	w8, [sp, #152]
	add	w8, w8, #1
	str	w8, [sp, #152]
	b	LBB0_133
LBB0_136:
	ldr	w8, [x21, #64]
	cbnz	w8, LBB0_118
; %bb.137:
	ldr	w0, [x20, #48]
	bl	_r5c_is_writeback
	ldr	x8, [sp, #192]
	cbz	w0, LBB0_183
; %bb.138:
	cbz	x8, LBB0_185
; %bb.139:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	mov	x3, x22
	bl	_r5c_try_caching_write
	b	LBB0_186
LBB0_140:
	ldr	x8, [sp, #176]
	ldr	x25, [sp, #72]                  ; 8-byte Folded Reload
	cbz	x8, LBB0_142
; %bb.141:
Lloh133:
	adrp	x8, _STRIPE_INSYNC@GOTPAGE
Lloh134:
	ldr	x8, [x8, _STRIPE_INSYNC@GOTPAGEOFF]
Lloh135:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_set_bit
LBB0_142:
Lloh136:
	adrp	x8, _STRIPE_REPLACED@GOTPAGE
Lloh137:
	ldr	x8, [x8, _STRIPE_REPLACED@GOTPAGEOFF]
Lloh138:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_set_bit
LBB0_143:
	ldp	x9, x8, [sp, #176]
	orr	x8, x8, x9
	cbz	x8, LBB0_146
; %bb.144:
	ldr	w8, [sp, #152]
	cbnz	w8, LBB0_146
; %bb.145:
Lloh139:
	adrp	x8, _STRIPE_COMPUTE_RUN@GOTPAGE
Lloh140:
	ldr	x8, [x8, _STRIPE_COMPUTE_RUN@GOTPAGEOFF]
Lloh141:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_162
LBB0_146:
	ldr	w8, [sp, #92]
	ldr	w9, [x20]
	cmp	w8, w9
	b.gt	LBB0_148
; %bb.147:
	ldr	x9, [x20, #16]
	ldr	w9, [x9, #16]
	cmp	w9, #0
	ccmp	w8, #1, #8, eq
	b.ge	LBB0_154
LBB0_148:
	ldr	x8, [x21, #24]
Lloh142:
	adrp	x9, _reconstruct_state_result@GOTPAGE
Lloh143:
	ldr	x9, [x9, _reconstruct_state_result@GOTPAGEOFF]
Lloh144:
	ldr	x9, [x9]
	cmp	x8, x9
	ldr	x26, [sp, #72]                  ; 8-byte Folded Reload
	b.ne	LBB0_169
; %bb.149:
	ldr	x1, [x21, #40]
	mov	x0, x20
	mov	w2, #1
	mov	w3, #1
	mov	w4, #1
	bl	_raid5_get_active_stripe
	cbz	x0, LBB0_166
; %bb.150:
	mov	x23, x0
Lloh145:
	adrp	x8, _STRIPE_EXPAND_SOURCE@GOTPAGE
Lloh146:
	ldr	x8, [x8, _STRIPE_EXPAND_SOURCE@GOTPAGEOFF]
Lloh147:
	ldr	w0, [x8]
	add	x24, x23, #32
	mov	x1, x24
	bl	_test_bit
	cbz	x0, LBB0_165
; %bb.151:
Lloh148:
	adrp	x8, _STRIPE_DELAYED@GOTPAGE
Lloh149:
	ldr	x8, [x8, _STRIPE_DELAYED@GOTPAGEOFF]
Lloh150:
	ldr	w0, [x8]
	mov	x1, x26
	bl	_set_bit
	ldr	w0, [x28]
	mov	x1, x26
	bl	_set_bit
Lloh151:
	adrp	x8, _STRIPE_PREREAD_ACTIVE@GOTPAGE
Lloh152:
	ldr	x8, [x8, _STRIPE_PREREAD_ACTIVE@GOTPAGEOFF]
Lloh153:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_test_and_set_bit
	cbnz	w0, LBB0_153
; %bb.152:
	add	x0, x20, #24
	bl	_atomic_inc
LBB0_153:
	mov	x0, x23
	bl	_raid5_release_stripe
	ldr	x24, [sp, #56]                  ; 8-byte Folded Reload
	b	LBB0_18
LBB0_154:
	mov	x19, #0
Lloh154:
	adrp	x24, _R5_ReadError@GOTPAGE
Lloh155:
	ldr	x24, [x24, _R5_ReadError@GOTPAGEOFF]
Lloh156:
	adrp	x25, _R5_LOCKED@GOTPAGE
Lloh157:
	ldr	x25, [x25, _R5_LOCKED@GOTPAGEOFF]
Lloh158:
	adrp	x26, _R5_UPTODATE@GOTPAGE
Lloh159:
	ldr	x26, [x26, _R5_UPTODATE@GOTPAGEOFF]
Lloh160:
	adrp	x27, _R5_ReWrite@GOTPAGE
Lloh161:
	ldr	x27, [x27, _R5_ReWrite@GOTPAGEOFF]
	b	LBB0_157
LBB0_155:                               ;   in Loop: Header=BB0_157 Depth=1
	ldr	w0, [x8]
	mov	x1, x23
	bl	_set_bit
	ldr	w0, [x25]
	mov	x1, x23
	bl	_set_bit
	ldr	w8, [sp, #152]
	add	w8, w8, #1
	str	w8, [sp, #152]
LBB0_156:                               ;   in Loop: Header=BB0_157 Depth=1
	add	x19, x19, #1
	ldrsw	x8, [sp, #92]
	cmp	x19, x8
	b.ge	LBB0_148
LBB0_157:                               ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x21, #48]
	ldr	x9, [sp, #96]
	ldr	x9, [x9, x19, lsl #3]
	ldr	w0, [x24]
	add	x23, x8, x9, lsl #4
	mov	x1, x23
	bl	_test_bit
	cbz	x0, LBB0_156
; %bb.158:                              ;   in Loop: Header=BB0_157 Depth=1
	ldr	w0, [x25]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_156
; %bb.159:                              ;   in Loop: Header=BB0_157 Depth=1
	ldr	w0, [x26]
	mov	x1, x23
	bl	_test_bit
	cbz	x0, LBB0_156
; %bb.160:                              ;   in Loop: Header=BB0_157 Depth=1
	ldr	w0, [x27]
	mov	x1, x23
	bl	_test_bit
Lloh162:
	adrp	x8, _R5_Wantread@GOTPAGE
Lloh163:
	ldr	x8, [x8, _R5_Wantread@GOTPAGEOFF]
	cbnz	x0, LBB0_155
; %bb.161:                              ;   in Loop: Header=BB0_157 Depth=1
Lloh164:
	adrp	x8, _R5_Wantwrite@GOTPAGE
Lloh165:
	ldr	x8, [x8, _R5_Wantwrite@GOTPAGEOFF]
Lloh166:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_set_bit
	mov	x8, x27
	b	LBB0_155
LBB0_162:
Lloh167:
	adrp	x8, _STRIPE_INSYNC@GOTPAGE
Lloh168:
	ldr	x8, [x8, _STRIPE_INSYNC@GOTPAGEOFF]
Lloh169:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbz	x0, LBB0_146
; %bb.163:
	ldr	x0, [x20, #16]
Lloh170:
	adrp	x8, _STRIPE_SECTORS@GOTPAGE
Lloh171:
	ldr	x8, [x8, _STRIPE_SECTORS@GOTPAGEOFF]
Lloh172:
	ldr	w1, [x8]
	mov	w2, #1
	bl	_md_done_sync
Lloh173:
	adrp	x8, _STRIPE_SYNCING@GOTPAGE
Lloh174:
	ldr	x8, [x8, _STRIPE_SYNCING@GOTPAGEOFF]
Lloh175:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_clear_bit
Lloh176:
	adrp	x8, _R5_Overlap@GOTPAGE
Lloh177:
	ldr	x8, [x8, _R5_Overlap@GOTPAGEOFF]
Lloh178:
	ldr	w0, [x8]
	ldr	x8, [x21, #48]
	ldr	x9, [x21, #8]
	add	x1, x8, x9, lsl #4
	bl	_test_and_clear_bit
	cbz	x0, LBB0_146
; %bb.164:
	add	x0, x20, #40
	bl	_wake_up
	b	LBB0_146
LBB0_165:
	mov	x0, x23
	bl	_raid5_release_stripe
LBB0_166:
Lloh179:
	adrp	x8, _reconstruct_state_idle@GOTPAGE
Lloh180:
	ldr	x8, [x8, _reconstruct_state_idle@GOTPAGEOFF]
Lloh181:
	ldr	x8, [x8]
	str	x8, [x21, #24]
Lloh182:
	adrp	x8, _STRIPE_EXPANDING@GOTPAGE
Lloh183:
	ldr	x8, [x8, _STRIPE_EXPANDING@GOTPAGEOFF]
Lloh184:
	ldr	w0, [x8]
	mov	x1, x26
	bl	_clear_bit
	ldr	w19, [x20, #8]
	cbz	w19, LBB0_169
; %bb.167:
	sxtw	x8, w19
	lsl	x8, x8, #4
	sub	x23, x8, #16
Lloh185:
	adrp	x24, _R5_Wantwrite@GOTPAGE
Lloh186:
	ldr	x24, [x24, _R5_Wantwrite@GOTPAGEOFF]
Lloh187:
	adrp	x25, _R5_LOCKED@GOTPAGE
Lloh188:
	ldr	x25, [x25, _R5_LOCKED@GOTPAGEOFF]
LBB0_168:                               ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x24]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_set_bit
	ldr	w0, [x25]
	ldr	x8, [x21, #48]
	add	x1, x8, x23
	bl	_set_bit
	ldr	w8, [sp, #152]
	add	w8, w8, #1
	str	w8, [sp, #152]
	sub	x23, x23, #16
	sub	w19, w19, #1
	cbnz	w19, LBB0_168
LBB0_169:
	ldr	x8, [sp, #168]
	ldr	x24, [sp, #56]                  ; 8-byte Folded Reload
	cbz	x8, LBB0_177
; %bb.170:
Lloh189:
	adrp	x8, _STRIPE_EXPANDING@GOTPAGE
Lloh190:
	ldr	x8, [x8, _STRIPE_EXPANDING@GOTPAGEOFF]
Lloh191:
	ldr	w0, [x8]
	mov	x1, x26
	bl	_test_bit
	cbz	x0, LBB0_172
; %bb.171:
	ldr	x8, [x21, #24]
	cbz	x8, LBB0_176
LBB0_172:
	ldr	x8, [sp, #168]
	cbz	x8, LBB0_177
; %bb.173:
	ldr	x8, [x21, #24]
	cbnz	x8, LBB0_177
; %bb.174:
	ldr	w8, [sp, #152]
	cbnz	w8, LBB0_177
; %bb.175:
Lloh192:
	adrp	x8, _STRIPE_EXPAND_READY@GOTPAGE
Lloh193:
	ldr	x8, [x8, _STRIPE_EXPAND_READY@GOTPAGEOFF]
Lloh194:
	ldr	w0, [x8]
	mov	x1, x26
	bl	_clear_bit
	add	x0, x20, #44
	bl	_atomic_dec
	add	x0, x20, #40
	bl	_wake_up
	ldr	x0, [x20, #16]
Lloh195:
	adrp	x8, _STRIPE_SECTORS@GOTPAGE
Lloh196:
	ldr	x8, [x8, _STRIPE_SECTORS@GOTPAGEOFF]
Lloh197:
	ldr	w1, [x8]
	mov	w2, #1
	bl	_md_done_sync
	b	LBB0_177
LBB0_176:
	ldr	w8, [x20, #8]
	str	w8, [x21]
	ldr	x0, [x21, #40]
	mov	x1, x20
	mov	w2, #0
	mov	x3, x21
	bl	_stripe_set_idx
	add	x1, sp, #88
	mov	x0, x21
	mov	w2, #1
	mov	w3, #1
	bl	_schedule_reconstruction
LBB0_177:
	ldr	x8, [sp, #160]
	cbz	x8, LBB0_18
; %bb.178:
	ldr	w8, [sp, #152]
	cbnz	w8, LBB0_18
; %bb.179:
Lloh198:
	adrp	x8, _STRIPE_COMPUTE_RUN@GOTPAGE
Lloh199:
	ldr	x8, [x8, _STRIPE_COMPUTE_RUN@GOTPAGEOFF]
Lloh200:
	ldr	w0, [x8]
	mov	x1, x26
	bl	_test_bit
	cbnz	x0, LBB0_18
; %bb.180:
	mov	x0, x20
	mov	x1, x21
	bl	_handle_stripe_expansion
	b	LBB0_18
LBB0_181:
Lloh201:
	adrp	x8, _R5_UPTODATE@GOTPAGE
Lloh202:
	ldr	x8, [x8, _R5_UPTODATE@GOTPAGEOFF]
Lloh203:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_99
; %bb.182:
Lloh204:
	adrp	x8, _R5_Discard@GOTPAGE
Lloh205:
	ldr	x8, [x8, _R5_Discard@GOTPAGEOFF]
Lloh206:
	ldr	w0, [x8]
	mov	x1, x23
	bl	_test_bit
	cbnz	x0, LBB0_99
	b	LBB0_106
LBB0_183:
	cbz	x8, LBB0_118
; %bb.184:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	mov	x3, x22
	bl	_handle_stripe_dirtying
	b	LBB0_118
LBB0_185:
	mov	w0, #0
LBB0_186:
Lloh207:
	adrp	x19, _EAGAIN@GOTPAGE
Lloh208:
	ldr	x19, [x19, _EAGAIN@GOTPAGEOFF]
	ldr	w8, [x19]
	cmn	w0, w8
	b.eq	LBB0_189
; %bb.187:
Lloh209:
	adrp	x8, _STRIPE_R5C_CACHING@GOTPAGE
Lloh210:
	ldr	x8, [x8, _STRIPE_R5C_CACHING@GOTPAGEOFF]
Lloh211:
	ldr	w0, [x8]
	mov	x1, x25
	bl	_test_bit
	cbnz	x0, LBB0_118
; %bb.188:
	ldr	x8, [sp, #104]
	cmp	x8, #1
	b.lt	LBB0_118
LBB0_189:
	add	x2, sp, #88
	mov	x0, x20
	mov	x1, x21
	mov	x3, x22
	bl	_handle_stripe_dirtying
	ldr	w8, [x19]
	cmn	w0, w8
	b.eq	LBB0_18
	b	LBB0_118
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGot	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpLdrGotLdr	Lloh119, Lloh120, Lloh121
	.loh AdrpLdrGotLdr	Lloh122, Lloh123, Lloh124
	.loh AdrpLdrGot	Lloh131, Lloh132
	.loh AdrpLdrGot	Lloh129, Lloh130
	.loh AdrpLdrGot	Lloh127, Lloh128
	.loh AdrpLdrGot	Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh133, Lloh134, Lloh135
	.loh AdrpLdrGotLdr	Lloh136, Lloh137, Lloh138
	.loh AdrpLdrGotLdr	Lloh139, Lloh140, Lloh141
	.loh AdrpLdrGotLdr	Lloh142, Lloh143, Lloh144
	.loh AdrpLdrGotLdr	Lloh145, Lloh146, Lloh147
	.loh AdrpLdrGotLdr	Lloh151, Lloh152, Lloh153
	.loh AdrpLdrGotLdr	Lloh148, Lloh149, Lloh150
	.loh AdrpLdrGot	Lloh160, Lloh161
	.loh AdrpLdrGot	Lloh158, Lloh159
	.loh AdrpLdrGot	Lloh156, Lloh157
	.loh AdrpLdrGot	Lloh154, Lloh155
	.loh AdrpLdrGot	Lloh162, Lloh163
	.loh AdrpLdrGotLdr	Lloh164, Lloh165, Lloh166
	.loh AdrpLdrGotLdr	Lloh167, Lloh168, Lloh169
	.loh AdrpLdrGotLdr	Lloh176, Lloh177, Lloh178
	.loh AdrpLdrGotLdr	Lloh173, Lloh174, Lloh175
	.loh AdrpLdrGotLdr	Lloh170, Lloh171, Lloh172
	.loh AdrpLdrGotLdr	Lloh182, Lloh183, Lloh184
	.loh AdrpLdrGotLdr	Lloh179, Lloh180, Lloh181
	.loh AdrpLdrGot	Lloh187, Lloh188
	.loh AdrpLdrGot	Lloh185, Lloh186
	.loh AdrpLdrGotLdr	Lloh189, Lloh190, Lloh191
	.loh AdrpLdrGotLdr	Lloh195, Lloh196, Lloh197
	.loh AdrpLdrGotLdr	Lloh192, Lloh193, Lloh194
	.loh AdrpLdrGotLdr	Lloh198, Lloh199, Lloh200
	.loh AdrpLdrGotLdr	Lloh201, Lloh202, Lloh203
	.loh AdrpLdrGotLdr	Lloh204, Lloh205, Lloh206
	.loh AdrpLdrGot	Lloh207, Lloh208
	.loh AdrpLdrGotLdr	Lloh209, Lloh210, Lloh211
	.cfi_endproc
                                        ; -- End function
	.comm	_STRIPE_HANDLE,4,2              ; @STRIPE_HANDLE
	.comm	_STRIPE_ACTIVE,4,2              ; @STRIPE_ACTIVE
	.comm	_STRIPE_BATCH_ERR,4,2           ; @STRIPE_BATCH_ERR
	.comm	_STRIPE_SYNC_REQUESTED,4,2      ; @STRIPE_SYNC_REQUESTED
	.comm	_STRIPE_R5C_PARTIAL_STRIPE,4,2  ; @STRIPE_R5C_PARTIAL_STRIPE
	.comm	_STRIPE_R5C_FULL_STRIPE,4,2     ; @STRIPE_R5C_FULL_STRIPE
	.comm	_STRIPE_DISCARD,4,2             ; @STRIPE_DISCARD
	.comm	_STRIPE_SYNCING,4,2             ; @STRIPE_SYNCING
	.comm	_STRIPE_INSYNC,4,2              ; @STRIPE_INSYNC
	.comm	_STRIPE_REPLACED,4,2            ; @STRIPE_REPLACED
	.comm	_STRIPE_DELAYED,4,2             ; @STRIPE_DELAYED
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"handling stripe %llu, state=%#lx cnt=%d, pd_idx=%d, qd_idx=%d\n, check:%d, reconstruct:%d\n"

	.comm	_STRIPE_LOG_TRAPPED,4,2         ; @STRIPE_LOG_TRAPPED
	.comm	_MD_SB_CHANGE_PENDING,4,2       ; @MD_SB_CHANGE_PENDING
	.comm	_STRIPE_BIOFILL_RUN,4,2         ; @STRIPE_BIOFILL_RUN
	.comm	_STRIPE_OP_BIOFILL,4,2          ; @STRIPE_OP_BIOFILL
l_.str.1:                               ; @.str.1
	.asciz	"locked=%d uptodate=%d to_read=%d to_write=%d failed=%d failed_num=%d,%d\n"

	.comm	_reconstruct_state_prexor_drain_result,8,3 ; @reconstruct_state_prexor_drain_result
	.comm	_reconstruct_state_drain_result,8,3 ; @reconstruct_state_drain_result
	.comm	_reconstruct_state_idle,8,3     ; @reconstruct_state_idle
	.comm	_R5_UPTODATE,4,2                ; @R5_UPTODATE
	.comm	_R5_Discard,4,2                 ; @R5_Discard
	.comm	_R5_LOCKED,4,2                  ; @R5_LOCKED
	.comm	_R5_InJournal,4,2               ; @R5_InJournal
l_.str.2:                               ; @.str.2
	.asciz	"Writing block %d\n"

	.comm	_R5_Wantwrite,4,2               ; @R5_Wantwrite
	.comm	_R5_Insync,4,2                  ; @R5_Insync
	.comm	_STRIPE_PREREAD_ACTIVE,4,2      ; @STRIPE_PREREAD_ACTIVE
	.comm	_EAGAIN,4,2                     ; @EAGAIN
	.comm	_STRIPE_R5C_CACHING,4,2         ; @STRIPE_R5C_CACHING
	.comm	_STRIPE_COMPUTE_RUN,4,2         ; @STRIPE_COMPUTE_RUN
	.comm	_R5_NeedReplace,4,2             ; @R5_NeedReplace
	.comm	_R5_WantReplace,4,2             ; @R5_WantReplace
	.comm	_STRIPE_SECTORS,4,2             ; @STRIPE_SECTORS
	.comm	_R5_Overlap,4,2                 ; @R5_Overlap
	.comm	_R5_ReadError,4,2               ; @R5_ReadError
	.comm	_R5_ReWrite,4,2                 ; @R5_ReWrite
	.comm	_R5_Wantread,4,2                ; @R5_Wantread
	.comm	_reconstruct_state_result,8,3   ; @reconstruct_state_result
	.comm	_STRIPE_EXPAND_SOURCE,4,2       ; @STRIPE_EXPAND_SOURCE
	.comm	_STRIPE_EXPANDING,4,2           ; @STRIPE_EXPANDING
	.comm	_STRIPE_EXPAND_READY,4,2        ; @STRIPE_EXPAND_READY
	.comm	_R5_WriteError,4,2              ; @R5_WriteError
	.comm	_R5_MadeGood,4,2                ; @R5_MadeGood
	.comm	_R5_MadeGoodRepl,4,2            ; @R5_MadeGoodRepl
	.comm	_IO_THRESHOLD,8,3               ; @IO_THRESHOLD
	.no_dead_strip	_handle_stripe
.subsections_via_symbols
