[
https://issues.apache.org/jira/browse/HADOOP-2880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Koji Noguchi updated HADOOP-2880:
---------------------------------
Fix Version/s: (was: 0.17.0)
0.18.0
I'm setting to 0.18.
This probably needs to be discussed by the libhdfs users.
I believe we should introduce HADOOP_O_RDONLY/HADOOP_O_WRONLY and disable
O_RDONLY/WRONLY by returning an error if passed.
A little background.
{noformat}
#include "hdfs.h"
#include <fcntl.h>
...
hdfsOpenFile(...,..., O_RDONLY)
...
{noformat}
would read the hdfs file correctly, but
{noformat}
#include <fcntl.h>
#include "hdfs.h"
...
hdfsOpenFile(...,..., O_RDONLY)
...
{noformat}
would try to overwrite the file.
> libhdfs: O_WRONLY/O_RDONLY different when including fcntl.h
> -----------------------------------------------------------
>
> Key: HADOOP-2880
> URL: https://issues.apache.org/jira/browse/HADOOP-2880
> Project: Hadoop Core
> Issue Type: Bug
> Components: libhdfs
> Environment: linux
> Reporter: Koji Noguchi
> Priority: Blocker
> Fix For: 0.18.0
>
>
> In hdfs.h,
> #ifndef O_RDONLY
> #define O_RDONLY 1
> #endif
> #ifndef O_WRONLY
> #define O_WRONLY 2
> #endif
> but on linux,
> $ grep "define O_RDONLY" /usr/include/*/*
> /usr/include/asm-i386/fcntl.h:#define O_RDONLY 00
> /usr/include/asm-x86_64/fcntl.h:#define O_RDONLY 00
> /usr/include/bits/fcntl.h:#define O_RDONLY 00
> $ grep "define O_WRONLY" /usr/include/*/*
> /usr/include/asm-i386/fcntl.h:#define O_WRONLY 01
> /usr/include/asm-x86_64/fcntl.h:#define O_WRONLY 01
> /usr/include/bits/fcntl.h:#define O_WRONLY 01
> It took me a while to debug when hdfsOpenFile was trying to 'write' when I
> meant 'read'.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.