I'm using pvfs-2.8.1 and my pvfs2-server.conf file is as follows:
<Defaults> UnexpectedRequests 50 EventLogging none
EnableTracing no LogStamp datetime BMIModules bmi_tcp
FlowModules flowproto_multiqueue PerfUpdateInterval 1000
ServerJobBMITimeoutSecs 30 ServerJobFlowTimeoutSecs 30
ClientJobBMITimeoutSecs 300 ClientJobFlowTimeoutSecs 300
ClientRetryLimit 5 ClientRetryDelayMilliSecs 2000
PrecreateBatchSize 512 PrecreateLowThreshold 256
StorageSpace /pvfs2-storage-space LogFile
/tmp/pvfs2-server.log</Defaults>
<Aliases> Alias mds1 tcp://mds1:3334 Alias client1
tcp://client1:3334</Aliases>
<Filesystem> Name pvfs2-fs ID 1436645678 RootHandle
1048564 FileStuffing no <MetaHandleRanges> etc
</MetaHandleRanges> <DataHandleRanges> etc
</DataHandleRanges> <StorageHints> TroveSyncMeta yes
TroveSyncData no TroveMethod alt-aio
</StorageHints></Filesystem>
Date: Mon, 20 Feb 2012 13:37:26 -0500
Subject: Re: [Pvfs2-users] PVFS_isys_io call: Invalid argument
From: [email protected]
To: [email protected]
CC: [email protected]
No. I haven't tried to compile it.
Which version of OrangeFS are you using?
Send me your PVFS configuration file.
Becky
2012/2/20 g_p g_p <[email protected]>
a correction here ')'
char *buffer = (char *) malloc( count * (sizeof(char) + 1))
From: [email protected]
To: [email protected]
Subject: RE: [Pvfs2-users] PVFS_isys_io call: Invalid argument
Date: Mon, 20 Feb 2012 20:21:23 +0200
CC: [email protected]
Hello and thanks for replying,
i already did that
char *buffer = (char *) malloc( count * (sizeof(char) + 1)
but it didn't work too
Have you compiled it at all?
Does it work for you?
I'm sure i've made a mistake in the code, but i can't find it
and i have to find it as soon as possible cause i need it
May you please help me?
Thanks
Date: Mon, 20 Feb 2012 09:58:41 -0500
Subject: Re: [Pvfs2-users] PVFS_isys_io call: Invalid argument
From: [email protected]
To: [email protected]
CC: [email protected]
See below for correction.
Becky
2012/2/19 g_p g_p <[email protected]>
Hello,
i'm trying to create a file and read from it.The creation is working fine. When
i'm trying to read the file, i get an error when i call the "pvfs_sys_read"
invalid (NULL) required argumentPVFS_isys_io call: Invalid
argumentPVFS_sys_read : Invalid argument (error class: 0)
The problem is in the following line:
" ret = PVFS_sys_read(resp_create.ref, file_req, 0,buffer, mem_req,
&credentials, &resp_io, hints);"I can't understand which one of the arguments
is causing the problem,can you understand?How can i solve it?
The program is as follows:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <limits.h>
#include <string.h>
#include <sys/time.h>#include <sys/types.h>#include <sys/stat.h>#include
<fcntl.h>#include <time.h>#include <libgen.h>
#include <getopt.h>#include "pvfs2.h"
#include "str-utils.h"#include "pint-sysint-utils.h"#include "pvfs2-internal.h"
#include "pvfs2-hint.h"
int main(void) {
int ret = -1;
PVFS_sys_layout layout;
layout.algorithm = PVFS_SYS_LAYOUT_ROUND_ROBIN; layout.server_list.count
= 0; layout.server_list.servers = NULL;
/* Initialize the pvfs2 server */
ret = PVFS_util_init_defaults(); if(ret < 0) {
PVFS_perror("PVFS_util_init_defaults", ret); return -1; }
int rc; int num_segs; char *working_file = "test2.txt";
char directory[PVFS_NAME_MAX] = "/mnt/pvfs2/testDir/";
char filename[PVFS_SEGMENT_MAX];
layout.algorithm = PVFS_SYS_LAYOUT_ROUND_ROBIN;
layout.server_list.count = 0; if(layout.server_list.servers)
{ free(layout.server_list.servers); }
layout.server_list.servers = NULL;
char pvfs_path[PVFS_NAME_MAX] = {0};
PVFS_fs_id cur_fs; PVFS_sysresp_lookup resp_lookup;
PVFS_sysresp_create resp_create; PVFS_credentials credentials;
PVFS_object_ref parent_ref;
PVFS_sys_attr attr;
/* Translate path into pvfs2 relative path */ rc =
PINT_get_base_dir(working_file, directory, PVFS_NAME_MAX); num_segs =
PINT_string_count_segments(working_file);
rc = PINT_get_path_element(working_file, num_segs - 1,filename,
PVFS_SEGMENT_MAX);
if (rc) { fprintf(stderr, "Unknown path format:
%s\n", working_file);
ret = -1;
}
rc = PVFS_util_resolve(directory, &cur_fs,pvfs_path, PVFS_NAME_MAX);
if (rc) {
PVFS_perror("PVFS_util_resolve", rc); ret = -1;
}
PVFS_util_gen_credentials(&credentials);
memset(&resp_lookup, 0, sizeof(PVFS_sysresp_lookup)); rc =
PVFS_sys_lookup(cur_fs, pvfs_path, &credentials,&resp_lookup,
PVFS2_LOOKUP_LINK_NO_FOLLOW, NULL); if (rc)
{ PVFS_perror("PVFS_sys_lookup", rc); ret = -1;
}
/* Set attributes */ imemset(&attr, 0, sizeof(PVFS_sys_attr));
attr.owner = credentials.uid; attr.group = credentials.gid;
attr.perms = 0777; attr.atime = time(NULL); attr.mtime =
attr.atime;
attr.mask = PVFS_ATTR_SYS_ALL_SETABLE; attr.dfile_count = 0;
parent_ref = resp_lookup.ref;
layout.algorithm = PVFS_SYS_LAYOUT_RANDOM;
lrc = PVFS_sys_create(filename, parent_ref,
attr, parent_ref,
attr, &credentials,
NULL, &resp_create,
&layout,
NULL); if (rc) {
fprintf(stderr, "Error: An error occurred while creating %s\n",working_file);
PVFS_perror("PVFS_sys_create", rc);
ret = -1; }
/* Everthing fine till here! */
PVFS_Request mem_req, file_req; PVFS_sysresp_io resp_io;
/********* buffer needs to be allocated, at least 100 bytes in your case,
then you can send in the ********* pointer to the PVFS_sys_read call.
char * buffer;
*************/
size_t count = 100;
int64_t offset; PVFS_hint hints = NULL; file_req =
PVFS_BYTE; ret = PVFS_Request_contiguous(count, PVFS_BYTE, &mem_req);
if (ret < 0)
{ fprintf(stderr, "Error: PVFS_Request_contiguous
failure\n"); return (ret); } ret =
PVFS_sys_read(resp_create.ref, file_req, 0,buffer, mem_req, &credentials,
&resp_io, hints); /* problem here!!! */
if (ret == 0) { PVFS_Request_free(&mem_req);
} else { PVFS_perror("PVFS_sys_read === ", ret);
printf("ret = %d\n",ret); } PVFS_sys_finalize();
}
Can you understand where the problem is?Where is that NULL value that causes
the problem?
Thanks, in advance
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
--
Becky Ligon
OrangeFS Support and Development
Omnibond Systems
Anderson, South Carolina
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
--
Becky Ligon
OrangeFS Support and Development
Omnibond Systems
Anderson, South Carolina
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users