summaryrefslogtreecommitdiffstats
path: root/xlators/performance/quick-read/src/quick-read.h
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2009-09-14 13:25:25 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-09-14 23:33:08 -0700
commit80969eaf4e2ef58c051d6679fb678172b26022bb (patch)
treec7cf3b5e246e6f12fb82a0f5e4306c38277a07bf /xlators/performance/quick-read/src/quick-read.h
parent62d30db76e118cb244c35b6acc15005474d77750 (diff)
backporting quick read to 2.0
Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 238 (Backport quick-read to 2.0 release) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=238
Diffstat (limited to 'xlators/performance/quick-read/src/quick-read.h')
-rw-r--r--xlators/performance/quick-read/src/quick-read.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/xlators/performance/quick-read/src/quick-read.h b/xlators/performance/quick-read/src/quick-read.h
new file mode 100644
index 00000000000..c49ab167b92
--- /dev/null
+++ b/xlators/performance/quick-read/src/quick-read.h
@@ -0,0 +1,80 @@
+/*
+ Copyright (c) 2009-2010 Z RESEARCH, Inc. <http://www.zresearch.com>
+ This file is part of GlusterFS.
+
+ GlusterFS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License,
+ or (at your option) any later version.
+
+ GlusterFS is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __QUICK_READ_H
+#define __QUICK_READ_H
+
+#ifndef _CONFIG_H
+#define _CONFIG_H
+#include "config.h"
+#endif
+
+#include "glusterfs.h"
+#include "logging.h"
+#include "dict.h"
+#include "xlator.h"
+#include "list.h"
+#include "compat.h"
+#include "compat-errno.h"
+#include "common-utils.h"
+#include "call-stub.h"
+#include "defaults.h"
+#include <libgen.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#define GLUSTERFS_CONTENT_KEY "glusterfs.content"
+
+struct qr_fd_ctx {
+ char opened;
+ char open_in_transit;
+ char *path;
+ int flags;
+ struct list_head waiting_ops;
+ gf_lock_t lock;
+};
+typedef struct qr_fd_ctx qr_fd_ctx_t;
+
+struct qr_local {
+ char is_open;
+ fd_t *fd;
+ int open_flags;
+ int32_t op_ret;
+ int32_t op_errno;
+ call_stub_t *stub;
+};
+typedef struct qr_local qr_local_t;
+
+struct qr_file {
+ dict_t *xattr;
+ struct stat stbuf;
+ struct timeval tv;
+ gf_lock_t lock;
+};
+typedef struct qr_file qr_file_t;
+
+struct qr_conf {
+ uint64_t max_file_size;
+ int32_t cache_timeout;
+};
+typedef struct qr_conf qr_conf_t;
+
+#endif /* #ifndef __QUICK_READ_H */