|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH 6/6] lib/vfscore: make all vnops function return int
This must be a mistake made during porting and adapting types in
particular. All the vnops functions are returning error codes, not
offsets or not the number of bytes read.
Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
---
lib/ramfs/ramfs_vnops.c | 6 +++---
lib/vfscore/include/vfscore/vnode.h | 10 ++++++----
lib/vfscore/stdio.c | 4 ++--
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/lib/ramfs/ramfs_vnops.c b/lib/ramfs/ramfs_vnops.c
index f0848bd0..6eca9b26 100644
--- a/lib/ramfs/ramfs_vnops.c
+++ b/lib/ramfs/ramfs_vnops.c
@@ -294,7 +294,7 @@ ramfs_symlink(struct vnode *dvp, char *name, char *link)
return 0;
}
-static ssize_t
+static int
ramfs_readlink(struct vnode *vp, struct uio *uio)
{
struct ramfs_node *np = vp->v_data;
@@ -394,7 +394,7 @@ ramfs_create(struct vnode *dvp, char *name, mode_t mode)
return 0;
}
-static ssize_t
+static int
ramfs_read(struct vnode *vp, struct vfscore_file *fp __unused,
struct uio *uio, int ioflag __unused)
{
@@ -444,7 +444,7 @@ ramfs_set_file_data(struct vnode *vp, const void *data,
size_t size)
return 0;
}
-static ssize_t
+static int
ramfs_write(struct vnode *vp, struct uio *uio, int ioflag)
{
struct ramfs_node *np = vp->v_data;
diff --git a/lib/vfscore/include/vfscore/vnode.h
b/lib/vfscore/include/vfscore/vnode.h
index 1348f579..e7ebc4ad 100644
--- a/lib/vfscore/include/vfscore/vnode.h
+++ b/lib/vfscore/include/vfscore/vnode.h
@@ -147,9 +147,11 @@ struct vattr {
typedef int (*vnop_open_t) (struct vfscore_file *);
typedef int (*vnop_close_t) (struct vnode *, struct vfscore_file *);
-typedef ssize_t (*vnop_read_t) (struct vnode *, struct vfscore_file *,
struct uio *, int);
-typedef ssize_t (*vnop_write_t) (struct vnode *, struct uio *, int);
-typedef off_t (*vnop_seek_t) (struct vnode *, struct vfscore_file *,
off_t, off_t);
+typedef int (*vnop_read_t) (struct vnode *, struct vfscore_file *,
+ struct uio *, int);
+typedef int (*vnop_write_t) (struct vnode *, struct uio *, int);
+typedef int (*vnop_seek_t) (struct vnode *, struct vfscore_file *,
+ off_t, off_t);
typedef int (*vnop_ioctl_t) (struct vnode *, struct vfscore_file *,
unsigned long, void *);
typedef int (*vnop_fsync_t) (struct vnode *, struct vfscore_file *);
typedef int (*vnop_readdir_t) (struct vnode *, struct vfscore_file *,
struct dirent *);
@@ -167,7 +169,7 @@ typedef int (*vnop_truncate_t) (struct vnode *, off_t);
typedef int (*vnop_link_t) (struct vnode *, struct vnode *, char
*);
typedef int (*vnop_cache_t) (struct vnode *, struct vfscore_file *, struct uio
*);
typedef int (*vnop_fallocate_t) (struct vnode *, int, off_t, off_t);
-typedef ssize_t (*vnop_readlink_t) (struct vnode *, struct uio *);
+typedef int (*vnop_readlink_t) (struct vnode *, struct uio *);
typedef int (*vnop_symlink_t) (struct vnode *, char *, char *);
/*
diff --git a/lib/vfscore/stdio.c b/lib/vfscore/stdio.c
index 40288bb3..8bde152d 100644
--- a/lib/vfscore/stdio.c
+++ b/lib/vfscore/stdio.c
@@ -57,7 +57,7 @@ static int __coutk_wrapper(void *dst __unused, void *src,
size_t *cnt)
}
/* One function for stderr and stdout */
-static ssize_t stdio_write(struct vnode *vp __unused,
+static int stdio_write(struct vnode *vp __unused,
struct uio *uio,
int ioflag __unused)
{
@@ -100,7 +100,7 @@ static int __read_fn(void *dst, void *src __unused, size_t
*cnt)
return 0;
}
-static ssize_t stdio_read(struct vnode *vp __unused,
+static int stdio_read(struct vnode *vp __unused,
struct vfscore_file *file __unused,
struct uio *uio,
int ioflag __unused)
--
2.19.2
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |