[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Stubdom: add support for file creation.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1205839581 0 # Node ID 1eae3adc5bf7e9cfcf0cf363bf553bc075ec7390 # Parent 1efc81ab19cde25e0ba9436dd5c0bb9866be1730 Stubdom: add support for file creation. Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> --- extras/mini-os/include/fcntl.h | 6 ++++++ extras/mini-os/lib/sys.c | 22 ++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff -r 1efc81ab19cd -r 1eae3adc5bf7 extras/mini-os/include/fcntl.h --- a/extras/mini-os/include/fcntl.h Tue Mar 18 11:15:20 2008 +0000 +++ b/extras/mini-os/include/fcntl.h Tue Mar 18 11:26:21 2008 +0000 @@ -1,5 +1,9 @@ #ifndef _I386_FCNTL_H #define _I386_FCNTL_H + +#ifdef HAVE_LIBC +#include_next <fcntl.h> +#else /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -90,3 +94,5 @@ int open(const char *path, int flags, .. int open(const char *path, int flags, ...); int fcntl(int fd, int cmd, ...); #endif + +#endif diff -r 1efc81ab19cd -r 1eae3adc5bf7 extras/mini-os/lib/sys.c --- a/extras/mini-os/lib/sys.c Tue Mar 18 11:15:20 2008 +0000 +++ b/extras/mini-os/lib/sys.c Tue Mar 18 11:26:21 2008 +0000 @@ -171,8 +171,26 @@ int open(const char *pathname, int flags printk("open(%s) -> %d\n", pathname, fd); return fd; } - printk("open(%s)", pathname); - fs_fd = fs_open(fs_import, (void *) pathname); + printk("open(%s, %x)", pathname, flags); + switch (flags & ~O_ACCMODE) { + case 0: + fs_fd = fs_open(fs_import, (void *) pathname); + break; + case O_CREAT|O_TRUNC: + { + va_list ap; + mode_t mode; + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); + fs_fd = fs_create(fs_import, (void *) pathname, 0, mode); + break; + } + default: + printk(" unsupported flags\n"); + stack_walk(); + do_exit(); + } if (fs_fd < 0) { errno = EIO; return -1; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |