NAME¶
gfs_pio_create - create a file in the Gfarm file system
SYNOPSIS¶
#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_create (const char *
gfarm_url, int
flags , gfarm_mode_t mode, GFS_File *
gfp );
DESCRIPTION¶
gfs_pio_create() creates a new file in the Gfarm file system whose name
is the string pointed to by
gfarm_url with the access mode
mode,
and returns a
GFS_File structure to the address pointed to by
gfp.
Mode specifies the file permissions to be created, and is
modified by the process's umask.
The
flags argument has the same meaning as the second argument of
gfs_pio_open(), including the point such that exactly one of
GFARM_FILE_RDONLY,
GFARM_FILE_WRONLY, and
GFARM_FILE_RDWR
should be specified.
Note that
GFARM_FILE_TRUNC must be explicitly specified by the
flags argument if needed.
RETURN VALUES¶
- GFARM_ERR_NO_ERROR
- The function terminated successfully.
- GFARM_ERR_IS_A_DIRECTORY
- gfarm_url refers to a directory.
- GFARM_ERR_IS_A_SYMBOLIC_LINK
- gfarm_url refers to a symbolic link.
- GFARM_ERR_OPERATION_NOT_PERMITTED
- gfarm_url refers to not a regular file.
- GFARM_ERR_NOT_A_DIRECTORY
- A component used as a directory in gfarm_url is not,
in fact, a directory.
- GFARM_ERR_PERMISSION_DENIED
- The requested access to the file is not allowed, or one of
the directories in gfarm_url did not allow search (execute)
permission, or the file did not exist yet and write access to the parent
directory is not allowed. Or, the authentication to the metadata server
fails.
- GFARM_ERR_NO_MEMORY
- Insufficient memory was available.
- GFARM_ERR_INVALID_ARGUMENT
- flags is not valid.
- GFARM_ERR_GFARM_URL_HOST_IS_MISSING
- gfarm_url does not include a metadata server.
- GFARM_ERR_GFARM_URL_PORT_IS_MISSING
- gfarm_url does not include a port number of the
metadata server.
- GFARM_ERR_UNKNOWN_HOST
- The metadata server cannot be resolved.
- GFARM_ERR_TOO_MANY_OPEN_FILES
- The process opens too many files.
- GFARM_ERR_TOO_MANY_OPEN_FILES_IN_SYSTEM
- The system limit on the total number of open files has been
reached.
- GFARM_ERR_NETWORK_IS_UNREACHABLE
- Network is unrechable.
- GFARM_ERR_OPERATION_TIMED_OUT
- Connetion timeout occurs.
- GFARM_ERR_PROTOCOL
- Protocol error occurs.
- GFARM_ERR_BROKEN_PIPE
- Connection to the metadata server is broken.
- GFARM_ERR_PROTOCOL_NOT_SUPPORTED
- Specified authentication protocol is not supported.
- GFARM_ERR_AUTHENTICATION
- User authentication failed when connecting to the metadata
server.
- Others
- An error except the above occurred. The reason is shown by
gfarm_error_string(3).
SEE ALSO¶
gfs_pio_close(3),
gfs_pio_create(3),
gfs_pio_eof(3),
gfs_pio_error(3),
gfs_pio_flush(3),
gfs_pio_getc(3),
gfs_pio_getline(3),
gfs_pio_open(3),
gfs_pio_putc(3),
gfs_pio_putline(3),
gfs_pio_puts(3),
gfs_pio_read(3),
gfs_pio_seek(3),
gfs_pio_ungetc(3),
gfs_pio_write(3)