Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6851 → Rev 6852

/kernel/trunk/fs/ext.inc
157,7 → 157,6
struct EXTFS PARTITION
Lock MUTEX
mountType dd ?
sectorsPerBlockLog dd ? ; shift for 512
bytesPerBlock dd ?
sectorsPerBlock dd ?
dwordsPerBlock dd ?
199,7 → 198,7
jnz .fail
cmp [ebx+SUPERBLOCK.sectorsPerBlockLog], 6 ; 64KB
ja .fail
cmp [ebx+SUPERBLOCK.inodeSize], 1024
cmp [ebx+SUPERBLOCK.inodeSize], 512
ja .fail
cmp [ebx+SUPERBLOCK.blocksPerGroup], 0
je .fail
231,7 → 230,6
rep movsd ; copy superblock
mov ecx, [ebx+SUPERBLOCK.sectorsPerBlockLog]
inc ecx
mov [ebp+EXTFS.sectorsPerBlockLog], ecx
mov eax, 1
shl eax, cl
mov [ebp+EXTFS.sectorsPerBlock], eax
818,11 → 816,10
jnz @f
movzx ecx, [ebp+EXTFS.superblock.inodeSize]
mov esi, edi
mov edi, [ebp+EXTFS.rootInodeBuffer]
lea edi, [ebp+EXTFS.rootInodeBuffer]
rep movsb
@@:
call getInodeLocation
jc .ret
mov ebx, [ebp+EXTFS.tempBlockBuffer]
mov ecx, eax
call fs_read32_sys
849,7 → 846,6
push edx edi esi ecx ebx
mov edi, ebx
call getInodeLocation
jc @f
mov ebx, [ebp+EXTFS.tempBlockBuffer]
call fs_read32_sys
test eax, eax
859,7 → 855,6
add esi, ebx
rep movsb
xor eax, eax
@@:
pop ebx ecx esi edi edx
ret
 
1424,10 → 1419,9
mov ebx, esi
call readInode
jc .error_inode_read
mov ecx, [ebp+EXTFS.sectorsPerBlockLog]
add ecx, 9
mov eax, [esi+INODE.fileSize]
shr eax, cl
xor edx, edx
div [ebp+EXTFS.bytesPerBlock]
xor ecx, ecx
.searchBlock:
push eax ; blocks total
2312,16 → 2306,15
call extfsInodeAlloc
jc .error
push ebx esi edi
xor al, al
lea edi, [ebp+EXTFS.inodeBuffer]
movzx ecx, [ebp+EXTFS.superblock.inodeSize]
xor eax, eax
rep stosb
lea edi, [ebp+EXTFS.inodeBuffer]
call fsGetTime
add eax, 978307200
mov [edi+INODE.accessedTime], eax
mov [edi+INODE.dataModified], eax
mov ebx, edi
lea ebx, [ebp+EXTFS.inodeBuffer]
mov [ebx+INODE.accessedTime], eax
mov [ebx+INODE.dataModified], eax
pop edi esi edx
; edx = allocated inode number, edi -> filename, esi = parent inode number
mov [ebx+INODE.accessMode], DIRECTORY or PERMISSIONS
2387,16 → 2380,15
call extfsInodeAlloc
jc .error
push ebx ebx esi edi
xor al, al
lea edi, [ebp+EXTFS.inodeBuffer]
movzx ecx, [ebp+EXTFS.superblock.inodeSize]
xor eax, eax
rep stosb
lea edi, [ebp+EXTFS.inodeBuffer]
call fsGetTime
add eax, 978307200
mov [edi+INODE.accessedTime], eax
mov [edi+INODE.dataModified], eax
mov ebx, edi
lea ebx, [ebp+EXTFS.inodeBuffer]
mov [ebx+INODE.accessedTime], eax
mov [ebx+INODE.dataModified], eax
pop edi esi edx
; edx = allocated inode number, edi -> filename, esi = parent inode number
mov [ebx+INODE.accessMode], FLAG_FILE or PERMISSIONS