Blame libglusterfs/src/default-args.c

Packit b2c0d9
/*
Packit b2c0d9
  Copyright (c) 2008-2015 Red Hat, Inc. <http://www.redhat.com>
Packit b2c0d9
  This file is part of GlusterFS.
Packit b2c0d9
Packit b2c0d9
  This file is licensed to you under your choice of the GNU Lesser
Packit b2c0d9
  General Public License, version 3 or any later version (LGPLv3 or
Packit b2c0d9
  later), or the GNU General Public License, version 2 (GPLv2), in all
Packit b2c0d9
  cases as published by the Free Software Foundation.
Packit b2c0d9
*/
Packit b2c0d9
Packit b2c0d9
#ifndef _CONFIG_H
Packit b2c0d9
#define _CONFIG_H
Packit b2c0d9
#include "config.h"
Packit b2c0d9
#endif
Packit b2c0d9
Packit b2c0d9
#include "glusterfs/xlator.h"
Packit b2c0d9
#include "glusterfs/defaults.h"
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_lookup_store(default_args_t *args, loc_t *loc, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_lookup_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, inode_t *inode, struct iatt *buf,
Packit b2c0d9
                      dict_t *xdata, struct iatt *postparent)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_stat_store(default_args_t *args, loc_t *loc, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_stat_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                    struct iatt *buf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret == 0)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fstat_store(default_args_t *args, fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fstat_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     struct iatt *buf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_truncate_store(default_args_t *args, loc_t *loc, off_t off, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_truncate_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, struct iatt *prebuf,
Packit b2c0d9
                        struct iatt *postbuf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (prebuf)
Packit b2c0d9
        args->prestat = *prebuf;
Packit b2c0d9
    if (postbuf)
Packit b2c0d9
        args->poststat = *postbuf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_ftruncate_store(default_args_t *args, fd_t *fd, off_t off, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_ftruncate_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                         int32_t op_errno, struct iatt *prebuf,
Packit b2c0d9
                         struct iatt *postbuf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (prebuf)
Packit b2c0d9
        args->prestat = *prebuf;
Packit b2c0d9
    if (postbuf)
Packit b2c0d9
        args->poststat = *postbuf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_access_store(default_args_t *args, loc_t *loc, int32_t mask, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->mask = mask;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_access_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readlink_store(default_args_t *args, loc_t *loc, size_t size,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->size = size;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readlink_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, const char *path, struct iatt *stbuf,
Packit b2c0d9
                        dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (path)
Packit b2c0d9
        args->buf = gf_strdup(path);
Packit b2c0d9
    if (stbuf)
Packit b2c0d9
        args->stat = *stbuf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_mknod_store(default_args_t *args, loc_t *loc, mode_t mode, dev_t rdev,
Packit b2c0d9
                 mode_t umask, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->mode = mode;
Packit b2c0d9
    args->rdev = rdev;
Packit b2c0d9
    args->umask = umask;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_mknod_cbk_store(default_args_cbk_t *args, int op_ret, int32_t op_errno,
Packit b2c0d9
                     inode_t *inode, struct iatt *buf, struct iatt *preparent,
Packit b2c0d9
                     struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_mkdir_store(default_args_t *args, loc_t *loc, mode_t mode, mode_t umask,
Packit b2c0d9
                 dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->mode = mode;
Packit b2c0d9
    args->umask = umask;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_mkdir_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     inode_t *inode, struct iatt *buf, struct iatt *preparent,
Packit b2c0d9
                     struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_unlink_store(default_args_t *args, loc_t *loc, int xflag, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->xflag = xflag;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_unlink_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, struct iatt *preparent,
Packit b2c0d9
                      struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rmdir_store(default_args_t *args, loc_t *loc, int flags, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rmdir_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     struct iatt *preparent, struct iatt *postparent,
Packit b2c0d9
                     dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_symlink_store(default_args_t *args, const char *linkname, loc_t *loc,
Packit b2c0d9
                   mode_t umask, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->linkname = gf_strdup(linkname);
Packit b2c0d9
    args->umask = umask;
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_symlink_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, inode_t *inode, struct iatt *buf,
Packit b2c0d9
                       struct iatt *preparent, struct iatt *postparent,
Packit b2c0d9
                       dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rename_store(default_args_t *args, loc_t *oldloc, loc_t *newloc,
Packit b2c0d9
                  dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, oldloc);
Packit b2c0d9
    loc_copy(&args->loc2, newloc);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rename_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, struct iatt *buf,
Packit b2c0d9
                      struct iatt *preoldparent, struct iatt *postoldparent,
Packit b2c0d9
                      struct iatt *prenewparent, struct iatt *postnewparent,
Packit b2c0d9
                      dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preoldparent)
Packit b2c0d9
        args->preparent = *preoldparent;
Packit b2c0d9
    if (postoldparent)
Packit b2c0d9
        args->postparent = *postoldparent;
Packit b2c0d9
    if (prenewparent)
Packit b2c0d9
        args->preparent2 = *prenewparent;
Packit b2c0d9
    if (postnewparent)
Packit b2c0d9
        args->postparent2 = *postnewparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_link_store(default_args_t *args, loc_t *oldloc, loc_t *newloc,
Packit b2c0d9
                dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, oldloc);
Packit b2c0d9
    loc_copy(&args->loc2, newloc);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_link_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                    inode_t *inode, struct iatt *buf, struct iatt *preparent,
Packit b2c0d9
                    struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_create_store(default_args_t *args, loc_t *loc, int32_t flags, mode_t mode,
Packit b2c0d9
                  mode_t umask, fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    args->mode = mode;
Packit b2c0d9
    args->umask = umask;
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_create_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, fd_t *fd, inode_t *inode,
Packit b2c0d9
                      struct iatt *buf, struct iatt *preparent,
Packit b2c0d9
                      struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (buf)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_open_store(default_args_t *args, loc_t *loc, int32_t flags, fd_t *fd,
Packit b2c0d9
                dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_open_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                    fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readv_store(default_args_t *args, fd_t *fd, size_t size, off_t off,
Packit b2c0d9
                 uint32_t flags, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->size = size;
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readv_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     struct iovec *vector, int32_t count, struct iatt *stbuf,
Packit b2c0d9
                     struct iobref *iobref, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret >= 0) {
Packit b2c0d9
        args->vector = iov_dup(vector, count);
Packit b2c0d9
        args->count = count;
Packit b2c0d9
        args->stat = *stbuf;
Packit b2c0d9
        args->iobref = iobref_ref(iobref);
Packit b2c0d9
    }
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_writev_store(default_args_t *args, fd_t *fd, struct iovec *vector,
Packit b2c0d9
                  int32_t count, off_t off, uint32_t flags,
Packit b2c0d9
                  struct iobref *iobref, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->vector = iov_dup(vector, count);
Packit b2c0d9
    args->count = count;
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    args->iobref = iobref_ref(iobref);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_writev_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, struct iatt *prebuf,
Packit b2c0d9
                      struct iatt *postbuf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret >= 0)
Packit b2c0d9
        args->poststat = *postbuf;
Packit b2c0d9
    if (prebuf)
Packit b2c0d9
        args->prestat = *prebuf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_put_store(default_args_t *args, loc_t *loc, mode_t mode, mode_t umask,
Packit b2c0d9
               uint32_t flags, struct iovec *vector, int32_t count, off_t off,
Packit b2c0d9
               struct iobref *iobref, dict_t *xattr, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->mode = mode;
Packit b2c0d9
    args->umask = umask;
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    args->vector = iov_dup(vector, count);
Packit b2c0d9
    args->count = count;
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    args->iobref = iobref_ref(iobref);
Packit b2c0d9
    if (xattr)
Packit b2c0d9
        args->xattr = dict_ref(xattr);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_put_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                   inode_t *inode, struct iatt *buf, struct iatt *preparent,
Packit b2c0d9
                   struct iatt *postparent, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret >= 0)
Packit b2c0d9
        args->stat = *buf;
Packit b2c0d9
    if (inode)
Packit b2c0d9
        args->inode = inode_ref(inode);
Packit b2c0d9
    if (preparent)
Packit b2c0d9
        args->preparent = *preparent;
Packit b2c0d9
    if (postparent)
Packit b2c0d9
        args->postparent = *postparent;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
int
Packit b2c0d9
args_flush_store(default_args_t *args, fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_flush_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsync_store(default_args_t *args, fd_t *fd, int32_t datasync,
Packit b2c0d9
                 dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->datasync = datasync;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsync_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     struct iatt *prebuf, struct iatt *postbuf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (prebuf)
Packit b2c0d9
        args->prestat = *prebuf;
Packit b2c0d9
    if (postbuf)
Packit b2c0d9
        args->poststat = *postbuf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_opendir_store(default_args_t *args, loc_t *loc, fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_opendir_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, fd_t *fd, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsyncdir_store(default_args_t *args, fd_t *fd, int32_t datasync,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->datasync = datasync;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
int
Packit b2c0d9
args_fsyncdir_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_statfs_store(default_args_t *args, loc_t *loc, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_statfs_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                      int32_t op_errno, struct statvfs *buf, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret == 0)
Packit b2c0d9
        args->statvfs = *buf;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_setxattr_store(default_args_t *args, loc_t *loc, dict_t *dict,
Packit b2c0d9
                    int32_t flags, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    /* TODO */
Packit b2c0d9
    if (dict)
Packit b2c0d9
        args->xattr = dict_ref(dict);
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_setxattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_getxattr_store(default_args_t *args, loc_t *loc, const char *name,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    if (name)
Packit b2c0d9
        args->name = gf_strdup(name);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_getxattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *dict, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (dict)
Packit b2c0d9
        args->xattr = dict_ref(dict);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsetxattr_store(default_args_t *args, fd_t *fd, dict_t *dict,
Packit b2c0d9
                     int32_t flags, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    if (dict)
Packit b2c0d9
        args->xattr = dict_ref(dict);
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsetxattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                         int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fgetxattr_store(default_args_t *args, fd_t *fd, const char *name,
Packit b2c0d9
                     dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    if (name)
Packit b2c0d9
        args->name = gf_strdup(name);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fgetxattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                         int32_t op_errno, dict_t *dict, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (dict)
Packit b2c0d9
        args->xattr = dict_ref(dict);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_removexattr_store(default_args_t *args, loc_t *loc, const char *name,
Packit b2c0d9
                       dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->name = gf_strdup(name);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_removexattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                           int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fremovexattr_store(default_args_t *args, fd_t *fd, const char *name,
Packit b2c0d9
                        dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
    args->name = gf_strdup(name);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fremovexattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                            int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_lk_store(default_args_t *args, fd_t *fd, int32_t cmd,
Packit b2c0d9
              struct gf_flock *lock, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->cmd = cmd;
Packit b2c0d9
    args->lock = *lock;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_lk_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                  struct gf_flock *lock, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret == 0)
Packit b2c0d9
        args->lock = *lock;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_inodelk_store(default_args_t *args, const char *volume, loc_t *loc,
Packit b2c0d9
                   int32_t cmd, struct gf_flock *lock, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (volume)
Packit b2c0d9
        args->volume = gf_strdup(volume);
Packit b2c0d9
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->cmd = cmd;
Packit b2c0d9
    args->lock = *lock;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_inodelk_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_finodelk_store(default_args_t *args, const char *volume, fd_t *fd,
Packit b2c0d9
                    int32_t cmd, struct gf_flock *lock, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    if (volume)
Packit b2c0d9
        args->volume = gf_strdup(volume);
Packit b2c0d9
Packit b2c0d9
    args->cmd = cmd;
Packit b2c0d9
    args->lock = *lock;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_finodelk_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_entrylk_store(default_args_t *args, const char *volume, loc_t *loc,
Packit b2c0d9
                   const char *name, entrylk_cmd cmd, entrylk_type type,
Packit b2c0d9
                   dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (volume)
Packit b2c0d9
        args->volume = gf_strdup(volume);
Packit b2c0d9
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    args->entrylkcmd = cmd;
Packit b2c0d9
    args->entrylktype = type;
Packit b2c0d9
Packit b2c0d9
    if (name)
Packit b2c0d9
        args->name = gf_strdup(name);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_entrylk_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fentrylk_store(default_args_t *args, const char *volume, fd_t *fd,
Packit b2c0d9
                    const char *name, entrylk_cmd cmd, entrylk_type type,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (volume)
Packit b2c0d9
        args->volume = gf_strdup(volume);
Packit b2c0d9
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
    args->entrylkcmd = cmd;
Packit b2c0d9
    args->entrylktype = type;
Packit b2c0d9
    if (name)
Packit b2c0d9
        args->name = gf_strdup(name);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fentrylk_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readdirp_store(default_args_t *args, fd_t *fd, size_t size, off_t off,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
    args->size = size;
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readdirp_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, gf_dirent_t *entries, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    gf_dirent_t *stub_entry = NULL, *entry = NULL;
Packit b2c0d9
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret > 0) {
Packit b2c0d9
        list_for_each_entry(entry, &entries->list, list)
Packit b2c0d9
        {
Packit b2c0d9
            stub_entry = gf_dirent_for_name(entry->d_name);
Packit b2c0d9
            if (!stub_entry)
Packit b2c0d9
                goto out;
Packit b2c0d9
            stub_entry->d_off = entry->d_off;
Packit b2c0d9
            stub_entry->d_ino = entry->d_ino;
Packit b2c0d9
            stub_entry->d_stat = entry->d_stat;
Packit b2c0d9
            stub_entry->d_type = entry->d_type;
Packit b2c0d9
            if (entry->inode)
Packit b2c0d9
                stub_entry->inode = inode_ref(entry->inode);
Packit b2c0d9
            if (entry->dict)
Packit b2c0d9
                stub_entry->dict = dict_ref(entry->dict);
Packit b2c0d9
            list_add_tail(&stub_entry->list, &args->entries.list);
Packit b2c0d9
        }
Packit b2c0d9
    }
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
out:
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readdir_store(default_args_t *args, fd_t *fd, size_t size, off_t off,
Packit b2c0d9
                   dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
    args->size = size;
Packit b2c0d9
    args->offset = off;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_readdir_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, gf_dirent_t *entries, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    gf_dirent_t *stub_entry = NULL, *entry = NULL;
Packit b2c0d9
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret > 0) {
Packit b2c0d9
        list_for_each_entry(entry, &entries->list, list)
Packit b2c0d9
        {
Packit b2c0d9
            stub_entry = gf_dirent_for_name(entry->d_name);
Packit b2c0d9
            if (!stub_entry)
Packit b2c0d9
                goto out;
Packit b2c0d9
            stub_entry->d_off = entry->d_off;
Packit b2c0d9
            stub_entry->d_ino = entry->d_ino;
Packit b2c0d9
            stub_entry->d_type = entry->d_type;
Packit b2c0d9
            list_add_tail(&stub_entry->list, &args->entries.list);
Packit b2c0d9
        }
Packit b2c0d9
    }
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
out:
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rchecksum_store(default_args_t *args, fd_t *fd, off_t offset, int32_t len,
Packit b2c0d9
                     dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    args->size = len;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_rchecksum_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                         int32_t op_errno, uint32_t weak_checksum,
Packit b2c0d9
                         uint8_t *strong_checksum, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret >= 0) {
Packit b2c0d9
        args->weak_checksum = weak_checksum;
Packit b2c0d9
        args->strong_checksum = memdup(strong_checksum, SHA256_DIGEST_LENGTH);
Packit b2c0d9
    }
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_xattrop_store(default_args_t *args, loc_t *loc, gf_xattrop_flags_t optype,
Packit b2c0d9
                   dict_t *xattr, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    args->optype = optype;
Packit b2c0d9
    args->xattr = dict_ref(xattr);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_xattrop_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, dict_t *xattr, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xattr)
Packit b2c0d9
        args->xattr = dict_ref(xattr);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fxattrop_store(default_args_t *args, fd_t *fd, gf_xattrop_flags_t optype,
Packit b2c0d9
                    dict_t *xattr, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->optype = optype;
Packit b2c0d9
    args->xattr = dict_ref(xattr);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fxattrop_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, dict_t *xattr, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xattr)
Packit b2c0d9
        args->xattr = dict_ref(xattr);
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_setattr_store(default_args_t *args, loc_t *loc, struct iatt *stbuf,
Packit b2c0d9
                   int32_t valid, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    if (stbuf)
Packit b2c0d9
        args->stat = *stbuf;
Packit b2c0d9
Packit b2c0d9
    args->valid = valid;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_setattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, struct iatt *statpre,
Packit b2c0d9
                       struct iatt *statpost, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (statpre)
Packit b2c0d9
        args->prestat = *statpre;
Packit b2c0d9
    if (statpost)
Packit b2c0d9
        args->poststat = *statpost;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fsetattr_store(default_args_t *args, fd_t *fd, struct iatt *stbuf,
Packit b2c0d9
                    int32_t valid, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    if (stbuf)
Packit b2c0d9
        args->stat = *stbuf;
Packit b2c0d9
Packit b2c0d9
    args->valid = valid;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
int
Packit b2c0d9
args_fsetattr_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, struct iatt *statpre,
Packit b2c0d9
                        struct iatt *statpost, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (statpre)
Packit b2c0d9
        args->prestat = *statpre;
Packit b2c0d9
    if (statpost)
Packit b2c0d9
        args->poststat = *statpost;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fallocate_store(default_args_t *args, fd_t *fd, int32_t mode, off_t offset,
Packit b2c0d9
                     size_t len, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->flags = mode;
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    args->size = len;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_fallocate_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                         int32_t op_errno, struct iatt *statpre,
Packit b2c0d9
                         struct iatt *statpost, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (statpre)
Packit b2c0d9
        args->prestat = *statpre;
Packit b2c0d9
    if (statpost)
Packit b2c0d9
        args->poststat = *statpost;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_discard_store(default_args_t *args, fd_t *fd, off_t offset, size_t len,
Packit b2c0d9
                   dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    args->size = len;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_discard_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                       int32_t op_errno, struct iatt *statpre,
Packit b2c0d9
                       struct iatt *statpost, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (statpre)
Packit b2c0d9
        args->prestat = *statpre;
Packit b2c0d9
    if (statpost)
Packit b2c0d9
        args->poststat = *statpost;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_zerofill_store(default_args_t *args, fd_t *fd, off_t offset, off_t len,
Packit b2c0d9
                    dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    args->size = len;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_zerofill_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                        int32_t op_errno, struct iatt *statpre,
Packit b2c0d9
                        struct iatt *statpost, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (statpre)
Packit b2c0d9
        args->prestat = *statpre;
Packit b2c0d9
    if (statpost)
Packit b2c0d9
        args->poststat = *statpost;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_ipc_store(default_args_t *args, int32_t op, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->cmd = op;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_ipc_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                   dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_seek_store(default_args_t *args, fd_t *fd, off_t offset,
Packit b2c0d9
                gf_seek_what_t what, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd)
Packit b2c0d9
        args->fd = fd_ref(fd);
Packit b2c0d9
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    args->what = what;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_seek_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                    off_t offset, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    args->offset = offset;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_getactivelk_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                           int32_t op_errno, lock_migration_info_t *locklist,
Packit b2c0d9
                           dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    lock_migration_info_t *stub_entry = NULL, *entry = NULL;
Packit b2c0d9
    int ret = 0;
Packit b2c0d9
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    /*op_ret needs to carry the number of locks present in the list*/
Packit b2c0d9
    if (op_ret > 0) {
Packit b2c0d9
        list_for_each_entry(entry, &locklist->list, list)
Packit b2c0d9
        {
Packit b2c0d9
            stub_entry = GF_CALLOC(1, sizeof(*stub_entry), gf_common_mt_char);
Packit b2c0d9
            if (!stub_entry) {
Packit b2c0d9
                ret = -1;
Packit b2c0d9
                goto out;
Packit b2c0d9
            }
Packit b2c0d9
Packit b2c0d9
            INIT_LIST_HEAD(&stub_entry->list);
Packit b2c0d9
            stub_entry->flock = entry->flock;
Packit b2c0d9
Packit b2c0d9
            stub_entry->lk_flags = entry->lk_flags;
Packit b2c0d9
Packit b2c0d9
            stub_entry->client_uid = gf_strdup(entry->client_uid);
Packit b2c0d9
            if (!stub_entry->client_uid) {
Packit b2c0d9
                GF_FREE(stub_entry);
Packit b2c0d9
                ret = -1;
Packit b2c0d9
                goto out;
Packit b2c0d9
            }
Packit b2c0d9
Packit b2c0d9
            list_add_tail(&stub_entry->list, &args->locklist.list);
Packit b2c0d9
        }
Packit b2c0d9
    }
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
out:
Packit b2c0d9
    return ret;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_setactivelk_store(default_args_t *args, loc_t *loc,
Packit b2c0d9
                       lock_migration_info_t *locklist, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    lock_migration_info_t *stub_entry = NULL, *entry = NULL;
Packit b2c0d9
    int ret = 0;
Packit b2c0d9
Packit b2c0d9
    list_for_each_entry(entry, &locklist->list, list)
Packit b2c0d9
    {
Packit b2c0d9
        stub_entry = GF_CALLOC(1, sizeof(*stub_entry), gf_common_mt_lock_mig);
Packit b2c0d9
        if (!stub_entry) {
Packit b2c0d9
            ret = -1;
Packit b2c0d9
            goto out;
Packit b2c0d9
        }
Packit b2c0d9
Packit b2c0d9
        INIT_LIST_HEAD(&stub_entry->list);
Packit b2c0d9
        stub_entry->flock = entry->flock;
Packit b2c0d9
Packit b2c0d9
        stub_entry->lk_flags = entry->lk_flags;
Packit b2c0d9
Packit b2c0d9
        stub_entry->client_uid = gf_strdup(entry->client_uid);
Packit b2c0d9
        if (!stub_entry->client_uid) {
Packit b2c0d9
            GF_FREE(stub_entry);
Packit b2c0d9
            ret = -1;
Packit b2c0d9
            goto out;
Packit b2c0d9
        }
Packit b2c0d9
Packit b2c0d9
        list_add_tail(&stub_entry->list, &args->locklist.list);
Packit b2c0d9
    }
Packit b2c0d9
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
out:
Packit b2c0d9
    return ret;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
void
Packit b2c0d9
args_lease_store(default_args_t *args, loc_t *loc, struct gf_lease *lease,
Packit b2c0d9
                 dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->lease = *lease;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
void
Packit b2c0d9
args_lease_cbk_store(default_args_cbk_t *args, int32_t op_ret, int32_t op_errno,
Packit b2c0d9
                     struct gf_lease *lease, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret == 0)
Packit b2c0d9
        args->lease = *lease;
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_icreate_store(default_args_t *args, loc_t *loc, mode_t mode, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
    args->mode = mode;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_namelink_store(default_args_t *args, loc_t *loc, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    loc_copy(&args->loc, loc);
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_copy_file_range_store(default_args_t *args, fd_t *fd_in, off64_t off_in,
Packit b2c0d9
                           fd_t *fd_out, off64_t off_out, size_t len,
Packit b2c0d9
                           uint32_t flags, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    if (fd_in)
Packit b2c0d9
        args->fd = fd_ref(fd_in);
Packit b2c0d9
    if (fd_out)
Packit b2c0d9
        args->fd_dst = fd_ref(fd_out);
Packit b2c0d9
    args->size = len;
Packit b2c0d9
    args->off_in = off_in;
Packit b2c0d9
    args->off_out = off_out;
Packit b2c0d9
    args->flags = flags;
Packit b2c0d9
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
int
Packit b2c0d9
args_copy_file_range_cbk_store(default_args_cbk_t *args, int32_t op_ret,
Packit b2c0d9
                               int32_t op_errno, struct iatt *stbuf,
Packit b2c0d9
                               struct iatt *prebuf_dst,
Packit b2c0d9
                               struct iatt *postbuf_dst, dict_t *xdata)
Packit b2c0d9
{
Packit b2c0d9
    args->op_ret = op_ret;
Packit b2c0d9
    args->op_errno = op_errno;
Packit b2c0d9
    if (op_ret >= 0) {
Packit b2c0d9
        if (postbuf_dst)
Packit b2c0d9
            args->poststat = *postbuf_dst;
Packit b2c0d9
        if (prebuf_dst)
Packit b2c0d9
            args->prestat = *prebuf_dst;
Packit b2c0d9
        if (stbuf)
Packit b2c0d9
            args->stat = *stbuf;
Packit b2c0d9
    }
Packit b2c0d9
    if (xdata)
Packit b2c0d9
        args->xdata = dict_ref(xdata);
Packit b2c0d9
Packit b2c0d9
    return 0;
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
void
Packit b2c0d9
args_cbk_wipe(default_args_cbk_t *args_cbk)
Packit b2c0d9
{
Packit b2c0d9
    if (!args_cbk)
Packit b2c0d9
        return;
Packit b2c0d9
    if (args_cbk->inode)
Packit b2c0d9
        inode_unref(args_cbk->inode);
Packit b2c0d9
Packit b2c0d9
    GF_FREE((char *)args_cbk->buf);
Packit b2c0d9
Packit b2c0d9
    GF_FREE(args_cbk->vector);
Packit b2c0d9
Packit b2c0d9
    if (args_cbk->iobref)
Packit b2c0d9
        iobref_unref(args_cbk->iobref);
Packit b2c0d9
Packit b2c0d9
    if (args_cbk->fd)
Packit b2c0d9
        fd_unref(args_cbk->fd);
Packit b2c0d9
Packit b2c0d9
    if (args_cbk->xattr)
Packit b2c0d9
        dict_unref(args_cbk->xattr);
Packit b2c0d9
Packit b2c0d9
    GF_FREE(args_cbk->strong_checksum);
Packit b2c0d9
Packit b2c0d9
    if (args_cbk->xdata)
Packit b2c0d9
        dict_unref(args_cbk->xdata);
Packit b2c0d9
Packit b2c0d9
    if (!list_empty(&args_cbk->entries.list))
Packit b2c0d9
        gf_dirent_free(&args_cbk->entries);
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
void
Packit b2c0d9
args_wipe(default_args_t *args)
Packit b2c0d9
{
Packit b2c0d9
    if (!args)
Packit b2c0d9
        return;
Packit b2c0d9
Packit b2c0d9
    loc_wipe(&args->loc);
Packit b2c0d9
Packit b2c0d9
    loc_wipe(&args->loc2);
Packit b2c0d9
Packit b2c0d9
    if (args->fd)
Packit b2c0d9
        fd_unref(args->fd);
Packit b2c0d9
Packit b2c0d9
    GF_FREE((char *)args->linkname);
Packit b2c0d9
Packit b2c0d9
    GF_FREE(args->vector);
Packit b2c0d9
Packit b2c0d9
    if (args->iobref)
Packit b2c0d9
        iobref_unref(args->iobref);
Packit b2c0d9
Packit b2c0d9
    if (args->xattr)
Packit b2c0d9
        dict_unref(args->xattr);
Packit b2c0d9
Packit b2c0d9
    if (args->xdata)
Packit b2c0d9
        dict_unref(args->xdata);
Packit b2c0d9
Packit b2c0d9
    GF_FREE((char *)args->name);
Packit b2c0d9
Packit b2c0d9
    GF_FREE((char *)args->volume);
Packit b2c0d9
}
Packit b2c0d9
Packit b2c0d9
void
Packit b2c0d9
args_cbk_init(default_args_cbk_t *args_cbk)
Packit b2c0d9
{
Packit b2c0d9
    INIT_LIST_HEAD(&args_cbk->entries);
Packit b2c0d9
}