summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/default-args.c
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src/default-args.c')
-rw-r--r--libglusterfs/src/default-args.c48
1 files changed, 45 insertions, 3 deletions
diff --git a/libglusterfs/src/default-args.c b/libglusterfs/src/default-args.c
index c92f3d46a86..a0ba1cfb299 100644
--- a/libglusterfs/src/default-args.c
+++ b/libglusterfs/src/default-args.c
@@ -13,8 +13,7 @@
#include "config.h"
#endif
-#include "xlator.h"
-#include "defaults.h"
+#include "glusterfs/defaults.h"
int
args_lookup_store(default_args_t *args, loc_t *loc, dict_t *xdata)
@@ -1137,7 +1136,8 @@ args_rchecksum_cbk_store(default_args_cbk_t *args, int32_t op_ret,
args->op_errno = op_errno;
if (op_ret >= 0) {
args->weak_checksum = weak_checksum;
- args->strong_checksum = memdup(strong_checksum, SHA256_DIGEST_LENGTH);
+ args->strong_checksum = gf_memdup(strong_checksum,
+ SHA256_DIGEST_LENGTH);
}
if (xdata)
args->xdata = dict_ref(xdata);
@@ -1541,6 +1541,48 @@ args_namelink_store(default_args_t *args, loc_t *loc, dict_t *xdata)
return 0;
}
+int
+args_copy_file_range_store(default_args_t *args, fd_t *fd_in, off64_t off_in,
+ fd_t *fd_out, off64_t off_out, size_t len,
+ uint32_t flags, dict_t *xdata)
+{
+ if (fd_in)
+ args->fd = fd_ref(fd_in);
+ if (fd_out)
+ args->fd_dst = fd_ref(fd_out);
+ args->size = len;
+ args->off_in = off_in;
+ args->off_out = off_out;
+ args->flags = flags;
+
+ if (xdata)
+ args->xdata = dict_ref(xdata);
+
+ return 0;
+}
+
+int
+args_copy_file_range_cbk_store(default_args_cbk_t *args, int32_t op_ret,
+ int32_t op_errno, struct iatt *stbuf,
+ struct iatt *prebuf_dst,
+ struct iatt *postbuf_dst, dict_t *xdata)
+{
+ args->op_ret = op_ret;
+ args->op_errno = op_errno;
+ if (op_ret >= 0) {
+ if (postbuf_dst)
+ args->poststat = *postbuf_dst;
+ if (prebuf_dst)
+ args->prestat = *prebuf_dst;
+ if (stbuf)
+ args->stat = *stbuf;
+ }
+ if (xdata)
+ args->xdata = dict_ref(xdata);
+
+ return 0;
+}
+
void
args_cbk_wipe(default_args_cbk_t *args_cbk)
{