1
1

the fbtl interfaces should really be an ssize_t not a size_t, since the return

value could be negative, which is allowed for ssize_t, but not for size_t.

This commit was SVN r32700.
Этот коммит содержится в:
Edgar Gabriel 2014-09-10 15:01:54 +00:00
родитель 599cb7b351
Коммит cc46b65a5e
16 изменённых файлов: 58 добавлений и 51 удалений

Просмотреть файл

@ -116,14 +116,14 @@ typedef int (*mca_fbtl_base_module_finalize_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file);
typedef size_t (*mca_fbtl_base_module_preadv_fn_t)
typedef ssize_t (*mca_fbtl_base_module_preadv_fn_t)
(struct mca_io_ompio_file_t *file );
typedef size_t (*mca_fbtl_base_module_pwritev_fn_t)
typedef ssize_t (*mca_fbtl_base_module_pwritev_fn_t)
(struct mca_io_ompio_file_t *file );
typedef size_t (*mca_fbtl_base_module_ipreadv_fn_t)
typedef ssize_t (*mca_fbtl_base_module_ipreadv_fn_t)
(struct mca_io_ompio_file_t *file,
ompi_request_t **request);
typedef size_t (*mca_fbtl_base_module_ipwritev_fn_t)
typedef ssize_t (*mca_fbtl_base_module_ipwritev_fn_t)
(struct mca_io_ompio_file_t *file,
ompi_request_t **request);
typedef bool (*mca_fbtl_base_module_progress_fn_t)

Просмотреть файл

@ -46,11 +46,11 @@ OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_plfs_compon
* ******************************************************************
*/
size_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *file );
size_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *file );
size_t mca_fbtl_plfs_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *file );
ssize_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *file );
ssize_t mca_fbtl_plfs_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request);
size_t mca_fbtl_plfs_ipwritev (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_plfs_ipwritev (mca_io_ompio_file_t *file,
ompi_request_t **request);
/*

Просмотреть файл

@ -25,7 +25,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_plfs_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_plfs_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request)
{
printf ("PLFS IPREADV\n");

Просмотреть файл

@ -25,8 +25,8 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_plfs_ipwritev (mca_io_ompio_file_t *fh,
ompi_request_t **request)
ssize_t mca_fbtl_plfs_ipwritev (mca_io_ompio_file_t *fh,
ompi_request_t **request)
{
printf ("PLFS IPWRITEV\n");
return OMPI_ERROR;

Просмотреть файл

@ -25,12 +25,13 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *fh )
ssize_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *fh )
{
Plfs_fd *pfd = NULL;
plfs_error_t plfs_ret;
pfd = fh->f_fs_ptr;
ssize_t total_bytes_read=0;
int i, block=1;
struct iovec *iov = NULL;
@ -102,7 +103,7 @@ size_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *fh )
if (bytes_read < 0)
return OMPI_ERROR;
total_bytes_read += bytes_read;
// Copy the data from BUFFER into the memory specified by IOV
bytes = bytes_read;
for (int i = 0; i < iov_count; ++i) {
@ -115,11 +116,16 @@ size_t mca_fbtl_plfs_preadv (mca_io_ompio_file_t *fh )
}
}
iov_count = 0;
if ( NULL != buffer ) {
free (buffer);
buffer=NULL;
}
}
if (NULL != iov) {
free (iov);
iov = NULL;
}
return OMPI_SUCCESS;
return total_bytes_read;
}

Просмотреть файл

@ -26,11 +26,12 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *fh )
ssize_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *fh )
{
Plfs_fd *pfd = NULL;
plfs_error_t plfs_ret;
pfd = fh->f_fs_ptr;
ssize_t total_bytes_written=0;
int i, block = 1;
struct iovec *iov = NULL;
@ -86,7 +87,7 @@ size_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *fh )
}
// Allocate a temporary buffer to hold the data
char *buffer;
char *buffer=NULL;
buffer = (char *) malloc (bytes);
if (buffer == NULL) {
return OMPI_ERROR;
@ -112,7 +113,12 @@ size_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *fh )
opal_output(0, "fbtl_plfs_pwritev: Error in plfs_write:\n%s\n", strplfserr(plfs_ret));
return OMPI_ERROR;
}
total_bytes_written += bytes_written;
iov_count = 0;
if ( NULL != buffer ) {
free ( buffer );
buffer=NULL;
}
}
if (NULL != iov) {
@ -120,5 +126,5 @@ size_t mca_fbtl_plfs_pwritev (mca_io_ompio_file_t *fh )
iov = NULL;
}
return OMPI_SUCCESS;
return total_bytes_written;
}

Просмотреть файл

@ -45,11 +45,11 @@ OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_posix_compo
* ******************************************************************
*/
size_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *file );
size_t mca_fbtl_posix_pwritev (mca_io_ompio_file_t *file );
size_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *file );
ssize_t mca_fbtl_posix_pwritev (mca_io_ompio_file_t *file );
ssize_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request);
size_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *file,
ompi_request_t **request);
/*

Просмотреть файл

@ -25,7 +25,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request)
{
printf ("POSIX IPREADV\n");

Просмотреть файл

@ -27,7 +27,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *fh,
ssize_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *fh,
ompi_request_t **request)
{
int i;

Просмотреть файл

@ -25,7 +25,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh )
ssize_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh )
{
/*int *fp = NULL;*/
int i, block=1;
@ -33,7 +33,6 @@ size_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh )
int iov_count = 0;
OMPI_MPI_OFFSET_TYPE iov_offset = 0;
ssize_t bytes_read=0, ret_code=0;
size_t ret=0;
if (NULL == fh->f_io_array) {
return OMPI_ERROR;
@ -101,6 +100,6 @@ size_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh )
iov = NULL;
}
ret = (size_t) bytes_read;
return ret;
return bytes_read;
}

Просмотреть файл

@ -27,14 +27,13 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_posix_pwritev(mca_io_ompio_file_t *fh )
ssize_t mca_fbtl_posix_pwritev(mca_io_ompio_file_t *fh )
{
/*int *fp = NULL;*/
int i, block = 1;
struct iovec *iov = NULL;
int iov_count = 0;
OMPI_MPI_OFFSET_TYPE iov_offset = 0;
size_t ret=0;
ssize_t ret_code=0, bytes_written=0;
if (NULL == fh->f_io_array) {
@ -111,6 +110,5 @@ exit:
iov = NULL;
}
ret = (size_t) bytes_written;
return ret;
return bytes_written;
}

Просмотреть файл

@ -57,11 +57,11 @@ OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_pvfs2_compo
* ******************************************************************
*/
size_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *file);
size_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *file);
size_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *file);
ssize_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *file);
ssize_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request);
size_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file,
ompi_request_t **request);
/*

Просмотреть файл

@ -25,7 +25,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file,
ompi_request_t **request)
{
printf ("PVFS2 IPREADV\n");

Просмотреть файл

@ -25,7 +25,7 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file,
ssize_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file,
ompi_request_t **request)
{
printf ("PVFS2 IPWRITEV\n");

Просмотреть файл

@ -30,11 +30,11 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh)
ssize_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh)
{
int i;
int ret;
size_t k,rret=0;
size_t k;
int merge = 0;
char *merge_buf = NULL;
size_t merge_length = 0;
@ -43,7 +43,7 @@ size_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh)
PVFS_Request file_req;
PVFS_Request mem_req;
mca_fs_pvfs2 *pvfs2_fs;
int total_bytes_read=0;
ssize_t total_bytes_read=0;
pvfs2_fs = (mca_fs_pvfs2 *)fh->f_fs_ptr;
@ -94,7 +94,7 @@ size_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh)
perror("PVFS_sys_write() error");
return OMPI_ERROR;
}
total_bytes_read += (int)resp_io.total_completed;
total_bytes_read += (ssize_t)resp_io.total_completed;
k = 0;
while (merge >= 0) {
@ -139,10 +139,9 @@ size_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh)
perror("PVFS_sys_write() error");
return OMPI_ERROR;
}
total_bytes_read += (int)resp_io.total_completed;
total_bytes_read += (ssize_t)resp_io.total_completed;
}
}
rret = (size_t) total_bytes_read;
return rret;
return total_bytes_read;
}

Просмотреть файл

@ -31,12 +31,12 @@
#include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h"
size_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh )
ssize_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh )
{
int i;
int merge = 0;
int ret;
size_t k,rret;
size_t k;
char *merge_buf = NULL;
size_t merge_length = 0;
OMPI_MPI_OFFSET_TYPE merge_offset = 0;
@ -44,7 +44,7 @@ size_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh )
PVFS_Request file_req;
PVFS_Request mem_req;
mca_fs_pvfs2 *pvfs2_fs;
int total_bytes_written=0;
ssize_t total_bytes_written=0;
pvfs2_fs = (mca_fs_pvfs2 *)fh->f_fs_ptr;
@ -111,7 +111,7 @@ size_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh )
perror("PVFS_sys_write() error");
return OMPI_ERROR;
}
total_bytes_written += (int)resp_io.total_completed;
total_bytes_written += (ssize_t)resp_io.total_completed;
merge = 0;
merge_offset = 0;
@ -148,11 +148,10 @@ size_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh )
perror("PVFS_sys_write() error");
return OMPI_ERROR;
}
total_bytes_written += (int)resp_io.total_completed;
total_bytes_written += (ssize_t)resp_io.total_completed;
}
}
rret = (size_t) total_bytes_written;
return rret;
return total_bytes_written;
}