ext fs small fixes

git-svn-id: svn://kolibrios.org@6861 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
pathoswithin 2017-02-10 09:17:54 +00:00
parent 69005f1f95
commit 95c7aad99e

View File

@ -130,7 +130,6 @@ fsBlock dd ?
ends ends
ROOT_INODE = 2 ROOT_INODE = 2
PERMISSIONS = 110110110b
EXTENTS_USED = 80000h EXTENTS_USED = 80000h
TYPE_MASK = 0F000h TYPE_MASK = 0F000h
FLAG_FILE = 8000h FLAG_FILE = 8000h
@ -2300,7 +2299,7 @@ ext_CreateFolder:
mov [ebx+INODE.dataModified], eax mov [ebx+INODE.dataModified], eax
pop edi esi edx pop edi esi edx
; edx = allocated inode number, edi -> filename, esi = parent inode number ; edx = allocated inode number, edi -> filename, esi = parent inode number
mov [ebx+INODE.accessMode], DIRECTORY or PERMISSIONS mov [ebx+INODE.accessMode], DIRECTORY or 511
mov eax, edx mov eax, edx
call writeInode call writeInode
jc .error jc .error
@ -2374,7 +2373,7 @@ ext_CreateFile:
mov [ebx+INODE.dataModified], eax mov [ebx+INODE.dataModified], eax
pop edi esi edx pop edi esi edx
; edx = allocated inode number, edi -> filename, esi = parent inode number ; edx = allocated inode number, edi -> filename, esi = parent inode number
mov [ebx+INODE.accessMode], FLAG_FILE or PERMISSIONS mov [ebx+INODE.accessMode], FLAG_FILE or 110110110b
mov eax, edx mov eax, edx
call writeInode call writeInode
jc .error2 jc .error2
@ -2434,6 +2433,7 @@ ext_WriteFile:
mov ecx, [ebx+12] mov ecx, [ebx+12]
mov esi, [ebx+16] mov esi, [ebx+16]
.write: .write:
jecxz .zero
div [ebp+EXTFS.bytesPerBlock] div [ebp+EXTFS.bytesPerBlock]
test edx, edx test edx, edx
jz .aligned jz .aligned
@ -2470,6 +2470,7 @@ ext_WriteFile:
pop eax pop eax
inc eax inc eax
xor edx, edx xor edx, edx
.zero:
jecxz .done jecxz .done
.aligned: .aligned:
xchg eax, ecx xchg eax, ecx