	.file	"extr_file.c_expand_inode_data.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	expand_inode_data, @function
expand_inode_data:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15d, ecx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdx
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rsi
	add	r13, rbx
	sub	rsp, 56
	.cfi_def_cfa_offset 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 40[rsp], rax
	xor	eax, eax
	call	F2FS_I_SB@PLT
	pxor	xmm0, xmm0
	mov	rdi, rbp
	mov	QWORD PTR 32[rsp], 0
	mov	r14, rax
	mov	eax, DWORD PTR NO_CHECK_TYPE[rip]
	movaps	XMMWORD PTR [rsp], xmm0
	movaps	XMMWORD PTR 16[rsp], xmm0
	mov	DWORD PTR [rsp], 1
	mov	DWORD PTR 20[rsp], eax
	call	i_size_read@PLT
	mov	rsi, r13
	mov	rdi, rbp
	call	inode_newsize_ok@PLT
	mov	r12d, eax
	test	eax, eax
	je	.L20
.L1:
	mov	rax, QWORD PTR 40[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L21
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r12d
	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
.L20:
	.cfi_restore_state
	mov	rdi, rbp
	call	f2fs_convert_inline_inode@PLT
	mov	r12d, eax
	test	eax, eax
	jne	.L1
	mov	rdi, r14
	mov	esi, 1
	mov	r14, r13
	call	f2fs_balance_fs@PLT
	mov	rcx, QWORD PTR PAGE_SHIFT[rip]
	mov	eax, DWORD PTR PAGE_SIZE[rip]
	mov	rdi, rbp
	shr	r14, cl
	shr	rbx, cl
	sub	eax, 1
	mov	edx, r14d
	cdqe
	mov	QWORD PTR 8[rsp], rbx
	sub	edx, ebx
	and	rax, r13
	lea	ecx, 1[rdx]
	mov	rbx, rax
	cmovne	edx, ecx
	mov	DWORD PTR 16[rsp], edx
	call	f2fs_is_pinned_file@PLT
	test	rax, rax
	je	.L5
	mov	eax, DWORD PTR CURSEG_COLD_DATA[rip]
	mov	DWORD PTR 20[rsp], eax
.L5:
	mov	rdi, rbp
	call	f2fs_is_pinned_file@PLT
	mov	rsi, rsp
	mov	edx, 1
	mov	rdi, rbp
	mov	ecx, DWORD PTR F2FS_GET_BLOCK_PRE_DIO[rip]
	test	rax, rax
	cmove	ecx, DWORD PTR F2FS_GET_BLOCK_PRE_AIO[rip]
	call	f2fs_map_blocks@PLT
	mov	r12d, eax
	test	eax, eax
	je	.L8
	mov	eax, DWORD PTR 16[rsp]
	test	eax, eax
	je	.L1
	add	eax, DWORD PTR 8[rsp]
	lea	edx, -1[rax]
	cmp	r14d, edx
	je	.L9
	mov	rcx, QWORD PTR PAGE_SHIFT[rip]
	movsx	r13, eax
	sal	r13, cl
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L8:
	mov	rcx, QWORD PTR PAGE_SHIFT[rip]
	movsx	r13, r14d
	sal	r13, cl
	add	r13, rbx
.L9:
	mov	rdi, rbp
	call	i_size_read@PLT
	cmp	rax, r13
	jnb	.L1
	test	DWORD PTR FALLOC_FL_KEEP_SIZE[rip], r15d
	je	.L10
	mov	rdi, rbp
	call	file_set_keep_isize@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L10:
	mov	rsi, r13
	mov	rdi, rbp
	call	f2fs_i_size_write@PLT
	jmp	.L1
.L21:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	expand_inode_data, .-expand_inode_data
	.comm	PAGE_SIZE,4,4
	.comm	PAGE_SHIFT,8,8
	.comm	NO_CHECK_TYPE,4,4
	.comm	FALLOC_FL_KEEP_SIZE,4,4
	.comm	F2FS_GET_BLOCK_PRE_DIO,4,4
	.comm	F2FS_GET_BLOCK_PRE_AIO,4,4
	.comm	CURSEG_COLD_DATA,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_file.c_expand_inode_data.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	expand_inode_data, %function
expand_inode_data:
	@ args = 12, pretend = 0, frame = 48
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #52
	mov	r5, r2
	mov	fp, r3
	ldr	r2, [sp, #92]
	ldr	r3, .L23
	mov	r10, r0
	ldr	r3, [r3]
	str	r3, [sp, #44]
	mov	r3,#0
	ldr	r4, [sp, #88]
	str	r2, [sp, #4]
	bl	F2FS_I_SB
	mov	r9, #1
	mov	r3, #0
	ldr	r1, .L23+4
	mov	r8, r0
	ldr	r1, [r1]
	mov	r0, r10
	str	r3, [sp, #12]
	str	r3, [sp, #16]
	str	r3, [sp, #20]
	str	r3, [sp, #24]
	str	r3, [sp, #32]
	str	r3, [sp, #36]
	str	r1, [sp, #28]
	str	r9, [sp, #8]
	bl	i_size_read
	ldr	r2, [sp, #4]
	adds	r6, r4, r5
	adc	r7, r2, fp
	mov	r3, r7
	mov	r2, r6
	mov	r0, r10
	bl	inode_newsize_ok
	subs	r4, r0, #0
	beq	.L21
.L1:
	ldr	r3, .L23
	ldr	r2, [r3]
	ldr	r3, [sp, #44]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L22
	mov	r0, r4
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L21:
	mov	r0, r10
	bl	f2fs_convert_inline_inode
	subs	r4, r0, #0
	bne	.L1
	mov	r1, r9
	mov	r0, r8
	bl	f2fs_balance_fs
	ldr	r3, .L23+8
	ldr	r2, [r3]
	ldr	r3, .L23+12
	sub	r2, r2, #1
	ldr	r3, [r3]
	asr	r1, r2, #31
	rsb	ip, r3, #32
	and	r8, r2, r6
	lsr	r2, r5, r3
	lsr	r5, r6, r3
	orr	r2, r2, fp, lsl ip
	orr	r5, r5, r7, lsl ip
	and	r9, r1, r7
	sub	r1, r3, #32
	orr	r2, r2, fp, lsr r1
	orr	r5, r5, r7, lsr r1
	orrs	r0, r8, r9
	str	r2, [sp, #16]
	sub	r2, r5, r2
	lsr	fp, fp, r3
	addne	r2, r2, #1
	mov	r0, r10
	str	r2, [sp, #24]
	str	fp, [sp, #20]
	bl	f2fs_is_pinned_file
	cmp	r0, #0
	ldrne	r3, .L23+16
	mov	r0, r10
	ldrne	r3, [r3]
	strne	r3, [sp, #28]
	bl	f2fs_is_pinned_file
	cmp	r0, #0
	ldrne	r3, .L23+20
	ldreq	r3, .L23+24
	mov	r2, #1
	mov	r0, r10
	ldr	r3, [r3]
	add	r1, sp, #8
	bl	f2fs_map_blocks
	subs	r4, r0, #0
	beq	.L8
	ldr	r3, [sp, #24]
	cmp	r3, #0
	beq	.L1
	ldr	r2, [sp, #16]
	add	r3, r3, r2
	sub	r2, r3, #1
	cmp	r5, r2
	beq	.L9
	ldr	r2, .L23+12
	asr	r1, r3, #31
	ldr	r2, [r2]
	lsl	r7, r1, r2
	sub	r1, r2, #32
	orr	r7, r7, r3, lsl r1
	rsb	r1, r2, #32
	orr	r7, r7, r3, lsr r1
	lsl	r6, r3, r2
	b	.L9
.L8:
	ldr	r3, .L23+12
	asr	r1, r5, #31
	ldr	r3, [r3]
	lsl	r2, r1, r3
	sub	r1, r3, #32
	orr	r2, r2, r5, lsl r1
	rsb	r1, r3, #32
	lsl	r3, r5, r3
	orr	r2, r2, r5, lsr r1
	adds	r6, r3, r8
	adc	r7, r2, r9
.L9:
	mov	r0, r10
	bl	i_size_read
	cmp	r1, r7
	cmpeq	r0, r6
	bcs	.L1
	ldr	r3, .L23+28
	ldr	r2, [sp, #96]
	ldr	r3, [r3]
	tst	r2, r3
	beq	.L10
	mov	r0, r10
	bl	file_set_keep_isize
	b	.L1
.L10:
	mov	r2, r6
	mov	r3, r7
	mov	r0, r10
	bl	f2fs_i_size_write
	b	.L1
.L22:
	bl	__stack_chk_fail
.L24:
	.align	2
.L23:
	.word	.LC0
	.word	NO_CHECK_TYPE
	.word	PAGE_SIZE
	.word	PAGE_SHIFT
	.word	CURSEG_COLD_DATA
	.word	F2FS_GET_BLOCK_PRE_DIO
	.word	F2FS_GET_BLOCK_PRE_AIO
	.word	FALLOC_FL_KEEP_SIZE
	.size	expand_inode_data, .-expand_inode_data
	.comm	PAGE_SIZE,4,4
	.comm	PAGE_SHIFT,8,8
	.comm	NO_CHECK_TYPE,4,4
	.comm	FALLOC_FL_KEEP_SIZE,4,4
	.comm	F2FS_GET_BLOCK_PRE_DIO,4,4
	.comm	F2FS_GET_BLOCK_PRE_AIO,4,4
	.comm	CURSEG_COLD_DATA,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
