nfs = malloc(sizeof(struct nfs_context));
if (nfs == NULL) {
- printf("Failed to allocate nfs context\n");
return NULL;
}
nfs->rpc = rpc_init_context();
if (nfs->rpc == NULL) {
- printf("Failed to allocate rpc sub-context\n");
free(nfs);
return NULL;
}
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
- rpc_set_error(nfs->rpc, "out of memory");
- printf("failed to allocate memory for nfs mount data\n");
+ rpc_set_error(nfs->rpc, "out of memory. failed to allocate memory for nfs mount data");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
data->private_data = private_data;
if (rpc_connect_async(nfs->rpc, server, 111, nfs_mount_1_cb, data) != 0) {
- printf("Failed to start connection\n");
+ rpc_set_error(nfs->rpc, "Failed to start connection");
free_nfs_cb_data(data);
- return -4;
+ return -1;
}
return 0;
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
- return -2;
+ return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
data->nfs = nfs;
data->saved_path = strdup(path);
if (data->saved_path == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to copy path string");
- printf("failed to allocate memory for path string\n");
free_nfs_cb_data(data);
- return -2;
+ return -1;
}
data->path = data->saved_path;
if (nfs_lookup_path_async_internal(nfs, data, &nfs->rootfh) != 0) {
- printf("failed to lookup path\n");
/* return 0 here since the callback will be invoked if there is a failure */
return 0;
}
int nfs_stat_async(struct nfs_context *nfs, const char *path, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_stat_continue_internal, NULL, NULL, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
int nfs_open_async(struct nfs_context *nfs, const char *path, int mode, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_open_continue_internal, NULL, NULL, mode) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -2;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
mdata = malloc(sizeof(struct nfs_mcb_data));
if (mdata == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_mcb_data structure");
- printf("failed to allocate memory for nfs mcb data\n");
return -1;
}
bzero(mdata, sizeof(struct nfs_mcb_data));
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
rpc_set_error(nfs->rpc, "out of memory: failed to allocate nfs_cb_data structure");
- printf("failed to allocate memory for nfs cb data\n");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
offset = length;
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_truncate_continue_internal, NULL, NULL, offset) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -2;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
new_path = strdup(path);
if (new_path == NULL) {
- printf("Out of memory, failed to allocate mode buffer for path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for path");
return -1;
}
ptr = rindex(new_path, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", path);
- return -2;
+ rpc_set_error(nfs->rpc, "Invalid path %s", path);
+ return -1;
}
*ptr = 0;
/* new_path now points to the parent directory, and beyond the nul terminateor is the new directory to create */
if (nfs_lookuppath_async(nfs, new_path, cb, private_data, nfs_mkdir_continue_internal, new_path, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -3;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path component");
+ return -1;
}
return 0;
new_path = strdup(path);
if (new_path == NULL) {
- printf("Out of memory, failed to allocate mode buffer for path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for path");
return -1;
}
ptr = rindex(new_path, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", path);
- return -2;
+ rpc_set_error(nfs->rpc, "Invalid path %s", path);
+ return -1;
}
*ptr = 0;
/* new_path now points to the parent directory, and beyond the nul terminateor is the new directory to create */
if (nfs_lookuppath_async(nfs, new_path, cb, private_data, nfs_rmdir_continue_internal, new_path, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -3;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
new_path = strdup(path);
if (new_path == NULL) {
- printf("Out of memory, failed to allocate mode buffer for path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for path");
return -1;
}
ptr = rindex(new_path, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", path);
- return -2;
+ rpc_set_error(nfs->rpc, "Invalid path %s", path);
+ return -1;
}
*ptr = 0;
/* new_path now points to the parent directory, and beyond the nul terminateor is the new directory to create */
if (nfs_lookuppath_async(nfs, new_path, cb, private_data, nfs_creat_continue_internal, new_path, free, mode) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -3;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
new_path = strdup(path);
if (new_path == NULL) {
- printf("Out of memory, failed to allocate mode buffer for path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for path");
return -1;
}
ptr = rindex(new_path, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", path);
- return -2;
+ rpc_set_error(nfs->rpc, "Invalid path %s", path);
+ return -1;
}
*ptr = 0;
/* new_path now points to the parent directory, and beyond the nul terminateor is the new directory to create */
if (nfs_lookuppath_async(nfs, new_path, cb, private_data, nfs_unlink_continue_internal, new_path, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -3;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
nfsdir = malloc(sizeof(struct nfsdir));
if (nfsdir == NULL) {
- printf("failed to allocate buffer for nfsdir\n");
+ rpc_set_error(nfs->rpc, "failed to allocate buffer for nfsdir");
return -1;
}
bzero(nfsdir, sizeof(struct nfsdir));
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_opendir_continue_internal, nfsdir, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -2;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
if (rpc_nfs_getattr_async(nfs->rpc, nfs_lseek_1_cb, &nfsfh->fh, data) != 0) {
rpc_set_error(nfs->rpc, "RPC error: Failed to send LSEEK GETATTR call");
free(data);
- return -2;
+ return -1;
}
return 0;
}
int nfs_statvfs_async(struct nfs_context *nfs, const char *path, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_statvfs_continue_internal, NULL, NULL, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
int nfs_readlink_async(struct nfs_context *nfs, const char *path, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_readlink_continue_internal, NULL, NULL, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
int nfs_chmod_async(struct nfs_context *nfs, const char *path, int mode, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_chmod_continue_internal, NULL, NULL, mode) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
- rpc_set_error(nfs->rpc, "out of memory");
- printf("failed to allocate memory for nfs mount data\n");
+ rpc_set_error(nfs->rpc, "out of memory. failed to allocate memory for nfs mount data");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
chown_data = malloc(sizeof(struct nfs_chown_data));
if (chown_data == NULL) {
- printf("Failed to allocate memory for chown data structure\n");
+ rpc_set_error(nfs->rpc, "Failed to allocate memory for chown data structure");
return -1;
}
chown_data->gid = gid;
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_chown_continue_internal, chown_data, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
chown_data = malloc(sizeof(struct nfs_chown_data));
if (chown_data == NULL) {
- printf("Failed to allocate memory for chown data structure\n");
+ rpc_set_error(nfs->rpc, "Failed to allocate memory for chown data structure");
return -1;
}
data = malloc(sizeof(struct nfs_cb_data));
if (data == NULL) {
- rpc_set_error(nfs->rpc, "out of memory");
- printf("failed to allocate memory for fchown data\n");
+ rpc_set_error(nfs->rpc, "out of memory. failed to allocate memory for fchown data");
return -1;
}
bzero(data, sizeof(struct nfs_cb_data));
if (times != NULL) {
new_times = malloc(sizeof(struct timeval)*2);
if (new_times == NULL) {
- printf("Failed to allocate memory for timeval structure\n");
+ rpc_set_error(nfs->rpc, "Failed to allocate memory for timeval structure");
return -1;
}
}
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_utimes_continue_internal, new_times, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
if (times != NULL) {
new_times = malloc(sizeof(struct timeval)*2);
if (new_times == NULL) {
- printf("Failed to allocate memory for timeval structure\n");
+ rpc_set_error(nfs->rpc, "Failed to allocate memory for timeval structure");
return -1;
}
}
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_utimes_continue_internal, new_times, free, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
return -1;
}
int nfs_access_async(struct nfs_context *nfs, const char *path, int mode, nfs_cb cb, void *private_data)
{
if (nfs_lookuppath_async(nfs, path, cb, private_data, nfs_access_continue_internal, NULL, NULL, mode) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -2;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
symlink_data = malloc(sizeof(struct nfs_symlink_data));
if (symlink_data == NULL) {
- printf("Out of memory, failed to allocate buffer for symlink data\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for symlink data");
return -1;
}
bzero(symlink_data, sizeof(struct nfs_symlink_data));
symlink_data->oldpath = strdup(oldpath);
if (symlink_data->oldpath == NULL) {
- printf("Out of memory, failed to allocate buffer for oldpath\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for oldpath");
free_nfs_symlink_data(symlink_data);
- return -2;
+ return -1;
}
symlink_data->newpathparent = strdup(newpath);
if (symlink_data->newpathparent == NULL) {
- printf("Out of memory, failed to allocate mode buffer for new path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for new path");
free_nfs_symlink_data(symlink_data);
- return -3;
+ return -1;
}
ptr = rindex(symlink_data->newpathparent, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", oldpath);
+ rpc_set_error(nfs->rpc, "Invalid path %s", oldpath);
free_nfs_symlink_data(symlink_data);
- return -4;
+ return -1;
}
*ptr = 0;
ptr++;
symlink_data->newpathobject = strdup(ptr);
if (symlink_data->newpathobject == NULL) {
- printf("Out of memory, failed to allocate mode buffer for new path\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate mode buffer for new path");
free_nfs_symlink_data(symlink_data);
- return -5;
+ return -1;
}
if (nfs_lookuppath_async(nfs, symlink_data->newpathparent, cb, private_data, nfs_symlink_continue_internal, symlink_data, free_nfs_symlink_data, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -6;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
rename_data = malloc(sizeof(struct nfs_rename_data));
if (rename_data == NULL) {
- printf("Out of memory, failed to allocate buffer for rename data\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for rename data");
return -1;
}
bzero(rename_data, sizeof(struct nfs_rename_data));
rename_data->oldpath = strdup(oldpath);
if (rename_data->oldpath == NULL) {
- printf("Out of memory, failed to allocate buffer for oldpath\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for oldpath");
free_nfs_rename_data(rename_data);
- return -2;
+ return -1;
}
ptr = rindex(rename_data->oldpath, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", oldpath);
+ rpc_set_error(nfs->rpc, "Invalid path %s", oldpath);
free_nfs_rename_data(rename_data);
- return -3;
+ return -1;
}
*ptr = 0;
ptr++;
rename_data->newpath = strdup(newpath);
if (rename_data->newpath == NULL) {
- printf("Out of memory, failed to allocate buffer for newpath\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for newpath");
free_nfs_rename_data(rename_data);
- return -4;
+ return -1;
}
ptr = rindex(rename_data->newpath, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", newpath);
+ rpc_set_error(nfs->rpc, "Invalid path %s", newpath);
free_nfs_rename_data(rename_data);
- return -5;
+ return -1;
}
*ptr = 0;
ptr++;
if (nfs_lookuppath_async(nfs, rename_data->oldpath, cb, private_data, nfs_rename_continue_1_internal, rename_data, free_nfs_rename_data, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -6;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;
link_data = malloc(sizeof(struct nfs_link_data));
if (link_data == NULL) {
- printf("Out of memory, failed to allocate buffer for link data\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for link data");
return -1;
}
bzero(link_data, sizeof(struct nfs_link_data));
link_data->oldpath = strdup(oldpath);
if (link_data->oldpath == NULL) {
- printf("Out of memory, failed to allocate buffer for oldpath\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for oldpath");
free_nfs_link_data(link_data);
- return -2;
+ return -1;
}
link_data->newpath = strdup(newpath);
if (link_data->newpath == NULL) {
- printf("Out of memory, failed to allocate buffer for newpath\n");
+ rpc_set_error(nfs->rpc, "Out of memory, failed to allocate buffer for newpath");
free_nfs_link_data(link_data);
- return -4;
+ return -1;
}
ptr = rindex(link_data->newpath, '/');
if (ptr == NULL) {
- printf("Invalid path %s\n", newpath);
+ rpc_set_error(nfs->rpc, "Invalid path %s", newpath);
free_nfs_link_data(link_data);
- return -5;
+ return -1;
}
*ptr = 0;
ptr++;
if (nfs_lookuppath_async(nfs, link_data->oldpath, cb, private_data, nfs_link_continue_1_internal, link_data, free_nfs_link_data, 0) != 0) {
- printf("Out of memory: failed to start parsing the path components\n");
- return -6;
+ rpc_set_error(nfs->rpc, "Out of memory: failed to start parsing the path components");
+ return -1;
}
return 0;