Change rpc_nfs_create to rpc_nfs3_create
[deb_libnfs.git] / lib / libnfs.c
index 4eb18512900c420aaeb279c9f2e24317e8977074..270a4416741d08f857498a4923daca4cd36eaad3 100644 (file)
@@ -173,14 +173,14 @@ char *nfs_get_error(struct nfs_context *nfs)
        return rpc_get_error(nfs->rpc);
 };
 
-int rpc_set_context_args(struct rpc_context *rpc, char *arg, char *val)
+static int nfs_set_context_args(struct nfs_context *nfs, char *arg, char *val)
 {
        if (!strncmp(arg, "tcp-syncnt", 10)) {
-               rpc_set_tcp_syncnt(rpc, atoi(val));
+               rpc_set_tcp_syncnt(nfs_get_rpc_context(nfs), atoi(val));
        } else if (!strncmp(arg, "uid", 3)) {
-               rpc_set_uid(rpc, atoi(val));
+               rpc_set_uid(nfs_get_rpc_context(nfs), atoi(val));
        } else if (!strncmp(arg, "gid", 3)) {
-               rpc_set_gid(rpc, atoi(val));
+               rpc_set_gid(nfs_get_rpc_context(nfs), atoi(val));
        }
        return 0;
 }
@@ -288,8 +288,7 @@ flags:
                if (strp2) {
                        *strp2 = 0;
                        strp2++;
-                       rpc_set_context_args(nfs_get_rpc_context(nfs),
-                                       strp, strp2);
+                       nfs_set_context_args(nfs, strp, strp2);
                }
        }
 
@@ -611,6 +610,7 @@ static void nfs_mount_8_cb(struct rpc_context *rpc, int status, void *command_da
 {
        struct nfs_cb_data *data = private_data;
        struct nfs_context *nfs = data->nfs;
+       struct FSINFO3args args;
 
        assert(rpc->magic == RPC_CONTEXT_MAGIC);
 
@@ -625,7 +625,8 @@ static void nfs_mount_8_cb(struct rpc_context *rpc, int status, void *command_da
                return;
        }
 
-       if (rpc_nfs_fsinfo_async(rpc, nfs_mount_9_cb, &nfs->rootfh, data) != 0) {
+       args.fsroot = nfs->rootfh;
+       if (rpc_nfs3_fsinfo_async(rpc, nfs_mount_9_cb, &args, data) != 0) {
                data->cb(-ENOMEM, nfs, command_data, data->private_data);
                free_nfs_cb_data(data);
                return;
@@ -654,7 +655,7 @@ static void nfs_mount_7_cb(struct rpc_context *rpc, int status, void *command_da
                return;
        }
 
-       if (rpc_nfs_null_async(rpc, nfs_mount_8_cb, data) != 0) {
+       if (rpc_nfs3_null_async(rpc, nfs_mount_8_cb, data) != 0) {
                data->cb(-ENOMEM, nfs, command_data, data->private_data);
                free_nfs_cb_data(data);
                return;
@@ -728,7 +729,7 @@ static void nfs_mount_5_cb(struct rpc_context *rpc, int status, void *command_da
                return;
        }
 
-       if (rpc_mount_mnt_async(rpc, nfs_mount_6_cb, nfs->export, data) != 0) {
+       if (rpc_mount3_mnt_async(rpc, nfs_mount_6_cb, nfs->export, data) != 0) {
                data->cb(-ENOMEM, nfs, command_data, data->private_data);
                free_nfs_cb_data(data);
                return;
@@ -756,7 +757,7 @@ static void nfs_mount_4_cb(struct rpc_context *rpc, int status, void *command_da
                return;
        }
 
-       if (rpc_mount_null_async(rpc, nfs_mount_5_cb, data) != 0) {
+       if (rpc_mount3_null_async(rpc, nfs_mount_5_cb, data) != 0) {
                data->cb(-ENOMEM, nfs, command_data, data->private_data);
                free_nfs_cb_data(data);
                return;
@@ -1711,6 +1712,7 @@ static void nfs_fsync_cb(struct rpc_context *rpc, int status, void *command_data
 int nfs_fsync_async(struct nfs_context *nfs, struct nfsfh *nfsfh, nfs_cb cb, void *private_data)
 {
        struct nfs_cb_data *data;
+       struct COMMIT3args args;
 
        data = malloc(sizeof(struct nfs_cb_data));
        if (data == NULL) {
@@ -1722,7 +1724,10 @@ int nfs_fsync_async(struct nfs_context *nfs, struct nfsfh *nfsfh, nfs_cb cb, voi
        data->cb           = cb;
        data->private_data = private_data;
 
-       if (rpc_nfs_commit_async(nfs->rpc, nfs_fsync_cb, &nfsfh->fh, data) != 0) {
+       args.file = nfsfh->fh;
+       args.offset = 0;
+       args.count = 0;
+       if (rpc_nfs3_commit_async(nfs->rpc, nfs_fsync_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send COMMIT call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -1789,7 +1794,7 @@ int nfs_ftruncate_async(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t l
        args.new_attributes.size.set_it = 1;
        args.new_attributes.size.set_size3_u.size = length;
 
-       if (rpc_nfs_setattr_async(nfs->rpc, nfs_ftruncate_cb, &args, data) != 0) {
+       if (rpc_nfs3_setattr_async(nfs->rpc, nfs_ftruncate_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send SETATTR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -1888,7 +1893,7 @@ static int nfs_mkdir_continue_internal(struct nfs_context *nfs, struct nfs_cb_da
        args.attributes.mode.set_it = 1;
        args.attributes.mode.set_mode3_u.mode = 0755;
 
-       if (rpc_nfs_mkdir_async(nfs->rpc, nfs_mkdir_cb, &args, data) != 0) {
+       if (rpc_nfs3_mkdir_async(nfs->rpc, nfs_mkdir_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send MKDIR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -1968,10 +1973,13 @@ static void nfs_rmdir_cb(struct rpc_context *rpc, int status, void *command_data
 static int nfs_rmdir_continue_internal(struct nfs_context *nfs, struct nfs_cb_data *data)
 {
        char *str = data->continue_data;
-       
+       RMDIR3args args;
+
        str = &str[strlen(str) + 1];
 
-       if (rpc_nfs_rmdir_async(nfs->rpc, nfs_rmdir_cb, &data->fh, str, data) != 0) {
+       args.object.dir = data->fh;
+       args.object.name = str;
+       if (rpc_nfs3_rmdir_async(nfs->rpc, nfs_rmdir_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send RMDIR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -2122,7 +2130,7 @@ static int nfs_creat_continue_internal(struct nfs_context *nfs, struct nfs_cb_da
        args.how.createhow3_u.obj_attributes.mode.set_it = 1;
        args.how.createhow3_u.obj_attributes.mode.set_mode3_u.mode = data->continue_int;
 
-       if (rpc_nfs_create_async(nfs->rpc, nfs_creat_1_cb, &args, data) != 0) {
+       if (rpc_nfs3_create_async(nfs->rpc, nfs_creat_1_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send CREATE call for %s/%s", data->path, str);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -2841,7 +2849,10 @@ static void nfs_statvfs_1_cb(struct rpc_context *rpc, int status, void *command_
 
 static int nfs_statvfs_continue_internal(struct nfs_context *nfs, struct nfs_cb_data *data)
 {
-       if (rpc_nfs_fsstat_async(nfs->rpc, nfs_statvfs_1_cb, &data->fh, data) != 0) {
+       FSSTAT3args args;
+
+       args.fsroot = data->fh;
+       if (rpc_nfs3_fsstat_async(nfs->rpc, nfs_statvfs_1_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send FSSTAT call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -2971,7 +2982,7 @@ static int nfs_chmod_continue_internal(struct nfs_context *nfs, struct nfs_cb_da
        args.new_attributes.mode.set_it = 1;
        args.new_attributes.mode.set_mode3_u.mode = data->continue_int;
 
-       if (rpc_nfs_setattr_async(nfs->rpc, nfs_chmod_cb, &args, data) != 0) {
+       if (rpc_nfs3_setattr_async(nfs->rpc, nfs_chmod_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send SETATTR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -3083,7 +3094,7 @@ static int nfs_chown_continue_internal(struct nfs_context *nfs, struct nfs_cb_da
                args.new_attributes.gid.set_gid3_u.gid = chown_data->gid;
        }
 
-       if (rpc_nfs_setattr_async(nfs->rpc, nfs_chown_cb, &args, data) != 0) {
+       if (rpc_nfs3_setattr_async(nfs->rpc, nfs_chown_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send SETATTR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -3219,7 +3230,7 @@ static int nfs_utimes_continue_internal(struct nfs_context *nfs, struct nfs_cb_d
                args.new_attributes.mtime.set_it = SET_TO_SERVER_TIME;
        }
 
-       if (rpc_nfs_setattr_async(nfs->rpc, nfs_utimes_cb, &args, data) != 0) {
+       if (rpc_nfs3_setattr_async(nfs->rpc, nfs_utimes_cb, &args, data) != 0) {
                rpc_set_error(nfs->rpc, "RPC error: Failed to send SETATTR call for %s", data->path);
                data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data);
                free_nfs_cb_data(data);
@@ -3918,7 +3929,7 @@ static void mount_export_4_cb(struct rpc_context *rpc, int status, void *command
                return;
        }
 
-       if (rpc_mount_export_async(rpc, mount_export_5_cb, data) != 0) {
+       if (rpc_mount3_export_async(rpc, mount_export_5_cb, data) != 0) {
                data->cb(rpc, -ENOMEM, command_data, data->private_data);
                free_mount_cb_data(data);
                return;