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 <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/5268 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
parent
63ed610617
commit
72aef87eed
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user