Import backup from 2005-03-21

This commit is contained in:
josh committed 2017-07-25 22:23:50 -04:00
1 parent bb8ff09e3f
commit 14792ef954
24 files changed
+671 -197

No files matched your search

+19 -2
View File
@@ -5,7 +5,7 @@
#include "hos_defines.h"
#include "fs/devices.h"
#include "kout.h"
#include "display/kout.h"
#include "ext2.h"
#include "mm/vmm.h"
#include "fs/vfs.h"
@@ -416,6 +416,23 @@ int ext2_resize_inode(vfs_mount_t *mount, u32_t inode_number, u32_t new_size)
return 0;
// TODO: resize
u32_t block_size = 1024 << super->s_log_block_size;
u32_t pointers_per_block = block_size >> 2;
u32_t *pointer_cache1 = kmalloc(3 * block_size);
u32_t *pointer_cache2 = pointer_cache1 + pointers_per_block;
u32_t *pointer_cache3 = pointer_cache2 + pointers_per_block;
u32_t c1_start, c2_start, c3_start;
c1_start = c2_start = c3_start = 0;
while (new_blocks < current_blocks) // delete, decrease current_blocks
{
current_blocks--;
// now delete block number current_blocks
}
while (current_blocks < new_blocks) // add, increase current_blocks
{
}
}
// reserve a node of a inode or block bitmap and mark its entry allocated
@@ -719,7 +736,7 @@ int ext2__read_block_file(vfs_mount_t *mount, vfs_open_file_t *open_file, void *
kfree(block);
return 0; // EOF
}
memcpy(buffer, block + data_offset, 512);
memcpy(buffer, block + data_offset, min(512, bytes_read - data_offset));
kfree(block);
open_block_file->block++;
return min(512, bytes_read - data_offset);
+1 -1
View File
@@ -119,7 +119,7 @@ typedef struct
u32_t i_blocks; // Blocks count
u32_t i_flags; // File flags
u32_t i_reserved1;
u32_t i_block[15]; // Pointers to file blocks
u32_t i_block[15]; // Pointers to blocks (12 direct, single, double, triple indirect)
u32_t i_version; // File version (for NFS)
u32_t i_file_acl; // File ACL
u32_t i_dir_acl; // Directory ACL
+1 -1
View File
@@ -4,7 +4,7 @@
// Modified: 12/21/04
#include "hos_defines.h"
#include "kout.h"
#include "display/kout.h"
#include "fs/vfs.h"
#include "fs/ext2.h"
#include "kernel.h"