- new_size = rrd_file->pos + count;
- rrd_file->file_len = new_size;
- lseek(rrd_file->fd, new_size - 1, SEEK_SET);
- write(rrd_file->fd, "\0", 1); /* poke */
- lseek(rrd_file->fd, 0, SEEK_SET);
- if(rrd_file->file_start == NULL)
- {
- rrd_file->file_start = mmap(0, new_size, mm_prot, mm_flags,
- rrd_file->fd, 0);
- }
- else
- rrd_file->file_start = mremap(rrd_file->file_start, old_size, new_size, MREMAP_MAYMOVE);
-
- if (rrd_file->file_start == MAP_FAILED) {
- rrd_set_error("m(re)maping file : %s",
- rrd_strerror(errno));
- return -1;
- }