X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/45e1f8b055043e54be35462852ab6649d634da7c..28c176b668c841a3b7fb093faccf0efa39257603:/lunaix-os/kernel/fs/ramfs/ramfs.c diff --git a/lunaix-os/kernel/fs/ramfs/ramfs.c b/lunaix-os/kernel/fs/ramfs/ramfs.c index fece9b3..ca40efb 100644 --- a/lunaix-os/kernel/fs/ramfs/ramfs.c +++ b/lunaix-os/kernel/fs/ramfs/ramfs.c @@ -65,9 +65,7 @@ __ramfs_mknod(struct v_dnode* dnode, struct v_inode** nod_out, u32_t flags) rinode->flags = flags; inode->data = rinode; - if ((flags & RAMF_DIR)) { - inode->itype = VFS_IFDIR; - } else { + if (!(flags & RAMF_DIR)) { inode->itype = VFS_IFFILE; } @@ -146,6 +144,7 @@ ramfs_init() fsm_register(ramfs); } +EXPORT_FILE_SYSTEM(ramfs, ramfs_init); int ramfs_mksymlink(struct v_inode* this, const char* target) @@ -154,7 +153,7 @@ ramfs_mksymlink(struct v_inode* this, const char* target) assert(!(rinode->flags & RAMF_SYMLINK)); - size_t len = strlen(target); + size_t len = strlen(target) + 1; char* symlink = valloc(len); if (!symlink) { @@ -217,7 +216,8 @@ const struct v_inode_ops ramfs_inode_ops = { .mkdir = ramfs_mkdir, const struct v_file_ops ramfs_file_ops = { .readdir = ramfs_readdir, .close = default_file_close, .read = default_file_read, - .read_page = default_file_read, + .read_page = default_file_read_page, .write = default_file_write, - .write_page = default_file_write, + .write_page = + default_file_write_page, .seek = default_file_seek }; \ No newline at end of file