# This patch pulls the addition of the openflags.d field from externfs.
# This will be merged with the o_direct patch when it is sent to mainline.
Index: linux-2.6.17/arch/um/include/os.h
===================================================================
--- linux-2.6.17.orig/arch/um/include/os.h	2007-10-24 10:04:50.000000000 -0400
+++ linux-2.6.17/arch/um/include/os.h	2007-11-19 10:42:02.000000000 -0500
@@ -59,10 +59,12 @@ struct openflags {
 	unsigned int a : 1;	/* O_APPEND */
 	unsigned int e : 1;	/* O_EXCL */
 	unsigned int cl : 1;    /* FD_CLOEXEC */
+	unsigned int d : 1;	/* O_DIRECT */
 };
 
 #define OPENFLAGS() ((struct openflags) { .r = 0, .w = 0, .s = 0, .c = 0, \
-					  .t = 0, .a = 0, .e = 0, .cl = 0 })
+				          .t = 0, .a = 0, .e = 0, .cl = 0, \
+				          .d = 0 })
 
 static inline struct openflags of_read(struct openflags flags)
 {
@@ -124,6 +126,12 @@ static inline struct openflags of_cloexe
 	return flags;
 }
 
+static inline struct openflags of_direct(struct openflags flags)
+{
+	flags.d = 1;
+	return(flags);
+}
+
 /* file.c */
 extern int os_stat_file(const char *file_name, struct uml_stat *buf);
 extern int os_stat_fd(const int fd, struct uml_stat *buf);