summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/call-stub.c
diff options
context:
space:
mode:
authorAnuradha Talur <atalur@redhat.com>2016-02-05 10:45:37 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-04-09 11:44:24 -0700
commit5ff451beecaf564b4f854b10e63a307e40660c8c (patch)
tree066fa26ce9e424d469f2483295c1fe6e05da562e /libglusterfs/src/call-stub.c
parentbe99ddd842025e0cd1a84076ee199cd4554a4575 (diff)
libglusterfs: Refactor packing of arguments
Added these changes so that they can be re-used to pack arguments required for each fop while populating the compound fop structure used by each xlator. Change-Id: Id9923e10003adafbc16a8bf3fbefa30677847313 BUG: 1303829 Signed-off-by: Anuradha Talur <atalur@redhat.com> Reviewed-on: http://review.gluster.org/13360 Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Ashish Pandey <aspandey@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'libglusterfs/src/call-stub.c')
-rw-r--r--libglusterfs/src/call-stub.c350
1 files changed, 52 insertions, 298 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c
index e48e6c3651c..3f64cbc7d3b 100644
--- a/libglusterfs/src/call-stub.c
+++ b/libglusterfs/src/call-stub.c
@@ -52,11 +52,7 @@ fop_lookup_stub (call_frame_t *frame, fop_lookup_t fn, loc_t *loc,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.lookup = fn;
-
- loc_copy (&stub->args.loc, loc);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
-
+ args_lookup_store (&stub->args, loc, xdata);
out:
return stub;
}
@@ -96,9 +92,7 @@ fop_stat_stub (call_frame_t *frame, fop_stat_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.stat = fn;
- loc_copy (&stub->args.loc, loc);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_stat_store (&stub->args, loc, xdata);
out:
return stub;
}
@@ -136,11 +130,7 @@ fop_fstat_stub (call_frame_t *frame, fop_fstat_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fstat = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fstat_store (&stub->args, fd, xdata);
out:
return stub;
}
@@ -179,10 +169,7 @@ fop_truncate_stub (call_frame_t *frame, fop_truncate_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.truncate = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.offset = off;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_truncate_store (&stub->args, loc, off, xdata);
out:
return stub;
}
@@ -220,12 +207,8 @@ fop_ftruncate_stub (call_frame_t *frame, fop_ftruncate_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.ftruncate = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
+ args_ftruncate_store (&stub->args, fd, off, xdata);
- stub->args.offset = off;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
out:
return stub;
}
@@ -265,10 +248,7 @@ fop_access_stub (call_frame_t *frame, fop_access_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.access = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.mask = mask;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_access_store (&stub->args, loc, mask, xdata);
out:
return stub;
}
@@ -305,10 +285,7 @@ fop_readlink_stub (call_frame_t *frame, fop_readlink_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.readlink = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.size = size;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_readlink_store (&stub->args, loc, size, xdata);
out:
return stub;
}
@@ -347,12 +324,7 @@ fop_mknod_stub (call_frame_t *frame, fop_mknod_t fn, loc_t *loc, mode_t mode,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.mknod = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.mode = mode;
- stub->args.rdev = rdev;
- stub->args.umask = umask;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_mknod_store (&stub->args, loc, mode, rdev, umask, xdata);
out:
return stub;
}
@@ -392,12 +364,7 @@ fop_mkdir_stub (call_frame_t *frame, fop_mkdir_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.mkdir = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.mode = mode;
- stub->args.umask = umask;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_mkdir_store (&stub->args, loc, mode, umask, xdata);
out:
return stub;
}
@@ -437,10 +404,8 @@ fop_unlink_stub (call_frame_t *frame, fop_unlink_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.unlink = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.xflag = xflag;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_unlink_store (&stub->args, loc, xflag, xdata);
+
out:
return stub;
}
@@ -481,10 +446,8 @@ fop_rmdir_stub (call_frame_t *frame, fop_rmdir_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.rmdir = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.flags = flags;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_rmdir_store (&stub->args, loc, flags, xdata);
+
out:
return stub;
}
@@ -525,11 +488,7 @@ fop_symlink_stub (call_frame_t *frame, fop_symlink_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.symlink = fn;
- stub->args.linkname = gf_strdup (linkname);
- stub->args.umask = umask;
- loc_copy (&stub->args.loc, loc);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_symlink_store (&stub->args, linkname, loc, umask, xdata);
out:
return stub;
}
@@ -571,10 +530,7 @@ fop_rename_stub (call_frame_t *frame, fop_rename_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.rename = fn;
- loc_copy (&stub->args.loc, oldloc);
- loc_copy (&stub->args.loc2, newloc);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_rename_store (&stub->args, oldloc, newloc, xdata);
out:
return stub;
}
@@ -617,11 +573,7 @@ fop_link_stub (call_frame_t *frame, fop_link_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.link = fn;
- loc_copy (&stub->args.loc, oldloc);
- loc_copy (&stub->args.loc2, newloc);
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_link_store (&stub->args, oldloc, newloc, xdata);
out:
return stub;
}
@@ -663,14 +615,8 @@ fop_create_stub (call_frame_t *frame, fop_create_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.create = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.flags = flags;
- stub->args.mode = mode;
- stub->args.umask = umask;
- if (fd)
- stub->args.fd = fd_ref (fd);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_create_store (&stub->args, loc, flags, mode,
+ umask, fd, xdata);
out:
return stub;
}
@@ -711,12 +657,7 @@ fop_open_stub (call_frame_t *frame, fop_open_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.open = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.flags = flags;
- if (fd)
- stub->args.fd = fd_ref (fd);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_open_store (&stub->args, loc, flags, fd, xdata);
out:
return stub;
}
@@ -754,14 +695,7 @@ fop_readv_stub (call_frame_t *frame, fop_readv_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.readv = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.size = size;
- stub->args.offset = off;
- stub->args.flags = flags;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_readv_store (&stub->args, fd, size, off, flags, xdata);
out:
return stub;
}
@@ -802,15 +736,8 @@ fop_writev_stub (call_frame_t *frame, fop_writev_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.writev = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.vector = iov_dup (vector, count);
- stub->args.count = count;
- stub->args.offset = off;
- stub->args.flags = flags;
- stub->args.iobref = iobref_ref (iobref);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_writev_store (&stub->args, fd, vector, count, off, flags,
+ iobref, xdata);
out:
return stub;
}
@@ -848,10 +775,7 @@ fop_flush_stub (call_frame_t *frame, fop_flush_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.flush = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_flush_store (&stub->args, fd, xdata);
out:
return stub;
}
@@ -887,11 +811,7 @@ fop_fsync_stub (call_frame_t *frame, fop_fsync_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fsync = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.datasync = datasync;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fsync_store (&stub->args, fd, datasync, xdata);
out:
return stub;
}
@@ -930,11 +850,7 @@ fop_opendir_stub (call_frame_t *frame, fop_opendir_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.opendir = fn;
- loc_copy (&stub->args.loc, loc);
- if (fd)
- stub->args.fd = fd_ref (fd);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_opendir_store (&stub->args, loc, fd, xdata);
out:
return stub;
}
@@ -971,11 +887,7 @@ fop_fsyncdir_stub (call_frame_t *frame, fop_fsyncdir_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fsyncdir = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.datasync = datasync;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fsyncdir_store (&stub->args, fd, datasync, xdata);
out:
return stub;
}
@@ -1012,9 +924,7 @@ fop_statfs_stub (call_frame_t *frame, fop_statfs_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.statfs = fn;
- loc_copy (&stub->args.loc, loc);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_statfs_store (&stub->args, loc, xdata);
out:
return stub;
}
@@ -1053,13 +963,7 @@ fop_setxattr_stub (call_frame_t *frame, fop_setxattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.setxattr = fn;
- loc_copy (&stub->args.loc, loc);
- /* TODO */
- if (dict)
- stub->args.xattr = dict_ref (dict);
- stub->args.flags = flags;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_setxattr_store (&stub->args, loc, dict, flags, xdata);
out:
return stub;
}
@@ -1098,12 +1002,7 @@ fop_getxattr_stub (call_frame_t *frame, fop_getxattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.getxattr = fn;
- loc_copy (&stub->args.loc, loc);
-
- if (name)
- stub->args.name = gf_strdup (name);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_getxattr_store (&stub->args, loc, name, xdata);
out:
return stub;
}
@@ -1142,13 +1041,7 @@ fop_fsetxattr_stub (call_frame_t *frame, fop_fsetxattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fsetxattr = fn;
- stub->args.fd = fd_ref (fd);
-
- if (dict)
- stub->args.xattr = dict_ref (dict);
- stub->args.flags = flags;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fsetxattr_store (&stub->args, fd, dict, flags, xdata);
out:
return stub;
}
@@ -1185,12 +1078,7 @@ fop_fgetxattr_stub (call_frame_t *frame, fop_fgetxattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fgetxattr = fn;
- stub->args.fd = fd_ref (fd);
-
- if (name)
- stub->args.name = gf_strdup (name);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fgetxattr_store (&stub->args, fd, name, xdata);
out:
return stub;
}
@@ -1230,10 +1118,7 @@ fop_removexattr_stub (call_frame_t *frame, fop_removexattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.removexattr = fn;
- loc_copy (&stub->args.loc, loc);
- stub->args.name = gf_strdup (name);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_removexattr_store (&stub->args, loc, name, xdata);
out:
return stub;
}
@@ -1271,10 +1156,7 @@ fop_fremovexattr_stub (call_frame_t *frame, fop_fremovexattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fremovexattr = fn;
- stub->args.fd = fd_ref (fd);
- stub->args.name = gf_strdup (name);
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fremovexattr_store (&stub->args, fd, name, xdata);
out:
return stub;
}
@@ -1312,12 +1194,7 @@ fop_lk_stub (call_frame_t *frame, fop_lk_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.lk = fn;
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.cmd = cmd;
- stub->args.lock = *lock;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_lk_store (&stub->args, fd, cmd, lock, xdata);
out:
return stub;
}
@@ -1356,15 +1233,8 @@ fop_inodelk_stub (call_frame_t *frame, fop_inodelk_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.inodelk = fn;
-
- if (volume)
- stub->args.volume = gf_strdup (volume);
-
- loc_copy (&stub->args.loc, loc);
- stub->args.cmd = cmd;
- stub->args.lock = *lock;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_inodelk_store (&stub->args, volume, loc, cmd,
+ lock, xdata);
out:
return stub;
}
@@ -1402,18 +1272,9 @@ fop_finodelk_stub (call_frame_t *frame, fop_finodelk_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.finodelk = fn;
+ args_finodelk_store (&stub->args, volume, fd, cmd,
+ lock, xdata);
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- if (volume)
- stub->args.volume = gf_strdup (volume);
-
- stub->args.cmd = cmd;
- stub->args.lock = *lock;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
out:
return stub;
}
@@ -1450,20 +1311,8 @@ fop_entrylk_stub (call_frame_t *frame, fop_entrylk_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.entrylk = fn;
+ args_entrylk_store (&stub->args, volume, loc, name, cmd, type, xdata);
- if (volume)
- stub->args.volume = gf_strdup (volume);
-
- loc_copy (&stub->args.loc, loc);
-
- stub->args.entrylkcmd = cmd;
- stub->args.entrylktype = type;
-
- if (name)
- stub->args.name = gf_strdup (name);
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
out:
return stub;
}
@@ -1500,19 +1349,7 @@ fop_fentrylk_stub (call_frame_t *frame, fop_fentrylk_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fentrylk = fn;
-
- if (volume)
- stub->args.volume = gf_strdup (volume);
-
- if (fd)
- stub->args.fd = fd_ref (fd);
- stub->args.entrylkcmd = cmd;
- stub->args.entrylktype = type;
- if (name)
- stub->args.name = gf_strdup (name);
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fentrylk_store (&stub->args, volume, fd, name, cmd, type, xdata);
out:
return stub;
}
@@ -1587,12 +1424,7 @@ fop_readdir_stub (call_frame_t *frame, fop_readdir_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.readdir = fn;
- stub->args.fd = fd_ref (fd);
- stub->args.size = size;
- stub->args.offset = off;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_readdir_store (&stub->args, fd, size, off, xdata);
out:
return stub;
}
@@ -1608,11 +1440,7 @@ fop_readdirp_stub (call_frame_t *frame, fop_readdirp_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.readdirp = fn;
- stub->args.fd = fd_ref (fd);
- stub->args.size = size;
- stub->args.offset = off;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_readdirp_store (&stub->args, fd, size, off, xdata);
out:
return stub;
}
@@ -1631,11 +1459,7 @@ fop_rchecksum_stub (call_frame_t *frame, fop_rchecksum_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.rchecksum = fn;
- stub->args.fd = fd_ref (fd);
- stub->args.offset = offset;
- stub->args.size = len;
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_rchecksum_store (&stub->args, fd, offset, len, xdata);
out:
return stub;
}
@@ -1714,14 +1538,7 @@ fop_xattrop_stub (call_frame_t *frame, fop_xattrop_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.xattrop = fn;
-
- loc_copy (&stub->args.loc, loc);
-
- stub->args.optype = optype;
- stub->args.xattr = dict_ref (xattr);
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_xattrop_store (&stub->args, loc, optype, xattr, xdata);
out:
return stub;
}
@@ -1741,14 +1558,7 @@ fop_fxattrop_stub (call_frame_t *frame, fop_fxattrop_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fxattrop = fn;
-
- stub->args.fd = fd_ref (fd);
-
- stub->args.optype = optype;
- stub->args.xattr = dict_ref (xattr);
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fxattrop_store (&stub->args, fd, optype, xattr, xdata);
out:
return stub;
}
@@ -1810,16 +1620,7 @@ fop_setattr_stub (call_frame_t *frame, fop_setattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.setattr = fn;
-
- loc_copy (&stub->args.loc, loc);
-
- if (stbuf)
- stub->args.stat = *stbuf;
-
- stub->args.valid = valid;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_setattr_store (&stub->args, loc, stbuf, valid, xdata);
out:
return stub;
}
@@ -1839,17 +1640,7 @@ fop_fsetattr_stub (call_frame_t *frame, fop_fsetattr_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fsetattr = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- if (stbuf)
- stub->args.stat = *stbuf;
-
- stub->args.valid = valid;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fsetattr_store (&stub->args, fd, stbuf, valid, xdata);
out:
return stub;
}
@@ -1888,16 +1679,7 @@ fop_fallocate_stub(call_frame_t *frame, fop_fallocate_t fn, fd_t *fd,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.fallocate = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- stub->args.flags = mode;
- stub->args.offset = offset;
- stub->args.size = len;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_fallocate_store (&stub->args, fd, mode, offset, len, xdata);
out:
return stub;
@@ -1937,15 +1719,7 @@ fop_discard_stub(call_frame_t *frame, fop_discard_t fn, fd_t *fd,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.discard = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- stub->args.offset = offset;
- stub->args.size = len;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_discard_store (&stub->args, fd, offset, len, xdata);
out:
return stub;
@@ -1985,15 +1759,7 @@ fop_zerofill_stub(call_frame_t *frame, fop_zerofill_t fn, fd_t *fd,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.zerofill = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- stub->args.offset = offset;
- stub->args.size = len;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_zerofill_store (&stub->args, fd, offset, len, xdata);
out:
return stub;
@@ -2031,11 +1797,7 @@ fop_ipc_stub (call_frame_t *frame, fop_ipc_t fn,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.ipc = fn;
-
- stub->args.cmd = op;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_ipc_store (&stub->args, op, xdata);
out:
return stub;
@@ -2075,15 +1837,7 @@ fop_seek_stub (call_frame_t *frame, fop_seek_t fn, fd_t *fd,
GF_VALIDATE_OR_GOTO ("call-stub", stub, out);
stub->fn.seek = fn;
-
- if (fd)
- stub->args.fd = fd_ref (fd);
-
- stub->args.offset = offset;
- stub->args.what = what;
-
- if (xdata)
- stub->args.xdata = dict_ref (xdata);
+ args_seek_store (&stub->args, fd, offset, what, xdata);
out:
return stub;