X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8c06c883e7b13c115d5ff207f79d4b68fccd5ad6..28c176b668c841a3b7fb093faccf0efa39257603:/lunaix-os/kernel/fs/twimap.c diff --git a/lunaix-os/kernel/fs/twimap.c b/lunaix-os/kernel/fs/twimap.c index 1021db0..e72f6c2 100644 --- a/lunaix-os/kernel/fs/twimap.c +++ b/lunaix-os/kernel/fs/twimap.c @@ -6,7 +6,9 @@ #include #include -#define TWIMAP_BUFFER_SIZE 4096 +#include + +#define TWIMAP_BUFFER_SIZE PAGE_SIZE void __twimap_default_reset(struct twimap* map) @@ -20,13 +22,19 @@ __twimap_default_gonext(struct twimap* map) return 0; } -int +static int __twimap_file_read(struct v_inode* inode, void* buf, size_t len, size_t fpos) { struct twimap* map = (struct twimap*)(inode->data); return twimap_read(map, buf, len, fpos); } +static int +__twimap_file_read_page(struct v_inode* inode, void* buf, size_t fpos) +{ + return __twimap_file_read(inode, buf, PAGE_SIZE, fpos); +} + int twimap_read(struct twimap* map, void* buffer, size_t len, size_t fpos) { @@ -79,8 +87,7 @@ twimap_printf(struct twimap* mapping, const char* fmt, ...) char* buf = mapping->buffer + mapping->size_acc; - mapping->size_acc += - ksnprintfv(buf, fmt, TWIMAP_BUFFER_SIZE, args) - 1; + mapping->size_acc += ksnprintfv(buf, fmt, TWIMAP_BUFFER_SIZE, args) - 1; va_end(args); } @@ -117,7 +124,7 @@ twimap_create(void* data) struct v_file_ops twimap_file_ops = { .close = default_file_close, .read = __twimap_file_read, - .read_page = __twimap_file_read, + .read_page = __twimap_file_read_page, .readdir = default_file_readdir, .seek = default_file_seek, .write = default_file_write }; \ No newline at end of file