- // Last block :D
- block = Ext2_int_AllocateBlock(disk, base/disk->BlockSize);
- if(!block) goto ret;
- if( Ext2_int_AppendBlock(disk, &inode, block) ) {
- Log_Warning("Ext2", "Appending %x to inode %p:%X failed",
- block, disk, Node->Inode);
- Ext2_int_DeallocateBlock(disk, block);
- goto ret;
- }
- base = block * disk->BlockSize;
- VFS_WriteAt(disk->FD, base, retLen, Buffer);
-
- // TODO: When should the size update be committed?
- inode.i_size += retLen;
- Node->Size += retLen;
- Node->Flags |= VFS_FFLAG_DIRTY;
-
- retLen = 0;