Whamcloud - gitweb
smash the HEAD with the contents of b_cmd. HEAD_PRE_CMD_SMASH and
[fs/lustre-release.git] / lustre / tests / openfile.c
index a6e44c6..af5e863 100644 (file)
@@ -17,6 +17,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <linux/lustre_user.h>
 
 typedef struct flag_mapping {
        const char *string;
@@ -39,6 +40,7 @@ FLAG_MAPPING flag_table[] = {
        {"O_LARGEFILE", O_LARGEFILE},
        {"O_DIRECTORY", O_DIRECTORY},
        {"O_NOFOLLOW", O_NOFOLLOW},
+       {"O_LOV_DELAY_CREATE", O_LOV_DELAY_CREATE},
        {"", -1}
 };
 
@@ -53,7 +55,7 @@ int main(int argc, char** argv)
 {
         int    fd;
         int    flags=0;
-        mode_t mode=0;
+        mode_t mode=0644;
         char*  fname=NULL;
         int    mode_set=0;
         int    flag_set=0;
@@ -131,25 +133,27 @@ int main(int argc, char** argv)
         }
 
 
-        if (mode_set)
+        if (flags & O_CREAT)
                 fd = open(fname, flags, mode);
         else
                 fd = open(fname, flags);
 
         if (fd != -1) {
-                fprintf(stderr, "Succeed in opening file \"%s\"(flags=%s",
-                        fname, cloned_flags);
+                printf("Succeed in opening file \"%s\"(flags=%s",
+                       fname, cloned_flags);
 
                 if (mode_set)
-                        fprintf(stderr, ", mode=%o", mode);
-                fprintf(stderr, ")\n");
+                        printf(", mode=%o", mode);
+                printf(")\n");
                 close(fd);
-        } else {
-                fprintf(stderr, "Error in opening file \"%s\"(flags=%s",
-                        fname, cloned_flags);
-                if (mode_set)
-                        fprintf(stderr, ", mode=%o", mode);
-                fprintf(stderr, ") %d: %s\n", errno, strerror(errno));
+                return 0;
         }
+
+        fprintf(stderr, "Error in opening file \"%s\"(flags=%s",
+                fname, cloned_flags);
+        if (mode_set)
+                fprintf(stderr, ", mode=%o", mode);
+        fprintf(stderr, ") %d: %s\n", errno, strerror(errno));
+
         return errno;
 }