Patchwork xfstests: use native definition of O_DIRECT flag

login
register
mail settings
Submitter Eric Whitney
Date Feb. 26, 2013, 9:03 p.m.
Message ID <20130226210322.GB5275@wallace>
Download mbox | patch
Permalink /patch/223397/
State Not Applicable
Headers show

Comments

Eric Whitney - Feb. 26, 2013, 9:03 p.m.
The definition of O_DIRECT in src/trunc.c causes xfstest 125 to fail
when run on a Pandaboard.  On ARM, the value used (0x040000) is
O_DIRECTORY rather than O_DIRECT as it is on x86.  Prefer the platform's
native definition of O_DIRECT supplied by fcntl.h if available.  Also,
fix a couple of error messages to properly reflect their context.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
---
 src/trunc.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Dave Chinner - Feb. 26, 2013, 10:57 p.m.
On Tue, Feb 26, 2013 at 04:03:22PM -0500, Eric Whitney wrote:
> The definition of O_DIRECT in src/trunc.c causes xfstest 125 to fail
> when run on a Pandaboard.  On ARM, the value used (0x040000) is
> O_DIRECTORY rather than O_DIRECT as it is on x86.  Prefer the platform's
> native definition of O_DIRECT supplied by fcntl.h if available.  Also,
> fix a couple of error messages to properly reflect their context.
> 
> Signed-off-by: Eric Whitney <enwlinux@gmail.com>

Looks good.

Reviewed-by: Dave Chinner <dchinner@redhat.com>
Rich Johnston - March 5, 2013, 8:09 p.m.
This patch has been committed.

Thanks
--Rich

commit 5825ecd3b99ed8c177895d5e6a830133fed384ea
Author: Eric Whitney <enwlinux@gmail.com>
Date:   Tue Feb 26 21:03:22 2013 +0000

     xfstests: use native definition of O_DIRECT flag

     The definition of O_DIRECT in src/trunc.c causes xfstest 125 to fail
     when run on a Pandaboard.  On ARM, the value used (0x040000) is
     O_DIRECTORY rather than O_DIRECT as it is on x86.  Prefer the 
platform's
     native definition of O_DIRECT supplied by fcntl.h if available.  Also,
     fix a couple of error messages to properly reflect their context.

     Signed-off-by: Eric Whitney <enwlinux@gmail.com>
     Reviewed-by: Dave Chinner <dchinner@redhat.com>
     Signed-off-by: Rich Johnston <rjohnston@sgi.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/src/trunc.c b/src/trunc.c
index 7539532..38fb21f 100644
--- a/src/trunc.c
+++ b/src/trunc.c
@@ -26,7 +26,9 @@ 
 #include <stdlib.h>
 #include <string.h>
 
+#ifndef O_DIRECT
 #define O_DIRECT	040000
+#endif
 
 #define WAITTIME	60
 #define BUFSIZE		4096
@@ -82,7 +84,7 @@  while((c=getopt(argc,argv,"f:"))!=EOF) {
 
 	printf("direct write of 1's into file\n");	
 	err = write(fd, buf, BUFSIZE);
-	if (err < 0) perror("buffered write failed");
+	if (err < 0) perror("direct write failed");
 
 	close(fd);
 	
@@ -96,7 +98,7 @@  while((c=getopt(argc,argv,"f:"))!=EOF) {
 
 	printf("buffered write of 2's into file\n");	
 	err = write(fd, buf, BUFSIZE);
-	if (err < 0) perror("direct write failed");
+	if (err < 0) perror("buffered write failed");
 
 	/* 1 now on disk, but 2 data is buffered */