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.
Этот коммит содержится в:
родитель
599cb7b351
Коммит
cc46b65a5e
@ -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;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user