[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v2 08/23] lib/vfscore: use Unikraft includes



Oops, sorry about that. The v3 fixes that.

Sharan Santhanam <sharan.santhanam@xxxxxxxxx> writes:

> Hello Yuri,
>
> The patch fails with the compilation error.
>
> In file included from Unikraft/lib/vfscore/include/vfscore/file.h:41:0,
>                   from Unikraft/lib/vfscore/fd.c:40:
> Unikraft/lib/vfscore/include/vfscore/dentry.h:45:2: error: expected 
> specifier-qualifier-list before ‘LIST_ENTRY’
>    LIST_ENTRY(dentry) d_link; /* link for hash list */
>
> Probably it would be wise to fix it.
>
>
> There is also a dependency on UK_LOCK which is missing in Config.uk but 
> this is added as a part of patch 22.
>
> Thanks & Regards
> Sharan
>
>
> On 2/4/19 3:37 PM, Yuri Volchkov wrote:
>> Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
>> ---
>>   lib/vfscore/dentry.c                 |  7 ++--
>>   lib/vfscore/fops.c                   | 11 +++----
>>   lib/vfscore/include/vfscore/dentry.h |  4 +--
>>   lib/vfscore/include/vfscore/file.h   |  1 +
>>   lib/vfscore/include/vfscore/mount.h  |  6 ++--
>>   lib/vfscore/include/vfscore/prex.h   |  1 -
>>   lib/vfscore/include/vfscore/uio.h    |  1 -
>>   lib/vfscore/include/vfscore/vnode.h  | 13 ++++----
>>   lib/vfscore/lookup.c                 |  4 +--
>>   lib/vfscore/main.c                   | 48 ++++++----------------------
>>   lib/vfscore/mount.c                  | 21 +++++-------
>>   lib/vfscore/stdio.c                  |  3 ++
>>   lib/vfscore/subr_uio.c               |  4 +--
>>   lib/vfscore/syscalls.c               | 12 ++++---
>>   lib/vfscore/task.c                   |  2 +-
>>   lib/vfscore/vfs.h                    | 23 +++----------
>>   lib/vfscore/vnode.c                  |  6 ++--
>>   17 files changed, 63 insertions(+), 104 deletions(-)
>> 
>> diff --git a/lib/vfscore/dentry.c b/lib/vfscore/dentry.c
>> index efc10bd6..ccce07d1 100644
>> --- a/lib/vfscore/dentry.c
>> +++ b/lib/vfscore/dentry.c
>> @@ -32,10 +32,11 @@
>>   
>>   #include <string.h>
>>   #include <stdlib.h>
>> -#include <sys/param.h>
>>   
>> -#include <osv/dentry.h>
>> -#include <osv/vnode.h>
>> +#include <uk/list.h>
>> +#include <vfscore/dentry.h>
>> +#include <vfscore/vnode.h>
>> +#include <uk/mutex.h>
>>   #include "vfs.h"
>>   
>>   #define DENTRY_BUCKETS 32
>> diff --git a/lib/vfscore/fops.c b/lib/vfscore/fops.c
>> index f1c161e7..b4583d20 100644
>> --- a/lib/vfscore/fops.c
>> +++ b/lib/vfscore/fops.c
>> @@ -33,14 +33,13 @@
>>    * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY.
>>    */
>>   
>> +#define _GNU_SOURCE
>>   #include <fcntl.h>
>>   #include <sys/stat.h>
>> -#include <osv/file.h>
>> -#include <osv/poll.h>
>> -#include <fs/vfs/vfs.h>
>> -#include <osv/vfs_file.hh>
>> -#include <osv/mmu.hh>
>> -#include <osv/pagecache.hh>
>> +#include <vfscore/file.h>
>> +#include "vfs.h"
>> +
>> +#include <uk/assert.h>
>>   
>>   int vfs_close(struct vfscore_file *fp)
>>   {
>> diff --git a/lib/vfscore/include/vfscore/dentry.h 
>> b/lib/vfscore/include/vfscore/dentry.h
>> index 9cfe8dac..ba1c3457 100644
>> --- a/lib/vfscore/include/vfscore/dentry.h
>> +++ b/lib/vfscore/include/vfscore/dentry.h
>> @@ -36,8 +36,8 @@
>>   #ifndef _OSV_DENTRY_H
>>   #define _OSV_DENTRY_H 1
>>   
>> -#include <osv/mutex.h>
>> -#include <bsd/sys/sys/queue.h>
>> +#include <uk/mutex.h>
>> +#include <uk/list.h>
>>   
>>   struct vnode;
>>   
>> diff --git a/lib/vfscore/include/vfscore/file.h 
>> b/lib/vfscore/include/vfscore/file.h
>> index 9985706f..7387265d 100644
>> --- a/lib/vfscore/include/vfscore/file.h
>> +++ b/lib/vfscore/include/vfscore/file.h
>> @@ -38,6 +38,7 @@
>>   
>>   #include <stdint.h>
>>   #include <sys/types.h>
>> +#include <vfscore/dentry.h>
>>   
>>   #ifdef __cplusplus
>>   extern "C" {
>> diff --git a/lib/vfscore/include/vfscore/mount.h 
>> b/lib/vfscore/include/vfscore/mount.h
>> index b68d3c98..e12a1039 100644
>> --- a/lib/vfscore/include/vfscore/mount.h
>> +++ b/lib/vfscore/include/vfscore/mount.h
>> @@ -32,10 +32,10 @@
>>   #ifndef _SYS_MOUNT_H_
>>   #define _SYS_MOUNT_H_
>>   
>> -#include <sys/cdefs.h>
>>   #include <sys/statfs.h>
>> -#include <osv/vnode.h>
>> -#include <bsd/sys/sys/queue.h>
>> +#include <limits.h>
>> +#include <uk/list.h>
>> +#include <vfscore/vnode.h>
>>   
>>   #ifdef _KERNEL
>>   
>> diff --git a/lib/vfscore/include/vfscore/prex.h 
>> b/lib/vfscore/include/vfscore/prex.h
>> index 6cbe3130..8a306d54 100644
>> --- a/lib/vfscore/include/vfscore/prex.h
>> +++ b/lib/vfscore/include/vfscore/prex.h
>> @@ -38,7 +38,6 @@
>>   
>>   
>>   #include <unistd.h>
>> -#include <osv/fcntl.h>
>>   
>>   #define    BSIZE   512             /* size of secondary block (bytes) */
>>   
>> diff --git a/lib/vfscore/include/vfscore/uio.h 
>> b/lib/vfscore/include/vfscore/uio.h
>> index d7f7fce9..8ad1e3fb 100644
>> --- a/lib/vfscore/include/vfscore/uio.h
>> +++ b/lib/vfscore/include/vfscore/uio.h
>> @@ -33,7 +33,6 @@
>>   #ifndef _UIO_H_
>>   #define    _UIO_H_
>>   
>> -#include <sys/cdefs.h>
>>   #include <sys/types.h>
>>   #include <sys/uio.h>
>>   #include <limits.h>
>> diff --git a/lib/vfscore/include/vfscore/vnode.h 
>> b/lib/vfscore/include/vfscore/vnode.h
>> index d30a9411..49fd4d36 100644
>> --- a/lib/vfscore/include/vfscore/vnode.h
>> +++ b/lib/vfscore/include/vfscore/vnode.h
>> @@ -35,13 +35,14 @@
>>   
>>   #ifdef _KERNEL
>>   
>> -#include <sys/cdefs.h>
>>   #include <sys/stat.h>
>> -#include <osv/prex.h>
>> -#include <osv/uio.h>
>> -#include <osv/mutex.h>
>> -#include "file.h"
>> -#include "dirent.h"
>> +#include <dirent.h>
>> +
>> +#include <uk/mutex.h>
>> +#include <uk/list.h>
>> +#include <time.h>
>> +#include <vfscore/uio.h>
>> +#include <vfscore/dentry.h>
>>   
>>   struct vfsops;
>>   struct vnops;
>> diff --git a/lib/vfscore/lookup.c b/lib/vfscore/lookup.c
>> index f7a38c4f..9837e81f 100644
>> --- a/lib/vfscore/lookup.c
>> +++ b/lib/vfscore/lookup.c
>> @@ -36,8 +36,8 @@
>>   #include <stdlib.h>
>>   #include <sys/param.h>
>>   
>> -#include <osv/dentry.h>
>> -#include <osv/vnode.h>
>> +#include <vfscore/dentry.h>
>> +#include <vfscore/vnode.h>
>>   #include "vfs.h"
>>   
>>   static ssize_t
>> diff --git a/lib/vfscore/main.c b/lib/vfscore/main.c
>> index 74876dc1..90df3d71 100644
>> --- a/lib/vfscore/main.c
>> +++ b/lib/vfscore/main.c
>> @@ -30,53 +30,23 @@
>>    * SUCH DAMAGE.
>>    */
>>   
>> -#include <sys/param.h>
>> +#define _GNU_SOURCE
>> +
>>   #include <sys/statvfs.h>
>>   #include <sys/stat.h>
>> -#include <sys/time.h>
>> -#include <sys/sendfile.h>
>> -
>>   #include <limits.h>
>> -#include <unistd.h>
>> -#include <stdio.h>
>> -#include <stdint.h>
>> -#include <stdlib.h>
>>   #include <string.h>
>>   #include <errno.h>
>> -#include <signal.h>
>> -#define open __open_variadic
>> -#define fcntl __fcntl_variadic
>>   #include <fcntl.h>
>> -#undef open
>> -#undef fcntl
>> -
>> -#include <osv/prex.h>
>> -#include <osv/vnode.h>
>> -#include <osv/stubbing.hh>
>> -#include <osv/ioctl.h>
>> -#include <osv/trace.hh>
>> -#include <osv/run.hh>
>> -#include <drivers/console.hh>
>> -
>> +#include <vfscore/prex.h>
>> +#include <vfscore/vnode.h>
>>   #include "vfs.h"
>> -
>> -#include "libc/internal/libc.h"
>> -
>> -#include <algorithm>
>> -#include <unordered_map>
>> -
>>   #include <sys/file.h>
>> -
>> -#include "fs/fs.hh"
>> -#include "libc/libc.hh"
>> -
>> -#include <mntent.h>
>> -#include <sys/mman.h>
>> -
>> -#include <osv/clock.hh>
>> -#include <api/utime.h>
>> -#include <chrono>
>> -
>> +#include <stdarg.h>
>> +#include <vfscore/file.h>
>> +#include <vfscore/mount.h>
>> +#include <vfscore/fs.h>
>> +#include <uk/errptr.h>
>>   
>>   #ifdef DEBUG_VFS
>>   int        vfs_debug = VFSDB_FLAGS;
>> diff --git a/lib/vfscore/mount.c b/lib/vfscore/mount.c
>> index 10c27fad..06922ffb 100644
>> --- a/lib/vfscore/mount.c
>> +++ b/lib/vfscore/mount.c
>> @@ -34,27 +34,22 @@
>>    * vfs_mount.c - mount operations
>>    */
>>   
>> -#include <sys/stat.h>
>>   #include <sys/param.h>
>> -#include <dirent.h>
>> -
>>   #include <limits.h>
>>   #include <unistd.h>
>>   #include <stdlib.h>
>>   #include <string.h>
>>   #include <stdio.h>
>>   #include <errno.h>
>> -#include <fcntl.h>
>> -
>> -#include <osv/prex.h>
>> -#include <osv/vnode.h>
>> -#include <osv/device.h>
>> -#include <osv/debug.h>
>> -#include <osv/mutex.h>
>>   #include "vfs.h"
>> -
>> -#include <memory>
>> -#include <list>
>> +#include <sys/types.h>
>> +#include <sys/stat.h>
>> +#include <time.h>
>> +#include <uk/list.h>
>> +#include <uk/mutex.h>
>> +#include <vfscore/prex.h>
>> +#include <vfscore/dentry.h>
>> +#include <vfscore/vnode.h>
>>   
>>   /*
>>    * List for VFS mount points.
>> diff --git a/lib/vfscore/stdio.c b/lib/vfscore/stdio.c
>> index a9bdfd61..7d749442 100644
>> --- a/lib/vfscore/stdio.c
>> +++ b/lib/vfscore/stdio.c
>> @@ -34,9 +34,12 @@
>>    */
>>   
>>   #include <vfscore/file.h>
>> +#include <vfscore/fs.h>
>>   #include <uk/plat/console.h>
>>   #include <uk/essentials.h>
>>   #include <termios.h>
>> +#include <vfscore/vnode.h>
>> +#include <unistd.h>
>>   
>>   /* One function for stderr and stdout */
>>   static ssize_t stdout_write(struct vfscore_file *vfscore_file __unused,
>> diff --git a/lib/vfscore/subr_uio.c b/lib/vfscore/subr_uio.c
>> index 8276d6d4..bbca3362 100644
>> --- a/lib/vfscore/subr_uio.c
>> +++ b/lib/vfscore/subr_uio.c
>> @@ -39,11 +39,11 @@
>>    * @(#)kern_subr.c 8.3 (Berkeley) 1/21/94
>>    */
>>   
>> -#include <assert.h>
>> +#include <uk/assert.h>
>>   #include <errno.h>
>>   #include <stdlib.h>
>>   #include <string.h>
>> -#include <osv/uio.h>
>> +#include <vfscore/uio.h>
>>   
>>   int
>>   uiomove(void *cp, int n, struct uio *uio)
>> diff --git a/lib/vfscore/syscalls.c b/lib/vfscore/syscalls.c
>> index 4e55337f..f50fb38f 100644
>> --- a/lib/vfscore/syscalls.c
>> +++ b/lib/vfscore/syscalls.c
>> @@ -35,7 +35,8 @@
>>    *                  a VFS system call.
>>    */
>>   
>> -#include <sys/stat.h>
>> +#define _BSD_SOURCE
>> +#define _GNU_SOURCE
>>   #include <dirent.h>
>>   
>>   #include <limits.h>
>> @@ -46,11 +47,12 @@
>>   #include <errno.h>
>>   #include <fcntl.h>
>>   
>> -#include <osv/prex.h>
>> -#include <osv/vnode.h>
>> -#include <osv/vfs_file.hh>
>> +#include <vfscore/prex.h>
>> +#include <vfscore/vnode.h>
>> +#include <vfscore/file.h>
>> +
>>   #include "vfs.h"
>> -#include <fs/fs.hh>
>> +#include <vfscore/fs.h>
>>   
>>   extern struct task *main_task;
>>   
>> diff --git a/lib/vfscore/task.c b/lib/vfscore/task.c
>> index 4ceb123b..7635bd7a 100644
>> --- a/lib/vfscore/task.c
>> +++ b/lib/vfscore/task.c
>> @@ -41,7 +41,7 @@
>>   #include <stdio.h>
>>   #include <errno.h>
>>   
>> -#include <osv/prex.h>
>> +#include <vfscore/prex.h>
>>   #include "vfs.h"
>>   
>>   
>> diff --git a/lib/vfscore/vfs.h b/lib/vfscore/vfs.h
>> index cd940979..2531f730 100644
>> --- a/lib/vfscore/vfs.h
>> +++ b/lib/vfscore/vfs.h
>> @@ -33,24 +33,12 @@
>>   #ifndef _VFS_H
>>   #define _VFS_H
>>   
>> -#include <sys/cdefs.h>
>> -#include <assert.h>
>> -#include <dirent.h>
>> -#include <limits.h>
>> -
>> -#include <osv/prex.h>
>> -#include <osv/file.h>
>> -#include <osv/mount.h>
>> -#include <osv/vnode.h>
>> -#include <osv/dentry.h>
>> -#include <osv/error.h>
>> -
>> -/*
>> - * Import vnode attributes flags
>> - */
>> -#include <osv/vnode_attr.h>
>> +#define _GNU_SOURCE
>> +#include <vfscore/mount.h>
>>   
>> -/* #define DEBUG_VFS 1 */
>> +#include <limits.h>
>> +#include <fcntl.h>
>> +#include <sys/statfs.h>
>>   
>>   /*
>>    * Tunable parameters
>> @@ -58,7 +46,6 @@
>>   #define FSMAXNAMES 16              /* max length of 'file system' name */
>>   
>>   #ifdef DEBUG_VFS
>> -#include <osv/debug.h>
>>   
>>   extern int vfs_debug;
>>   
>> diff --git a/lib/vfscore/vnode.c b/lib/vfscore/vnode.c
>> index f564577f..81f78be8 100644
>> --- a/lib/vfscore/vnode.c
>> +++ b/lib/vfscore/vnode.c
>> @@ -36,14 +36,16 @@
>>   
>>   #include <limits.h>
>>   #include <unistd.h>
>> +#include <stdint.h>
>>   #include <string.h>
>>   #include <stdlib.h>
>>   #include <stdio.h>
>>   #include <errno.h>
>>   #include <sys/stat.h>
>>   
>> -#include <osv/prex.h>
>> -#include <osv/vnode.h>
>> +#include <vfscore/prex.h>
>> +#include <vfscore/dentry.h>
>> +#include <vfscore/vnode.h>
>>   #include "vfs.h"
>>   
>>   enum vtype iftovt_tab[16] = {
>> 

-- 
Yuri Volchkov
Software Specialist

NEC Europe Ltd
Kurfürsten-Anlage 36
D-69115 Heidelberg

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.