	.file	"extr_drbd_state.c_sanitize_state.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	sanitize_state, @function
sanitize_state:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14, rsi
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rdx
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rcx
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	test	rcx, rcx
	je	.L2
	mov	eax, DWORD PTR NO_WARNING[rip]
	mov	DWORD PTR [rcx], eax
.L2:
	mov	rdi, r13
	mov	r15d, DWORD PTR FP_DONT_CARE[rip]
	call	get_ldev@PLT
	test	rax, rax
	jne	.L83
.L4:
	mov	rbx, r12
	cmp	r12, 148
	jg	.L5
	mov	r12d, DWORD PTR R_UNKNOWN[rip]
	mov	rbx, QWORD PTR D_UNKNOWN[rip]
	cmp	r12, rbx
	jle	.L84
.L6:
	mov	r12, rbx
.L7:
	cmp	rbx, 142
	jne	.L5
	cmp	QWORD PTR D_DISKLESS[rip], 142
	jne	.L8
	xor	eax, eax
	cmp	QWORD PTR R_SECONDARY[rip], 142
	cmove	r12, rax
	cmove	rbx, rax
.L8:
	cmp	QWORD PTR D_NEGOTIATING[rip], rbx
	je	.L14
.L80:
	lea	rax, -149[rbx]
	mov	rdi, QWORD PTR D_UP_TO_DATE[rip]
	cmp	rax, 2
	jbe	.L12
.L20:
	mov	r10, QWORD PTR D_DISKLESS[rip]
	mov	r9, QWORD PTR D_INCONSISTENT[rip]
	lea	eax, -128[rbx]
	mov	ecx, edi
	mov	rdx, QWORD PTR D_UNKNOWN[rip]
	mov	esi, r10d
	mov	r8d, r9d
	cmp	eax, 24
	ja	.L31
	lea	r11, .L26[rip]
	movsx	rax, DWORD PTR [r11+rax*4]
	add	rax, r11
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L26:
	.long	.L27-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L27-.L26
	.long	.L25-.L26
	.long	.L46-.L26
	.long	.L46-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L30-.L26
	.long	.L29-.L26
	.long	.L27-.L26
	.long	.L25-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L27-.L26
	.long	.L25-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L31-.L26
	.long	.L28-.L26
	.long	.L31-.L26
	.long	.L27-.L26
	.long	.L25-.L26
	.text
	.p2align 4,,10
	.p2align 3
.L5:
	cmp	rbx, 149
	jle	.L9
	cmp	QWORD PTR D_FAILED[rip], rbx
	jl	.L80
	test	rbp, rbp
	je	.L11
	mov	eax, DWORD PTR ABORTED_RESYNC[rip]
	mov	DWORD PTR 0[rbp], eax
.L11:
	mov	rdi, QWORD PTR D_UP_TO_DATE[rip]
	mov	r12d, 149
	mov	ebx, 149
.L12:
	mov	rax, QWORD PTR D_CONSISTENT[rip]
	cmp	rax, rbx
	je	.L21
	cmp	QWORD PTR D_OUTDATED[rip], rbx
	je	.L21
.L22:
	mov	rbx, r12
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L30:
	mov	edx, edi
	mov	esi, r9d
	mov	r8d, edi
	mov	ecx, r9d
	.p2align 4,,10
	.p2align 3
.L31:
	mov	eax, ecx
	cmp	rax, rbx
	jge	.L32
	mov	r12, rax
	mov	rbx, rax
.L32:
	mov	eax, esi
	cmp	rax, rbx
	jle	.L33
	test	rbp, rbp
	je	.L34
	mov	ecx, DWORD PTR IMPLICITLY_UPGRADED_DISK[rip]
	mov	DWORD PTR 0[rbp], ecx
.L34:
	mov	r12, rax
	mov	rbx, rax
.L33:
	mov	edx, edx
	cmp	rdx, rbx
	jge	.L35
	mov	r12, rdx
	mov	rbx, rdx
.L35:
	mov	eax, r8d
	cmp	rax, rbx
	jle	.L36
	test	rbp, rbp
	je	.L37
	mov	edx, DWORD PTR IMPLICITLY_UPGRADED_PDSK[rip]
	mov	DWORD PTR 0[rbp], edx
.L37:
	mov	r12, rax
	mov	rbx, rax
.L36:
	mov	rax, QWORD PTR 8[r13]
	cmp	DWORD PTR FP_STONITH[rip], r15d
	mov	rcx, QWORD PTR OND_SUSPEND_IO[rip]
	mov	rax, QWORD PTR [rax]
	je	.L85
.L38:
	cmp	rcx, rax
	je	.L86
.L39:
	test	rbx, rbx
	je	.L58
	cmp	rbx, 139
	je	.L87
	cmp	rbx, 138
	mov	eax, 144
	cmove	r12, rax
.L58:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	rax, r12
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L84:
	.cfi_restore_state
	cmp	r12, QWORD PTR D_INCONSISTENT[rip]
	jl	.L6
	mov	rbx, r12
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L21:
	mov	r12, rdi
	cmp	rax, rdi
	jne	.L88
	mov	r12, rdi
	mov	rbx, rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L85:
	mov	rdx, QWORD PTR R_PRIMARY[rip]
	cmp	rdx, rbx
	jne	.L38
	cmp	rbx, 148
	jg	.L38
	mov	rsi, QWORD PTR D_OUTDATED[rip]
	cmp	rsi, rbx
	jge	.L38
	cmp	rdx, r14
	setne	r8b
	cmp	r14, 148
	setg	dl
	or	r8b, dl
	jne	.L47
	cmp	rsi, r14
	jl	.L39
.L47:
	movabs	rdx, -4294967296
	and	r12, rdx
	or	r12, 1
	mov	rbx, r12
	jmp	.L38
	.p2align 4,,10
	.p2align 3
.L86:
	mov	rax, QWORD PTR R_PRIMARY[rip]
	cmp	rdi, rbx
	setg	cl
	cmp	rax, rbx
	sete	dl
	test	cl, dl
	je	.L39
	cmp	rax, r14
	je	.L39
	movabs	rdx, -4294967296
	and	r12, rdx
	or	r12, 1
	mov	rbx, r12
	jmp	.L39
	.p2align 4,,10
	.p2align 3
.L83:
	xor	eax, eax
	call	rcu_read_lock@PLT
	mov	rax, QWORD PTR 32[r13]
	mov	edi, DWORD PTR 8[rax]
	call	rcu_dereference@PLT
	mov	r15d, DWORD PTR [rax]
	xor	eax, eax
	call	rcu_read_unlock@PLT
	mov	rdi, r13
	call	put_ldev@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L27:
	mov	ecx, DWORD PTR D_OUTDATED[rip]
	mov	edx, edi
	mov	esi, r9d
	mov	r8d, edi
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L87:
	mov	r12d, 145
	jmp	.L58
	.p2align 4,,10
	.p2align 3
.L25:
	mov	edx, DWORD PTR D_CONSISTENT[rip]
	mov	esi, edi
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L88:
	cmp	rdi, QWORD PTR D_OUTDATED[rip]
	jne	.L22
	mov	r12, rdi
	mov	rbx, rdi
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L14:
	mov	rsi, rbx
	mov	rdi, r13
	call	get_ldev_if_state@PLT
	test	rax, rax
	je	.L80
	mov	rax, QWORD PTR 32[r13]
	mov	rdx, QWORD PTR UI_CURRENT[rip]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax+rdx*8]
	cmp	QWORD PTR 0[r13], rax
	je	.L89
	test	rbp, rbp
	je	.L19
	mov	eax, DWORD PTR CONNECTION_LOST_NEGOTIATING[rip]
	mov	DWORD PTR 0[rbp], eax
.L19:
	mov	rbx, QWORD PTR D_UNKNOWN[rip]
	mov	r12, rbx
.L18:
	mov	rdi, r13
	call	put_ldev@PLT
	jmp	.L80
	.p2align 4,,10
	.p2align 3
.L46:
	mov	edx, edi
	mov	r8d, edi
	mov	esi, edi
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L29:
	mov	edx, r9d
	mov	esi, edi
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L9:
	jne	.L8
	mov	rdi, QWORD PTR D_UP_TO_DATE[rip]
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L28:
	mov	edx, edi
	mov	r8d, r10d
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L89:
	mov	rbx, QWORD PTR 24[r13]
	mov	r12, rbx
	jmp	.L18
	.cfi_endproc
.LFE0:
	.size	sanitize_state, .-sanitize_state
	.comm	UI_CURRENT,8,8
	.comm	R_UNKNOWN,4,4
	.comm	R_SECONDARY,8,8
	.comm	R_PRIMARY,8,8
	.comm	OND_SUSPEND_IO,8,8
	.comm	NO_WARNING,4,4
	.comm	IMPLICITLY_UPGRADED_PDSK,4,4
	.comm	IMPLICITLY_UPGRADED_DISK,4,4
	.comm	FP_STONITH,4,4
	.comm	FP_DONT_CARE,4,4
	.comm	D_UP_TO_DATE,8,8
	.comm	D_UNKNOWN,8,8
	.comm	D_OUTDATED,8,8
	.comm	D_NEGOTIATING,8,8
	.comm	D_INCONSISTENT,8,8
	.comm	D_FAILED,8,8
	.comm	D_DISKLESS,8,8
	.comm	D_CONSISTENT,8,8
	.comm	CONNECTION_LOST_NEGOTIATING,4,4
	.comm	ABORTED_RESYNC,4,4
	.comm	ABORTED_ONLINE_VERIFY,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_drbd_state.c_sanitize_state.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sanitize_state, %function
sanitize_state:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	subs	r5, r3, #0
	ldrne	r3, .L83
	mov	r7, r2
	ldrne	r3, [r3]
	mov	r6, r0
	strne	r3, [r5]
	ldr	r3, .L83+4
	mov	r8, r1
	mov	r4, r2
	ldr	r9, [r3]
	bl	get_ldev
	cmp	r0, #0
	bne	.L76
.L4:
	ldr	fp, .L83+8
	cmp	r7, #148
	ldr	ip, [fp]
	bgt	.L5
	ldr	r3, .L83+12
	ldr	r4, [r3]
	cmp	r4, ip
	bgt	.L40
	ldr	r10, .L83+16
	ldr	r3, [r10]
	cmp	r4, r3
	movlt	r4, ip
	cmp	r4, #142
	bne	.L7
.L79:
	ldr	r7, .L83+20
	ldr	r3, [r7]
	cmp	r3, #142
	bne	.L8
	ldr	r3, .L83+24
	ldr	r3, [r3]
	cmp	r3, #142
	moveq	r4, #0
.L8:
	ldr	r3, .L83+28
	ldr	r3, [r3]
	cmp	r3, r4
	beq	.L77
.L12:
	ldr	r3, .L83+32
	mov	r2, r4
	ldr	r0, [r3]
	mov	r1, r0
	b	.L17
.L5:
	ldr	r3, .L83+32
	cmp	r7, #149
	ldr	r0, [r3]
	ldr	r10, .L83+16
	mov	r1, r0
	beq	.L74
.L37:
	ldr	r3, .L83+36
	ldr	r3, [r3]
	cmp	r3, r4
	bge	.L71
	ldr	r7, .L83+20
.L10:
	sub	r3, r4, #149
	cmp	r3, #2
	mov	r2, r4
	bhi	.L17
.L11:
	ldr	r3, .L83+40
	ldr	r3, [r3]
	cmp	r3, r4
	beq	.L44
.L78:
	ldr	r3, .L83+44
	ldr	r3, [r3]
	cmp	r3, r4
	movne	r2, r4
	beq	.L44
.L17:
	sub	r3, r4, #128
	ldr	lr, [r7]
	ldr	r7, [r10]
	cmp	r3, #24
	ldrls	pc, [pc, r3, asl #2]
	b	.L18
.L20:
	.word	.L21
	.word	.L18
	.word	.L18
	.word	.L21
	.word	.L19
	.word	.L25
	.word	.L25
	.word	.L18
	.word	.L18
	.word	.L18
	.word	.L24
	.word	.L23
	.word	.L21
	.word	.L19
	.word	.L18
	.word	.L18
	.word	.L21
	.word	.L19
	.word	.L18
	.word	.L18
	.word	.L18
	.word	.L45
	.word	.L18
	.word	.L21
	.word	.L19
.L71:
	cmp	r5, #0
	beq	.L42
	mov	r4, #149
	ldr	r3, .L83+48
	ldr	r7, .L83+20
	ldr	r3, [r3]
	str	r3, [r5]
	ldr	r3, .L83+40
	ldr	r3, [r3]
	cmp	r3, r4
	bne	.L78
.L44:
	mov	r2, r0
	mov	r4, r0
	b	.L17
.L40:
	mov	r4, ip
	cmp	r4, #142
	ldr	r10, .L83+16
	beq	.L79
.L7:
	cmp	r4, #149
	bgt	.L80
	beq	.L72
	ldr	r3, .L83+28
	ldr	r7, .L83+20
	ldr	r3, [r3]
	cmp	r3, r4
	bne	.L12
.L77:
	mov	r1, r4
	mov	r0, r6
	bl	get_ldev_if_state
	cmp	r0, #0
	bne	.L13
	ldr	ip, [fp]
	b	.L12
.L76:
	bl	rcu_read_lock
	ldr	r3, [r6, #16]
	ldr	r0, [r3, #4]
	bl	rcu_dereference
	ldr	r9, [r0]
	bl	rcu_read_unlock
	mov	r0, r6
	bl	put_ldev
	b	.L4
.L18:
	mov	r3, ip
.L22:
	cmp	r1, r2
	movcc	r2, r1
	movcc	r4, r1
	cmp	lr, r2
	bls	.L27
	cmp	r5, #0
	ldrne	r2, .L83+52
	mov	r4, lr
	ldrne	r2, [r2]
	strne	r2, [r5]
	mov	r2, lr
.L27:
	cmp	r3, r2
	movcc	r2, r3
	movcc	r4, r3
	cmp	r7, r2
	bls	.L30
	mov	r4, r7
	cmp	r5, #0
	ldrne	r3, .L83+56
	ldrne	r3, [r3]
	strne	r3, [r5]
.L30:
	ldr	r3, .L83+60
	ldr	r2, [r6, #4]
	ldr	r1, [r3]
	ldr	r3, .L83+64
	cmp	r1, r9
	ldr	r2, [r2]
	ldr	r3, [r3]
	beq	.L81
.L32:
	cmp	r2, r3
	beq	.L82
.L34:
	cmp	r4, #0
	beq	.L55
	cmp	r4, #139
	moveq	r4, #145
	beq	.L55
	cmp	r4, #138
	moveq	r4, #144
.L55:
	mov	r0, r4
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L21:
	ldr	r3, .L83+44
	mov	lr, r7
	ldr	r1, [r3]
	mov	r7, r0
	mov	r3, r0
	b	.L22
.L19:
	ldr	r3, .L83+40
	mov	lr, r0
	ldr	r3, [r3]
	b	.L22
.L25:
	mov	r3, r0
	mov	r7, r0
	mov	lr, r0
	b	.L22
.L42:
	mov	r4, #149
.L74:
	ldr	r7, .L83+20
	b	.L11
.L23:
	mov	r3, r7
	mov	lr, r0
	b	.L22
.L24:
	mov	lr, r7
	mov	r1, r7
	mov	r3, r0
	mov	r7, r0
	b	.L22
.L45:
	mov	r3, r0
	mov	r7, lr
	b	.L22
.L81:
	ldr	r1, .L83+68
	ldr	r1, [r1]
	cmp	r4, #148
	cmple	r1, r4
	bne	.L32
	ldr	ip, .L83+44
	ldr	ip, [ip]
	cmp	ip, r4
	bge	.L32
	cmp	r8, #148
	cmple	r1, r8
	movne	r1, #1
	moveq	r1, #0
	cmp	ip, r8
	orrge	r1, r1, #1
	cmp	r1, #0
	beq	.L32
.L33:
	mov	r4, #1
	b	.L55
.L82:
	ldr	r3, .L83+68
	cmp	r4, r0
	ldr	r3, [r3]
	sub	r1, r4, r3
	clz	r1, r1
	lsr	r1, r1, #5
	movge	r1, #0
	cmp	r8, r3
	moveq	r8, #0
	andne	r8, r1, #1
	cmp	r8, #0
	beq	.L34
	b	.L33
.L13:
	ldr	r2, .L83+72
	ldr	r3, [r6, #16]
	ldr	r1, [r2]
	ldr	r3, [r3]
	ldr	r2, [r6]
	ldr	r3, [r3, r1, lsl #2]
	cmp	r2, r3
	ldreq	r4, [r6, #12]
	beq	.L15
	cmp	r5, #0
	ldrne	r3, .L83+76
	ldr	r4, [fp]
	ldrne	r3, [r3]
	strne	r3, [r5]
.L15:
	mov	r0, r6
	bl	put_ldev
	ldr	r3, .L83+32
	ldr	ip, [fp]
	ldr	r0, [r3]
	mov	r1, r0
	b	.L10
.L72:
	ldr	r3, .L83+32
	ldr	r7, .L83+20
	ldr	r0, [r3]
	mov	r1, r0
	b	.L11
.L80:
	ldr	r3, .L83+32
	ldr	r0, [r3]
	mov	r1, r0
	b	.L37
.L84:
	.align	2
.L83:
	.word	NO_WARNING
	.word	FP_DONT_CARE
	.word	D_UNKNOWN
	.word	R_UNKNOWN
	.word	D_INCONSISTENT
	.word	D_DISKLESS
	.word	R_SECONDARY
	.word	D_NEGOTIATING
	.word	D_UP_TO_DATE
	.word	D_FAILED
	.word	D_CONSISTENT
	.word	D_OUTDATED
	.word	ABORTED_RESYNC
	.word	IMPLICITLY_UPGRADED_DISK
	.word	IMPLICITLY_UPGRADED_PDSK
	.word	FP_STONITH
	.word	OND_SUSPEND_IO
	.word	R_PRIMARY
	.word	UI_CURRENT
	.word	CONNECTION_LOST_NEGOTIATING
	.size	sanitize_state, .-sanitize_state
	.comm	UI_CURRENT,4,4
	.comm	R_UNKNOWN,4,4
	.comm	R_SECONDARY,4,4
	.comm	R_PRIMARY,4,4
	.comm	OND_SUSPEND_IO,4,4
	.comm	NO_WARNING,4,4
	.comm	IMPLICITLY_UPGRADED_PDSK,4,4
	.comm	IMPLICITLY_UPGRADED_DISK,4,4
	.comm	FP_STONITH,4,4
	.comm	FP_DONT_CARE,4,4
	.comm	D_UP_TO_DATE,4,4
	.comm	D_UNKNOWN,4,4
	.comm	D_OUTDATED,4,4
	.comm	D_NEGOTIATING,4,4
	.comm	D_INCONSISTENT,4,4
	.comm	D_FAILED,4,4
	.comm	D_DISKLESS,4,4
	.comm	D_CONSISTENT,4,4
	.comm	CONNECTION_LOST_NEGOTIATING,4,4
	.comm	ABORTED_RESYNC,4,4
	.comm	ABORTED_ONLINE_VERIFY,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
