From 72aef87eeddc59428af67f2e6a666839b0ddd09c Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Thu, 27 Jun 2013 18:05:54 +0200 Subject: test-ffop: the result of (O_TRUNC|O_RDONLY) is unspecified On RHEL-6 an open(.., O_TRUNC|O_RDONLY) fails. test-ffop expects this to succeed, but the behaviour is unspecified according to 'man 2 open': O_TRUNC If the file already exists and is a regular file and the open mode allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0. If the file is a FIFO or terminal device file, the O_TRUNC flag is ignored. Otherwise the effect of O_TRUNC is unspecified. Change-Id: I76b55419871fc758cbe82532f9b75476a0c14101 Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/5268 Reviewed-by: Vijay Bellur Tested-by: Vijay Bellur --- extras/test/test-ffop.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'extras/test') diff --git a/extras/test/test-ffop.c b/extras/test/test-ffop.c index 6ce7097d5c5..2d174d45276 100644 --- a/extras/test/test-ffop.c +++ b/extras/test/test-ffop.c @@ -777,6 +777,7 @@ test_open_modes (char *filename) goto out; } +#if 0 /* undefined behaviour, unable to reliably test */ ret = creat (filename, 0644); close (ret); ret = generic_open_read_write (filename, O_TRUNC|O_RDONLY); @@ -784,6 +785,7 @@ test_open_modes (char *filename) fprintf (stderr, "flag O_TRUNC|O_RDONLY failed\n"); goto out; } +#endif ret = generic_open_read_write (filename, O_CREAT|O_RDWR|O_SYNC); if (0 != ret) { -- cgit