diff options
Diffstat (limited to 'src/storage-mmap.c')
-rw-r--r-- | src/storage-mmap.c | 97 |
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) |