From e5ba23a1d98db4e433a5edc85eb3242298cd3275 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 1 Aug 2008 09:37:10 +0100 Subject: FSIF: extend protocol to multi-grant requests and multi-page ring To improve throughput and inline the stat response. Signed-off-by: Grzegorz Milos Signed-off-by: Samuel Thibault --- extras/mini-os/lib/sys.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'extras/mini-os/lib') diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c index 517562d3af..457bde3c8d 100644 --- a/extras/mini-os/lib/sys.c +++ b/extras/mini-os/lib/sys.c @@ -231,8 +231,8 @@ int read(int fd, void *buf, size_t nbytes) } case FTYPE_FILE: { ssize_t ret; - if (nbytes > PAGE_SIZE) - nbytes = PAGE_SIZE; + if (nbytes > PAGE_SIZE * FSIF_NR_READ_GNTS) + nbytes = PAGE_SIZE * FSIF_NR_READ_GNTS; ret = fs_read(fs_import, files[fd].file.fd, buf, nbytes, files[fd].file.offset); if (ret > 0) { files[fd].file.offset += ret; @@ -292,8 +292,8 @@ int write(int fd, const void *buf, size_t nbytes) return nbytes; case FTYPE_FILE: { ssize_t ret; - if (nbytes > PAGE_SIZE) - nbytes = PAGE_SIZE; + if (nbytes > PAGE_SIZE * FSIF_NR_WRITE_GNTS) + nbytes = PAGE_SIZE * FSIF_NR_WRITE_GNTS; ret = fs_write(fs_import, files[fd].file.fd, (void *) buf, nbytes, files[fd].file.offset); if (ret > 0) { files[fd].file.offset += ret; -- cgit v1.2.3