diff options
author | Ravishankar N <ravishankar@redhat.com> | 2014-04-03 11:47:28 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2014-04-03 21:32:52 -0700 |
commit | 52aac0ae61913c6c6997f27710b6bfcf8ca73bce (patch) | |
tree | 2d80239535469984f9c731915b2cdcdbec0d2125 /xlators/cluster/afr-v1/src/pump.h | |
parent | 8596ecba074081d7843a6bea2299951db48aa3b5 (diff) |
cluster/afr: Add the non-refactored afr code into the treedevelopment
Reverted all afr commits " 6d37392 - cluster/afr: refactor <Anand Avati>" and
upwards. The resulting afr code was moved to afr-v1 folder, resulting in
the following changes:
modified: libglusterfs/src/gf-dirent.c
modified: libglusterfs/src/glusterfs.h
modified: libglusterfs/src/xlator.c
modified: tests/basic/pump.t
modified: tests/bugs/859927/repl.t
modified: tests/bugs/bug-1015990-rep.t
modified: tests/bugs/bug-1035576.t
modified: tests/bugs/bug-1037501.t
modified: tests/bugs/bug-1058797.t
modified: tests/bugs/bug-767585-gfid.t
modified: tests/bugs/bug-802417.t
modified: tests/bugs/bug-830665.t
modified: tests/bugs/bug-853690.t
modified: tests/bugs/bug-865825.t
modified: tests/bugs/bug-873962.t
modified: tests/bugs/bug-888174.t
modified: tests/bugs/bug-906646.t
modified: tests/bugs/bug-913051.t
modified: tests/bugs/bug-913544.t
modified: tests/bugs/bug-918437-sh-mtime.t
modified: tests/bugs/bug-977797.t
modified: tests/volume.rc
new file: xlators/cluster/afr-v1/Makefile.am
new file: xlators/cluster/afr-v1/src/Makefile.am
new file: xlators/cluster/afr-v1/src/afr-common.c
new file: xlators/cluster/afr-v1/src/afr-dir-read.c
new file: xlators/cluster/afr-v1/src/afr-dir-read.h
new file: xlators/cluster/afr-v1/src/afr-dir-write.c
new file: xlators/cluster/afr-v1/src/afr-dir-write.h
new file: xlators/cluster/afr-v1/src/afr-inode-read.c
new file: xlators/cluster/afr-v1/src/afr-inode-read.h
new file: xlators/cluster/afr-v1/src/afr-inode-write.c
new file: xlators/cluster/afr-v1/src/afr-inode-write.h
new file: xlators/cluster/afr-v1/src/afr-lk-common.c
new file: xlators/cluster/afr-v1/src/afr-mem-types.h
new file: xlators/cluster/afr-v1/src/afr-open.c
new file: xlators/cluster/afr-v1/src/afr-self-heal-algorithm.c
new file: xlators/cluster/afr-v1/src/afr-self-heal-algorithm.h
new file: xlators/cluster/afr-v1/src/afr-self-heal-common.c
new file: xlators/cluster/afr-v1/src/afr-self-heal-common.h
new file: xlators/cluster/afr-v1/src/afr-self-heal-data.c
new file: xlators/cluster/afr-v1/src/afr-self-heal-entry.c
new file: xlators/cluster/afr-v1/src/afr-self-heal-metadata.c
new file: xlators/cluster/afr-v1/src/afr-self-heal.h
new file: xlators/cluster/afr-v1/src/afr-self-heald.c
new file: xlators/cluster/afr-v1/src/afr-self-heald.h
new file: xlators/cluster/afr-v1/src/afr-transaction.c
new file: xlators/cluster/afr-v1/src/afr-transaction.h
new file: xlators/cluster/afr-v1/src/afr.c
new file: xlators/cluster/afr-v1/src/afr.h
new file: xlators/cluster/afr-v1/src/pump.c
new file: xlators/cluster/afr-v1/src/pump.h
modified: xlators/cluster/dht/src/dht-common.c
modified: xlators/cluster/stripe/src/stripe.c
modified: xlators/features/index/src/index.c
modified: xlators/features/index/src/index.h
Also making changes to compile cluster/afr-v1 instead of cluster/afr :
modified: configure.ac
modified: xlators/cluster/Makefile.am
Change-Id: I3e33ac361e381f5475d1a58ea938d2676f6d5a2f
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/7388
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/afr-v1/src/pump.h')
-rw-r--r-- | xlators/cluster/afr-v1/src/pump.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/xlators/cluster/afr-v1/src/pump.h b/xlators/cluster/afr-v1/src/pump.h new file mode 100644 index 000000000..bc4c31a78 --- /dev/null +++ b/xlators/cluster/afr-v1/src/pump.h @@ -0,0 +1,78 @@ +/* + Copyright (c) 2008-2012 Red Hat, Inc. <http://www.redhat.com> + 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 __PUMP_H__ +#define __PUMP_H__ + +#include "syncop.h" + +/* FIXME: Needs to be defined in a common file */ +#define CLIENT_CMD_CONNECT "trusted.glusterfs.client-connect" +#define CLIENT_CMD_DISCONNECT "trusted.glusterfs.client-disconnect" + +#define PUMP_SOURCE_COMPLETE "trusted.glusterfs.pump-source-complete" +#define PUMP_SINK_COMPLETE "trusted.glusterfs.pump-sink-complete" + +#define PUMP_PATH "trusted.glusterfs.pump-path" + +#define PUMP_SOURCE_CHILD(xl) (xl->children->xlator) +#define PUMP_SINK_CHILD(xl) (xl->children->next->xlator) + +typedef enum { + PUMP_STATE_RUNNING, /* Pump is running and migrating files */ + PUMP_STATE_RESUME, /* Pump is resuming from a previous pause */ + PUMP_STATE_PAUSE, /* Pump is paused */ + PUMP_STATE_ABORT, /* Pump is aborted */ + PUMP_STATE_COMMIT, /* Pump is commited */ +} pump_state_t; + +typedef struct _pump_private { + struct syncenv *env; /* The env pointer to the pump synctask */ + char *resume_path; /* path to resume from the last pause */ + gf_lock_t resume_path_lock; /* Synchronize resume_path changes */ + gf_lock_t pump_state_lock; /* Synchronize pump_state changes */ + pump_state_t pump_state; /* State of pump */ + char current_file[PATH_MAX]; /* Current file being pumped */ + uint64_t number_files_pumped; /* Number of files pumped */ + gf_boolean_t pump_finished; /* Boolean to indicate pump termination */ + char pump_start_pending; /* Boolean to mark start pending until + CHILD_UP */ + call_stub_t *cleaner; +} pump_private_t; + +void +build_root_loc (inode_t *inode, loc_t *loc); +int pump_start (call_frame_t *frame, xlator_t *this); + +gf_boolean_t +pump_command_start (xlator_t *this, dict_t *dict); + +int +pump_execute_start (call_frame_t *frame, xlator_t *this); + +gf_boolean_t +pump_command_pause (xlator_t *this, dict_t *dict); + +int +pump_execute_pause (call_frame_t *frame, xlator_t *this); + +gf_boolean_t +pump_command_abort (xlator_t *this, dict_t *dict); + +int +pump_execute_abort (call_frame_t *frame, xlator_t *this); + +gf_boolean_t +pump_command_status (xlator_t *this, dict_t *dict); + +int +pump_execute_status (call_frame_t *frame, xlator_t *this); + +#endif /* __PUMP_H__ */ |