|
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 |
}
|