Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6773 → Rev 6774

/kernel/trunk/fs/ext.inc
366,13 → 366,13
jc .fail
pop eax
push ecx ebx edx
add [ebp+EXTFS.superblock.blocksFree], ecx
mov edi, eax
shr edi, 5
shl edi, 2
add edi, ebx
mov edx, ecx
and eax, 31
mov edx, ecx
jz .aligned
mov ecx, 32
sub ecx, eax
sub edx, ecx
387,15 → 387,15
shl ebx, cl
not ebx
and [edi], ebx
add edi, 4
xor eax, eax
.aligned:
mov ecx, edx
jecxz @f
shr ecx, 5
add edi, 4
xor eax, eax
rep stosd
and edx, 31
jz @f
mov ecx, edx
jecxz @f
not eax
shl eax, cl
and [edi], eax
404,6 → 404,7
call extfsWriteBlock
pop ecx
mov eax, ecx
add [ebp+EXTFS.superblock.blocksFree], ecx
mul [ebp+EXTFS.sectorsPerBlock]
sub [ebp+EXTFS.inodeBuffer.sectorsUsed], eax
.ret:
429,6 → 430,8
.test_block_group:
call extfsReadDescriptor
jc .fail
cmp [ebx+BGDESCR.blocksFree], 0
jz .next
dec [ebx+BGDESCR.inodesFree]
js .next
mov edx, [ebx+BGDESCR.inodeBitmap]
522,10 → 525,8
not eax
shr eax, cl
shl eax, cl
mov ebx, 32
bsf ebx, eax
jnz @f
mov ebx, 32
@@:
sub ebx, ecx
mov eax, [esp+16]
cmp ebx, eax
532,12 → 533,15
jc @f
mov ebx, eax
@@:
or eax, -1
cmp ebx, 32
jz @f
xchg ebx, ecx
or eax, -1
shl eax, cl
not eax
xchg ebx, ecx
shl eax, cl
@@:
or [esi], eax
sub esi, [ebp+EXTFS.tempBlockBuffer]
shl esi, 3
589,8 → 593,9
or eax, -1
rep stosd
mov ecx, ebx
shl eax, cl
not eax
neg ecx
add ecx, 32
shr eax, cl
or [edi], eax
.done:
pop eax
821,6 → 826,13
add eax, 978307200
mov [edi+INODE.inodeModified], eax
pop eax
cmp eax, ROOT_INODE
jnz @f
movzx ecx, [ebp+EXTFS.superblock.inodeSize]
mov esi, edi
mov edi, [ebp+EXTFS.rootInodeBuffer]
rep movsb
@@:
call getInodeLocation
jc .ret
mov ebx, [ebp+EXTFS.tempBlockBuffer]
829,10 → 841,10
test eax, eax
jnz @f
mov eax, ecx
mov esi, edi
movzx ecx, [ebp+EXTFS.superblock.inodeSize]
mov edi, edx
add edi, ebx
mov esi, [esp]
rep movsb
call fs_write32_sys
.ret: