Blame xlators/cluster/ec/src/ec-fops.h

Packit Service e080da
/*
Packit Service e080da
  Copyright (c) 2012-2014 DataLab, s.l. <http://www.datalab.es>
Packit Service e080da
  This file is part of GlusterFS.
Packit Service e080da
Packit Service e080da
  This file is licensed to you under your choice of the GNU Lesser
Packit Service e080da
  General Public License, version 3 or any later version (LGPLv3 or
Packit Service e080da
  later), or the GNU General Public License, version 2 (GPLv2), in all
Packit Service e080da
  cases as published by the Free Software Foundation.
Packit Service e080da
*/
Packit Service e080da
Packit Service e080da
#ifndef __EC_FOPS_H__
Packit Service e080da
#define __EC_FOPS_H__
Packit Service e080da
Packit Service e080da
#include <glusterfs/xlator.h>
Packit Service e080da
Packit Service e080da
#include "ec-types.h"
Packit Service e080da
#include "ec-common.h"
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_access(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_access_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
          int32_t mask, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_create(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_create_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
          int32_t flags, mode_t mode, mode_t umask, fd_t *fd, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_entrylk(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_entrylk_cbk_t func, void *data,
Packit Service e080da
           const char *volume, loc_t *loc, const char *basename,
Packit Service e080da
           entrylk_cmd cmd, entrylk_type type, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fentrylk(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_fentrylk_cbk_t func, void *data,
Packit Service e080da
            const char *volume, fd_t *fd, const char *basename, entrylk_cmd cmd,
Packit Service e080da
            entrylk_type type, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_flush(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_flush_cbk_t func, void *data, fd_t *fd, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_fsync(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_fsync_cbk_t func, void *data, fd_t *fd, int32_t datasync,
Packit Service 35f350
         dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fsyncdir(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_fsyncdir_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
            int32_t datasync, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_getxattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_getxattr_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
            const char *name, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fgetxattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
             int32_t minimum, fop_fgetxattr_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
             const char *name, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_heal(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
        fop_heal_cbk_t func, void *data, loc_t *loc, int32_t partial,
Packit Service 35f350
        dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_fheal(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_fheal_cbk_t func, void *data, fd_t *fd, int32_t partial,
Packit Service 35f350
         dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_inodelk(call_frame_t *frame, xlator_t *this, gf_lkowner_t *owner,
Packit Service 35f350
           uintptr_t target, int32_t minimum, fop_inodelk_cbk_t func,
Packit Service e080da
           void *data, const char *volume, loc_t *loc, int32_t cmd,
Packit Service e080da
           struct gf_flock *flock, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_finodelk(call_frame_t *frame, xlator_t *this, gf_lkowner_t *owner,
Packit Service 35f350
            uintptr_t target, int32_t minimum, fop_finodelk_cbk_t func,
Packit Service e080da
            void *data, const char *volume, fd_t *fd, int32_t cmd,
Packit Service e080da
            struct gf_flock *flock, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_link(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
        fop_link_cbk_t func, void *data, loc_t *oldloc, loc_t *newloc,
Packit Service 35f350
        dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_lk(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service e080da
      fop_lk_cbk_t func, void *data, fd_t *fd, int32_t cmd,
Packit Service e080da
      struct gf_flock *flock, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_lookup(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_lookup_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
          dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_mkdir(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_mkdir_cbk_t func, void *data, loc_t *loc, mode_t mode,
Packit Service 35f350
         mode_t umask, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_mknod(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_mknod_cbk_t func, void *data, loc_t *loc, mode_t mode, dev_t rdev,
Packit Service 35f350
         mode_t umask, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_open(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
        fop_open_cbk_t func, void *data, loc_t *loc, int32_t flags, fd_t *fd,
Packit Service 35f350
        dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_opendir(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_opendir_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
           fd_t *fd, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_readdir(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_readdir_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
           size_t size, off_t offset, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_readdirp(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_readdirp_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
            size_t size, off_t offset, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_readlink(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_readlink_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
            size_t size, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_readv(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_readv_cbk_t func, void *data, fd_t *fd, size_t size, off_t offset,
Packit Service 35f350
         uint32_t flags, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_removexattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
               int32_t minimum, fop_removexattr_cbk_t func, void *data,
Packit Service e080da
               loc_t *loc, const char *name, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fremovexattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
                int32_t minimum, fop_fremovexattr_cbk_t func, void *data,
Packit Service e080da
                fd_t *fd, const char *name, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_rename(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_rename_cbk_t func, void *data, loc_t *oldloc,
Packit Service e080da
          loc_t *newloc, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_rmdir(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_rmdir_cbk_t func, void *data, loc_t *loc, int xflags,
Packit Service 35f350
         dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_setattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_setattr_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
           struct iatt *stbuf, int32_t valid, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fsetattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_fsetattr_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
            struct iatt *stbuf, int32_t valid, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_setxattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_setxattr_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
            dict_t *dict, int32_t flags, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fsetxattr(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
             int32_t minimum, fop_fsetxattr_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
             dict_t *dict, int32_t flags, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_stat(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
        fop_stat_cbk_t func, void *data, loc_t *loc, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_fstat(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
         fop_fstat_cbk_t func, void *data, fd_t *fd, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_statfs(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_statfs_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
          dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_symlink(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_symlink_cbk_t func, void *data,
Packit Service e080da
           const char *linkname, loc_t *loc, mode_t umask, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fallocate(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
             int32_t minimum, fop_fallocate_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
             int32_t mode, off_t offset, size_t len, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_discard(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_discard_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
           off_t offset, size_t len, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_truncate(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_truncate_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
            off_t offset, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_ftruncate(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
             int32_t minimum, fop_ftruncate_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
             off_t offset, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_unlink(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_unlink_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
          int xflags, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_writev(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
          int32_t minimum, fop_writev_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
          struct iovec *vector, int32_t count, off_t offset, uint32_t flags,
Packit Service e080da
          struct iobref *iobref, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_xattrop(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
           int32_t minimum, fop_xattrop_cbk_t func, void *data, loc_t *loc,
Packit Service e080da
           gf_xattrop_flags_t optype, dict_t *xattr, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service e080da
ec_fxattrop(call_frame_t *frame, xlator_t *this, uintptr_t target,
Packit Service 35f350
            int32_t minimum, fop_fxattrop_cbk_t func, void *data, fd_t *fd,
Packit Service e080da
            gf_xattrop_flags_t optype, dict_t *xattr, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_seek(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
        fop_seek_cbk_t func, void *data, fd_t *fd, off_t offset,
Packit Service 35f350
        gf_seek_what_t what, dict_t *xdata);
Packit Service e080da
Packit Service e080da
void
Packit Service 35f350
ec_ipc(call_frame_t *frame, xlator_t *this, uintptr_t target, int32_t minimum,
Packit Service 35f350
       fop_ipc_cbk_t func, void *data, int32_t op, dict_t *xdata);
Packit Service e080da
Packit Service e080da
#endif /* __EC_FOPS_H__ */