summaryrefslogtreecommitdiffstats
path: root/src/storage-mmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/storage-mmap.c')
-rw-r--r--src/storage-mmap.c97
1 files changed, 49 insertions, 48 deletions
diff --git a/src/storage-mmap.c b/src/storage-mmap.c
index 232a442..0cc0419 100644
--- a/src/storage-mmap.c
+++ b/src/storage-mmap.c
@@ -10,6 +10,7 @@
#include "storage.h"
#include "intf.h"
+#include "debug.h"
static int unmap_chunk(struct tsnif_storage_handle *h,
struct tsnif_storage_chunk *chunk);
@@ -59,21 +60,21 @@ static int check_header(struct tsnif_storage_handle *h)
struct tsnif_storage_header *common = &header->common;
if (common->magic != TSNIF_HEADER_MAGIC) {
- TSNIF_DEBUG("failed: wrong header magic %x\n", common->magic);
+ TSNIF_DEBUG(STORAGE, "failed: wrong header magic %x\n", common->magic);
return -1;
}
if (common->version != TSNIF_STORAGE_VERSION) {
- TSNIF_DEBUG("failed: wrong storage version %x\n", common->version);
+ TSNIF_DEBUG(STORAGE, "failed: wrong storage version %x\n", common->version);
return -1;
}
if (common->storage_type != TSNIF_STORAGE_TYPE_MMAP) {
- TSNIF_DEBUG("failed: wrong storage type %x\n", common->storage_type);
+ TSNIF_DEBUG(STORAGE, "failed: wrong storage type %x\n", common->storage_type);
return -1;
}
- TSNIF_DEBUG("got terminal type %d\n", common->term_type);
+ TSNIF_DEBUG(STORAGE, "got terminal type %d\n", common->term_type);
return 0;
}
@@ -100,16 +101,16 @@ int tsnif_storage_init(struct tsnif_storage_handle *h,
fd = open(name, flags, mode);
if (fd < 0) {
- TSNIF_DEBUG("open failed for '%s': %s\n",
+ TSNIF_DEBUG(STORAGE, "open failed for '%s': %s\n",
name, strerror(errno));
return -1;
}
- TSNIF_DEBUG("opened '%s'\n", name);
+ TSNIF_DEBUG(STORAGE, "opened '%s'\n", name);
if (create &&
(err = write_header(fd, opts))) {
- TSNIF_DEBUG("write failed for '%s': %s\n",
+ TSNIF_DEBUG(STORAGE, "write failed for '%s': %s\n",
name, strerror(errno));
close(fd);
return err;
@@ -123,7 +124,7 @@ int tsnif_storage_init(struct tsnif_storage_handle *h,
return err;
}
- TSNIF_DEBUG("records count %d\n", h->header->cnt);
+ TSNIF_DEBUG(STORAGE, "records count %d\n", h->header->cnt);
if (opts->flags & TSNIF_STORAGE_OPT_READ) {
struct stat st;
@@ -143,7 +144,7 @@ int tsnif_storage_init(struct tsnif_storage_handle *h,
int tsnif_storage_close(struct tsnif_storage_handle *h)
{
if (h->header) {
- TSNIF_DEBUG("records count %d\n", h->header->cnt);
+ TSNIF_DEBUG(STORAGE, "records count %d\n", h->header->cnt);
munmap(h->header, sysconf(_SC_PAGESIZE));
}
@@ -177,18 +178,18 @@ static int file_trunc(struct tsnif_storage_handle *h, off_t new_size)
{
off_t old_size;
- TSNIF_DEBUG("new size %d\n", new_size);
+ TSNIF_DEBUG(STORAGE, "new size %d\n", new_size);
old_size = lseek(h->fd, 0, SEEK_END);
if (old_size < 0)
return -1;
- TSNIF_DEBUG("old size %d\n", old_size);
+ TSNIF_DEBUG(STORAGE, "old size %d\n", old_size);
if (old_size >= new_size)
return 0;
- TSNIF_DEBUG("truncating to %d\n", new_size);
+ TSNIF_DEBUG(STORAGE, "truncating to %d\n", new_size);
return ftruncate(h->fd, new_size);
}
@@ -201,7 +202,7 @@ static int map_chunk(struct tsnif_storage_handle *h,
int err, flags = PROT_READ;
- TSNIF_DEBUG("what %d\n", what);
+ TSNIF_DEBUG(STORAGE, "what %d\n", what);
if (what == STORAGE_MMAP_FIRST) {
if (h->opts->flags & TSNIF_STORAGE_OPT_READ)
@@ -218,14 +219,14 @@ static int map_chunk(struct tsnif_storage_handle *h,
if (h->opts->flags & TSNIF_STORAGE_OPT_READ) {
- TSNIF_DEBUG("file size 0x%x\n", h->file_size);
- TSNIF_DEBUG("offset 0x%x\n", offset);
+ TSNIF_DEBUG(STORAGE, "file size 0x%x\n", h->file_size);
+ TSNIF_DEBUG(STORAGE, "offset 0x%x\n", offset);
if (h->file_size == offset)
offset = sysconf(_SC_PAGESIZE);
- TSNIF_DEBUG("offset 0x%x\n", offset);
- TSNIF_DEBUG("start offset 0x%x\n", h->header->offset_start);
+ TSNIF_DEBUG(STORAGE, "offset 0x%x\n", offset);
+ TSNIF_DEBUG(STORAGE, "start offset 0x%x\n", h->header->offset_start);
if (h->header->offset_start == offset)
return TSNIF_STORAGE_READ_EOF;
@@ -235,9 +236,9 @@ static int map_chunk(struct tsnif_storage_handle *h,
offset = sysconf(_SC_PAGESIZE);
}
- TSNIF_DEBUG("chunk offset 0x%x\n", chunk->offset);
- TSNIF_DEBUG("chunk size 0x%x\n", chunk->offset);
- TSNIF_DEBUG("max size 0x%x\n", h->opts->size_max);
+ TSNIF_DEBUG(STORAGE, "chunk offset 0x%x\n", chunk->offset);
+ TSNIF_DEBUG(STORAGE, "chunk size 0x%x\n", chunk->offset);
+ TSNIF_DEBUG(STORAGE, "max size 0x%x\n", h->opts->size_max);
}
if (what == STORAGE_MMAP_PREV) {
@@ -250,12 +251,12 @@ static int map_chunk(struct tsnif_storage_handle *h,
else
offset = chunk->offset - h->opts->chunk_size;
- TSNIF_DEBUG("chunk offset 0x%x\n", chunk->offset);
- TSNIF_DEBUG("chunk size 0x%x\n", chunk->offset);
- TSNIF_DEBUG("max size 0x%x\n", h->opts->size_max);
+ TSNIF_DEBUG(STORAGE, "chunk offset 0x%x\n", chunk->offset);
+ TSNIF_DEBUG(STORAGE, "chunk size 0x%x\n", chunk->offset);
+ TSNIF_DEBUG(STORAGE, "max size 0x%x\n", h->opts->size_max);
}
- TSNIF_DEBUG("new offset 0x%x, old offset 0x%x\n",
+ TSNIF_DEBUG(STORAGE, "new offset 0x%x, old offset 0x%x\n",
offset, chunk->offset);
if (chunk->header)
@@ -275,7 +276,7 @@ static int map_chunk(struct tsnif_storage_handle *h,
if (MAP_FAILED == ptr)
return -1;
- TSNIF_DEBUG("mmap-ed offset %ld, size %d\n",
+ TSNIF_DEBUG(STORAGE, "mmap-ed offset %ld, size %d\n",
offset, h->opts->chunk_size);
chunk->offset = offset;
@@ -299,11 +300,11 @@ static int clear_chunk(struct tsnif_storage_handle *h,
chunk->current_index = (void*) (header) + h->opts->chunk_size
- sizeof(uint32_t);
- TSNIF_DEBUG("chunk header %p\n", chunk->header);
- TSNIF_DEBUG("chunk data %p\n", chunk->current_data);
- TSNIF_DEBUG("chunk index %p\n", chunk->current_index);
- TSNIF_DEBUG("chunk size 0x%x\n", h->opts->chunk_size);
- TSNIF_DEBUG("chunk free %d\n", header->free);
+ TSNIF_DEBUG(STORAGE, "chunk header %p\n", chunk->header);
+ TSNIF_DEBUG(STORAGE, "chunk data %p\n", chunk->current_data);
+ TSNIF_DEBUG(STORAGE, "chunk index %p\n", chunk->current_index);
+ TSNIF_DEBUG(STORAGE, "chunk size 0x%x\n", h->opts->chunk_size);
+ TSNIF_DEBUG(STORAGE, "chunk free %d\n", header->free);
return 0;
}
@@ -333,7 +334,7 @@ static int get_chunk_write_rec(struct tsnif_storage_handle *h, int size)
struct tsnif_storage_chunk *chunk = &h->active_chunk;
struct tsnif_storage_chunk_header *chunk_header = chunk->header;
- TSNIF_DEBUG("chunk header %p\n", chunk_header);
+ TSNIF_DEBUG(STORAGE, "chunk header %p\n", chunk_header);
/* first time */
if (!chunk_header)
@@ -357,14 +358,14 @@ static int get_chunk_read_rec(struct tsnif_storage_handle *h, int what)
struct tsnif_storage_chunk_header *chunk_header = chunk->header;
int map_what = 0;
- TSNIF_DEBUG("chunk header %p\n", chunk_header);
+ TSNIF_DEBUG(STORAGE, "chunk header %p\n", chunk_header);
/* first time */
if (!chunk_header)
return map_read_chunk(h, chunk, STORAGE_MMAP_FIRST);
- TSNIF_DEBUG("chunk cnt 0x%x\n", chunk_header->cnt);
- TSNIF_DEBUG("read index 0x%x\n", chunk->read_index);
+ TSNIF_DEBUG(STORAGE, "chunk cnt 0x%x\n", chunk_header->cnt);
+ TSNIF_DEBUG(STORAGE, "read index 0x%x\n", chunk->read_index);
/* we want next record and we have it */
if (TSNIF_STORAGE_READ_NEXT == what) {
@@ -390,9 +391,9 @@ static int store_rec(struct tsnif_storage_handle *h,
struct tsnif_storage_chunk *chunk = &h->active_chunk;
struct tsnif_storage_chunk_header *header = chunk->header;
- TSNIF_DEBUG("chunk data %p\n", chunk->current_data);
- TSNIF_DEBUG("chunk index %p\n", chunk->current_index);
- TSNIF_DEBUG("time %ld\n", rec->time.tv_sec);
+ TSNIF_DEBUG(STORAGE, "chunk data %p\n", chunk->current_data);
+ TSNIF_DEBUG(STORAGE, "chunk index %p\n", chunk->current_index);
+ TSNIF_DEBUG(STORAGE, "time %ld\n", rec->time.tv_sec);
mrec = chunk->current_data;
mrec->len = rec->len;
@@ -404,8 +405,8 @@ static int store_rec(struct tsnif_storage_handle *h,
#define RECLEN (sizeof(struct tsnif_storage_rec_mmap) + rec->len)
*(chunk->current_index) = (void*) chunk->current_data - (void*) header;
- TSNIF_DEBUG("rec offset 0x%x\n", *(chunk->current_index));
- TSNIF_DEBUG("rec size 0x%x\n", rec->len);
+ TSNIF_DEBUG(STORAGE, "rec offset 0x%x\n", *(chunk->current_index));
+ TSNIF_DEBUG(STORAGE, "rec size 0x%x\n", rec->len);
chunk->current_index--;
chunk->current_data += RECLEN;
@@ -417,10 +418,10 @@ static int store_rec(struct tsnif_storage_handle *h,
header->cnt++;
header->free -= (sizeof(uint32_t) + RECLEN);
- TSNIF_DEBUG("chunk data %p\n", chunk->current_data);
- TSNIF_DEBUG("chunk index %p\n", chunk->current_index);
- TSNIF_DEBUG("chunk free %d\n", header->free);
- TSNIF_DEBUG("chunk cnt %d\n", header->cnt);
+ TSNIF_DEBUG(STORAGE, "chunk data %p\n", chunk->current_data);
+ TSNIF_DEBUG(STORAGE, "chunk index %p\n", chunk->current_index);
+ TSNIF_DEBUG(STORAGE, "chunk free %d\n", header->free);
+ TSNIF_DEBUG(STORAGE, "chunk cnt %d\n", header->cnt);
return 0;
}
@@ -432,9 +433,9 @@ static int read_rec(struct tsnif_storage_handle *h,
struct tsnif_storage_chunk_header *header = chunk->header;
off_t offset;
- TSNIF_DEBUG("chunk data %p\n", chunk->current_data);
- TSNIF_DEBUG("chunk index %p\n", chunk->current_index);
- TSNIF_DEBUG("read index 0x%x\n", chunk->read_index);
+ TSNIF_DEBUG(STORAGE, "chunk data %p\n", chunk->current_data);
+ TSNIF_DEBUG(STORAGE, "chunk index %p\n", chunk->current_index);
+ TSNIF_DEBUG(STORAGE, "read index 0x%x\n", chunk->read_index);
/* the chunk got loaded just now */
if (chunk->read_index == -1) {
@@ -466,7 +467,7 @@ int tsnif_storage_write(struct tsnif_storage_handle *h,
{
int err;
- TSNIF_DEBUG("entry\n");
+ TSNIF_DEBUG(STORAGE, "entry\n");
err = get_chunk_write_rec(h, rec->len);
if (err)
@@ -480,7 +481,7 @@ int tsnif_storage_read(struct tsnif_storage_handle *h, int what,
{
int err;
- TSNIF_DEBUG("entry\n");
+ TSNIF_DEBUG(STORAGE, "entry\n");
err = get_chunk_read_rec(h, what);
if (err)