summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/ec/src/ec-data.h
blob: c8a74ffe1ed694b7b87e7d096980316fb6e568e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
  Copyright (c) 2012-2014 DataLab, s.l. <http://www.datalab.es>
  This file is part of GlusterFS.

  This file is licensed to you under your choice of the GNU Lesser
  General Public License, version 3 or any later version (LGPLv3 or
  later), or the GNU General Public License, version 2 (GPLv2), in all
  cases as published by the Free Software Foundation.
*/

#ifndef __EC_DATA_H__
#define __EC_DATA_H__

#include "ec-types.h"

ec_cbk_data_t *
ec_cbk_data_allocate(call_frame_t *frame, xlator_t *this, ec_fop_data_t *fop,
                     int32_t id, int32_t idx, int32_t op_ret, int32_t op_errno);
ec_fop_data_t *
ec_fop_data_allocate(call_frame_t *frame, xlator_t *this, int32_t id,
                     uint32_t flags, uintptr_t target, uint32_t fop_flags,
                     ec_wind_f wind, ec_handler_f handler, ec_cbk_t cbks,
                     void *data);
void
ec_fop_data_acquire(ec_fop_data_t *fop);
void
ec_fop_data_release(ec_fop_data_t *fop);

void
ec_fop_cleanup(ec_fop_data_t *fop);

void
ec_pending_fops_completed(ec_t *ec);

#endif /* __EC_DATA_H__ */