[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] lib/vfscore: Use mount definitions from <sys/mount.h>
Hi Simon, looks good, thanks. Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx> On Fri, Feb 14, 2020 at 1:37 PM Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote: > > Give mount constant/flags definitions introduced by the libC higher > priority than the internal ones. This is done to provide a correct > libC API implementation with vfscore. > > Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > --- > lib/nolibc/include/sys/mount.h | 8 +++--- > lib/vfscore/include/vfscore/mount.h | 41 ++++++++++++++++++++++++++--- > lib/vfscore/mount.c | 3 ++- > 3 files changed, 44 insertions(+), 8 deletions(-) > > diff --git a/lib/nolibc/include/sys/mount.h b/lib/nolibc/include/sys/mount.h > index d7a95b38..c8b1fe27 100644 > --- a/lib/nolibc/include/sys/mount.h > +++ b/lib/nolibc/include/sys/mount.h > @@ -92,10 +92,10 @@ extern "C" { > #define MS_MGC_VAL 0xc0ed0000 > #define MS_MGC_MSK 0xffff0000 > > -#define MNT_FORCE 1 > -#define MNT_DETACH 2 > -#define MNT_EXPIRE 4 > -#define UMOUNT_NOFOLLOW 8 > +#define MNT_FORCE 0x00000001 > +#define MNT_DETACH 0x00000002 > +#define MNT_EXPIRE 0x00000004 > +#define UMOUNT_NOFOLLOW 0x00000008 > > int mount(const char *dev, const char *dir, const char *fsname, > unsigned long flags, const void *data); > diff --git a/lib/vfscore/include/vfscore/mount.h > b/lib/vfscore/include/vfscore/mount.h > index b85e211e..11fa098b 100644 > --- a/lib/vfscore/include/vfscore/mount.h > +++ b/lib/vfscore/include/vfscore/mount.h > @@ -29,11 +29,12 @@ > * @(#)mount.h 8.21 (Berkeley) 5/20/95 > */ > > -#ifndef _SYS_MOUNT_H_ > -#define _SYS_MOUNT_H_ > +#ifndef _VFSCORE_SYS_MOUNT_H_ > +#define _VFSCORE_SYS_MOUNT_H_ > > #define _BSD_SOURCE > > +#include <sys/mount.h> > #include <sys/statfs.h> > #include <limits.h> > #include <uk/list.h> > @@ -60,39 +61,73 @@ struct mount { > /* > * Mount flags. > */ > +#ifndef MNT_RDONLY > #define MNT_RDONLY 0x00000001 /* read only filesystem */ > +#endif > +#ifndef MNT_SYNCHRONOUS > #define MNT_SYNCHRONOUS 0x00000002 /* file system written > synchronously */ > +#endif > +#ifndef MNT_NOEXEC > #define MNT_NOEXEC 0x00000004 /* can't exec from filesystem > */ > +#endif > +#ifndef MNT_NOSUID > #define MNT_NOSUID 0x00000008 /* don't honor setuid bits on > fs */ > +#endif > +#ifndef MNT_NODEV > #define MNT_NODEV 0x00000010 /* don't interpret special > files */ > +#endif > +#ifndef MNT_UNION > #define MNT_UNION 0x00000020 /* union with underlying > filesystem */ > +#endif > +#ifndef MNT_ASYNC > #define MNT_ASYNC 0x00000040 /* file system written > asynchronously */ > +#endif > > /* > * Unmount flags. > */ > +#ifndef MNT_FORCE > #define MNT_FORCE 0x00000001 /* forced unmount */ > +#endif > > /* > * exported mount flags. > */ > +#ifndef MNT_EXRDONLY > #define MNT_EXRDONLY 0x00000080 /* exported read only */ > +#endif > +#ifndef MNT_EXPORTED > #define MNT_EXPORTED 0x00000100 /* file system is exported */ > +#endif > +#ifndef MNT_DEFEXPORTED > #define MNT_DEFEXPORTED 0x00000200 /* exported to the world */ > +#endif > +#ifndef MNT_EXPORTANON > #define MNT_EXPORTANON 0x00000400 /* use anon uid mapping for > everyone */ > +#endif > +#ifndef MNT_EXKERB > #define MNT_EXKERB 0x00000800 /* exported with Kerberos uid > mapping */ > +#endif > > /* > * Flags set by internal operations. > */ > +#ifndef MNT_LOCAL > #define MNT_LOCAL 0x00001000 /* filesystem is stored > locally */ > +#endif > +#ifndef MNT_QUOTA > #define MNT_QUOTA 0x00002000 /* quotas are enabled on > filesystem */ > +#endif > +#ifndef MNT_ROOTFS > #define MNT_ROOTFS 0x00004000 /* identifies the root > filesystem */ > +#endif > > /* > * Mask of flags that are visible to statfs() > */ > +#ifndef MNT_VISFLAGMASK > #define MNT_VISFLAGMASK 0x0000ffff > +#endif > > /* > * Filesystem type switch table. > @@ -144,4 +179,4 @@ void vfs_unbusy(struct mount *mp); > > void vfscore_release_mp_dentries(struct mount *mp); > > -#endif /* !_SYS_MOUNT_H_ */ > +#endif /* !_VFSCORE_SYS_MOUNT_H_ */ > diff --git a/lib/vfscore/mount.c b/lib/vfscore/mount.c > index 9d7ace15..1a778be2 100644 > --- a/lib/vfscore/mount.c > +++ b/lib/vfscore/mount.c > @@ -109,7 +109,8 @@ int device_close(struct device *dev) > } > > int > -mount(const char *dev, const char *dir, const char *fsname, int flags, const > void *data) > +mount(const char *dev, const char *dir, const char *fsname, unsigned long > flags, > + const void *data) > { > const struct vfscore_fs_type *fs; > struct mount *mp; > -- > 2.20.1 > > > _______________________________________________ > Minios-devel mailing list > Minios-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/minios-devel _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |