Lines Matching refs:logfile_object_p

65 	cfsd_logfile_object_t *logfile_object_p;
69 logfile_object_p = cfsd_calloc(sizeof (cfsd_logfile_object_t));
70 logfile_object_p->i_fid = -1;
71 logfile_object_p->i_map_entry.i_pa = NULL;
72 logfile_object_p->i_map_entry.i_paoff = 0;
73 logfile_object_p->i_map_entry.i_paend = 0;
74 logfile_object_p->i_map_entry.i_palen = 0;
75 logfile_object_p->i_map_offset.i_pa = NULL;
76 logfile_object_p->i_map_offset.i_paoff = 0;
77 logfile_object_p->i_map_offset.i_paend = 0;
78 logfile_object_p->i_map_offset.i_palen = 0;
79 logfile_object_p->i_cur_offset = 0;
80 logfile_object_p->i_cur_entry = NULL;
82 return (logfile_object_p);
94 cfsd_logfile_destroy(cfsd_logfile_object_t *logfile_object_p)
97 logfile_sync(logfile_object_p);
98 logfile_teardown(logfile_object_p);
99 cfsd_free(logfile_object_p);
116 logfile_domap(cfsd_logfile_object_t *logfile_object_p, off_t off, int map)
123 dbug_precond(logfile_object_p->i_fid >= 0);
125 len = logfile_object_p->i_maplen;
127 &logfile_object_p->i_map_entry :
128 &logfile_object_p->i_map_offset;
130 logfile_object_p->i_stat_mapmove++;
135 logfile_object_p->i_stat_mapdist += abs(mmp->i_paoff - off);
142 logfile_object_p->i_name, xx, mmp->i_pa,
153 logfile_object_p->i_fid, off);
158 logfile_object_p->i_name, xx, off, len));
187 logfile_getaddr(cfsd_logfile_object_t *logfile_object_p, off_t start, int map)
196 &logfile_object_p->i_map_entry :
197 &logfile_object_p->i_map_offset;
200 end = start + logfile_object_p->i_maxmap - 1;
204 if (logfile_domap(logfile_object_p,
205 start & logfile_object_p->i_pagemask, map)) {
233 logfile_setup(cfsd_logfile_object_t *logfile_object_p,
244 logfile_teardown(logfile_object_p);
246 strlcpy(logfile_object_p->i_name, filename,
247 sizeof (logfile_object_p->i_name));
248 dbug_print(("info", "filename %s", logfile_object_p->i_name));
249 logfile_object_p->i_maxmap = maxmap;
252 logfile_object_p->i_pagesize = PAGESIZE;
253 logfile_object_p->i_pagemask = PAGEMASK;
254 logfile_object_p->i_maplen = logfile_object_p->i_pagesize * 100;
257 logfile_object_p->i_fid = open(logfile_object_p->i_name,
259 if (logfile_object_p->i_fid == -1) {
262 logfile_object_p->i_name, xx));
268 xx = fstat(logfile_object_p->i_fid, &sinfo);
275 logfile_object_p->i_name, xx));
280 logfile_object_p->i_size = sinfo.st_size;
286 logfile_object_p->i_name));
292 if (logfile_object_p->i_size < LOGFILE_ENTRY_START) {
294 logfile_object_p->i_name, logfile_object_p->i_size));
300 logfile_object_p->i_stat_mapmove = 0;
301 logfile_object_p->i_stat_mapdist = 0;
304 versionp = (long *)logfile_getaddr(logfile_object_p, 0, 1);
332 logfile_teardown(cfsd_logfile_object_t *logfile_object_p)
338 if (logfile_object_p->i_map_entry.i_pa) {
339 xx = munmap(logfile_object_p->i_map_entry.i_pa,
340 logfile_object_p->i_map_entry.i_palen);
344 logfile_object_p->i_name, xx,
345 logfile_object_p->i_map_entry.i_pa,
346 logfile_object_p->i_map_entry.i_palen));
348 logfile_object_p->i_map_entry.i_pa = NULL;
350 logfile_object_p->i_map_entry.i_paoff = 0;
351 logfile_object_p->i_map_entry.i_paend = 0;
352 logfile_object_p->i_map_entry.i_palen = 0;
354 if (logfile_object_p->i_map_offset.i_pa) {
355 xx = munmap(logfile_object_p->i_map_offset.i_pa,
356 logfile_object_p->i_map_offset.i_palen);
360 logfile_object_p->i_name, xx,
361 logfile_object_p->i_map_offset.i_pa,
362 logfile_object_p->i_map_offset.i_palen));
364 logfile_object_p->i_map_offset.i_pa = NULL;
366 logfile_object_p->i_map_offset.i_paoff = 0;
367 logfile_object_p->i_map_offset.i_paend = 0;
368 logfile_object_p->i_map_offset.i_palen = 0;
370 if (logfile_object_p->i_fid != -1) {
371 if (close(logfile_object_p->i_fid))
373 logfile_object_p->i_name, errno));
374 logfile_object_p->i_fid = -1;
376 logfile_object_p->i_cur_offset = 0;
377 logfile_object_p->i_cur_entry = NULL;
399 logfile_entry(cfsd_logfile_object_t *logfile_object_p,
410 logfile_object_p->i_stat_nextcnt++;
413 if (offset >= logfile_object_p->i_size) {
420 entp = (cfs_dlog_entry_t *)logfile_getaddr(logfile_object_p, offset, 0);
445 logfile_object_p->i_cur_offset = offset;
446 logfile_object_p->i_cur_entry = entp;
472 logfile_offset(cfsd_logfile_object_t *logfile_object_p,
480 dbug_precond((0 <= offset) && (offset < logfile_object_p->i_size));
482 logfile_object_p->i_stat_offcnt++;
485 pa = logfile_getaddr(logfile_object_p, offset, 1);
507 logfile_sync(cfsd_logfile_object_t *logfile_object_p)
513 if (logfile_object_p->i_fid == -1) {
517 xx = fsync(logfile_object_p->i_fid);
536 logfile_dumpstats(cfsd_logfile_object_t *logfile_object_p)
544 logfile_object_p->i_stat_nextcnt));
546 logfile_object_p->i_stat_offcnt));
547 dbug_print(("dump", "Map Moves %d", logfile_object_p->i_stat_mapmove));
548 dbug_print(("dump", "Mapping Size %d", logfile_object_p->i_maplen));
549 dbug_print(("dump", "Item Size %d", logfile_object_p->i_maxmap));
550 dbug_print(("dump", "File Size %d", logfile_object_p->i_size));
551 if (logfile_object_p->i_stat_mapmove == 0) {
556 dd = (double)logfile_object_p->i_stat_mapmove /
557 (logfile_object_p->i_stat_nextcnt +
558 logfile_object_p->i_stat_offcnt);
561 xx = logfile_object_p->i_stat_mapdist /
562 logfile_object_p->i_stat_mapmove;