summaryrefslogtreecommitdiffstats
path: root/database/engine/datafile.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:44 +0000
commit836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch)
tree1604da8f482d02effa033c94a84be42bc0c848c3 /database/engine/datafile.h
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz
netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'database/engine/datafile.h')
-rw-r--r--database/engine/datafile.h88
1 files changed, 0 insertions, 88 deletions
diff --git a/database/engine/datafile.h b/database/engine/datafile.h
deleted file mode 100644
index 569f1b0a2..000000000
--- a/database/engine/datafile.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#ifndef NETDATA_DATAFILE_H
-#define NETDATA_DATAFILE_H
-
-#include "rrdengine.h"
-
-/* Forward declarations */
-struct rrdengine_datafile;
-struct rrdengine_journalfile;
-struct rrdengine_instance;
-
-#define DATAFILE_PREFIX "datafile-"
-#define DATAFILE_EXTENSION ".ndf"
-
-#ifndef MAX_DATAFILE_SIZE
-#define MAX_DATAFILE_SIZE (512LU * 1024LU * 1024LU)
-#endif
-#if MIN_DATAFILE_SIZE > MAX_DATAFILE_SIZE
-#error MIN_DATAFILE_SIZE > MAX_DATAFILE_SIZE
-#endif
-
-#define MIN_DATAFILE_SIZE (4LU * 1024LU * 1024LU)
-#define MAX_DATAFILES (65536 * 4) /* Supports up to 64TiB for now */
-#define TARGET_DATAFILES (50)
-
-typedef enum __attribute__ ((__packed__)) {
- DATAFILE_ACQUIRE_OPEN_CACHE = 0,
- DATAFILE_ACQUIRE_PAGE_DETAILS,
- DATAFILE_ACQUIRE_RETENTION,
-
- // terminator
- DATAFILE_ACQUIRE_MAX,
-} DATAFILE_ACQUIRE_REASONS;
-
-/* only one event loop is supported for now */
-struct rrdengine_datafile {
- unsigned tier;
- unsigned fileno;
- uv_file file;
- uint64_t pos;
- uv_rwlock_t extent_rwlock;
- struct rrdengine_instance *ctx;
- struct rrdengine_journalfile *journalfile;
- struct rrdengine_datafile *prev;
- struct rrdengine_datafile *next;
-
- struct {
- SPINLOCK spinlock;
- bool populated;
- } populate_mrg;
-
- struct {
- SPINLOCK spinlock;
- size_t running;
- size_t flushed_to_open_running;
- } writers;
-
- struct {
- SPINLOCK spinlock;
- unsigned lockers;
- unsigned lockers_by_reason[DATAFILE_ACQUIRE_MAX];
- bool available;
- time_t time_to_evict;
- } users;
-
- struct {
- SPINLOCK spinlock;
- Pvoid_t pending_epdl_by_extent_offset_judyL;
- } extent_queries;
-};
-
-bool datafile_acquire(struct rrdengine_datafile *df, DATAFILE_ACQUIRE_REASONS reason);
-void datafile_release(struct rrdengine_datafile *df, DATAFILE_ACQUIRE_REASONS reason);
-bool datafile_acquire_for_deletion(struct rrdengine_datafile *df);
-
-void datafile_list_insert(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile, bool having_lock);
-void datafile_list_delete_unsafe(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile);
-void generate_datafilepath(struct rrdengine_datafile *datafile, char *str, size_t maxlen);
-int close_data_file(struct rrdengine_datafile *datafile);
-int unlink_data_file(struct rrdengine_datafile *datafile);
-int destroy_data_file_unsafe(struct rrdengine_datafile *datafile);
-int create_data_file(struct rrdengine_datafile *datafile);
-int create_new_datafile_pair(struct rrdengine_instance *ctx, bool having_lock);
-int init_data_files(struct rrdengine_instance *ctx);
-void finalize_data_files(struct rrdengine_instance *ctx);
-
-#endif /* NETDATA_DATAFILE_H */ \ No newline at end of file