adapt filesystem to the new memory management system

This commit is contained in:
Stefan Lankes 2015-01-17 18:58:04 +01:00
parent fb765930ef
commit 562f54c6f0
5 changed files with 14 additions and 7 deletions

View file

@ -224,8 +224,7 @@ static int initrd_open(fildes_t* file, const char* name)
/* the first blist pointer have do remain valid. */
for(i=0; i<MAX_DATABLOCKS && !data; i++) {
if (blist->data[i]) {
kfree(blist->data[i],
sizeof(data_block_t));
kfree(blist->data[i]);
}
}
if (blist->next) {
@ -237,12 +236,12 @@ static int initrd_open(fildes_t* file, const char* name)
do {
for(i=0; i<MAX_DATABLOCKS && !data; i++) {
if (blist->data[i]) {
kfree(blist->data[i], sizeof(data_block_t));
kfree(blist->data[i]);
}
}
lastblist = blist;
blist = blist->next;
kfree(lastblist, sizeof(block_list_t));
kfree(lastblist);
} while(blist);
}
@ -428,9 +427,9 @@ static vfs_node_t* initrd_mkdir(vfs_node_t* node, const char* name)
blist = blist->next;
} while(blist);
kfree(dir_block, sizeof(dir_block_t));
kfree(dir_block);
out:
kfree(new_node, sizeof(vfs_node_t));
kfree(new_node);
return NULL;
}

View file

@ -246,6 +246,7 @@ ssize_t write_fs(fildes_t* file, uint8_t* buffer, size_t size);
/** @brief Yet to be documented */
int open_fs(fildes_t* file, const char* fname);
/** @brief Yet to be documented */
int close_fs(fildes_t * file);

View file

@ -77,6 +77,12 @@ int ksnprintf(char *str, size_t size, const char *format, ...);
*/
int kvprintf(char const *fmt, void (*func) (int, void *), void *arg, int radix, va_list ap);
struct vfs_node;
/**
* Init function to create a character device which represents all kernel messages
*/
int kmsg_init(struct vfs_node* node, const char *name);
/**
* Add UART device to dump kernel messages
*/

View file

@ -35,6 +35,7 @@
#include <eduos/syscall.h>
#include <eduos/memory.h>
#include <eduos/vma.h>
#include <eduos/fs.h>
#include <asm/irq.h>
#include <asm/irqflags.h>

View file

@ -145,7 +145,7 @@ int kmsg_init(vfs_node_t * node, const char *name)
}
} while (blist);
kfree(new_node, sizeof(vfs_node_t));
kfree(new_node);
return -ENOMEM;
}