• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/BerkeleyDB-21/db/log/

Lines Matching refs:lp

92 	LOG *lp;
98 lp = dblp->reginfo.primary;
152 if (lp->persist.version != DB_LOGVERSION)
194 lp->max_perm_lsn = lsn;
212 nf_args.version = lp->persist.version;
231 lp->bulk_buf);
234 bulk.offp = &lp->bulk_off;
235 bulk.len = lp->bulk_len;
239 bulk.flagsp = &lp->bulk_flags;
306 lp->stat.st_wc_bytes = lp->stat.st_wc_mbytes = 0;
309 STAT(++lp->stat.st_record);
332 if (ret == 0 && !IS_ZERO_LSN(old_lsn) && lp->db_log_autoremove)
352 LOG *lp;
355 lp = dblp->reginfo.primary;
368 *lsnp = lp->lsn;
369 if (lp->lsn.offset > lp->len)
370 lsnp->offset -= lp->len;
380 *mbytesp = lp->stat.st_wc_mbytes;
381 *bytesp = (u_int32_t)(lp->stat.st_wc_bytes + lp->b_off);
404 LOG *lp;
408 lp = dblp->reginfo.primary;
411 * Save a copy of lp->lsn before we might decide to switch log
418 old_lsn = lp->lsn;
425 if (lp->persist.version != DB_LOGVERSION) {
435 if (adv_file || lp->lsn.offset == 0 ||
436 lp->lsn.offset + hdr->size + dbt->size > lp->log_size) {
437 if (hdr->size + sizeof(LOGP) + dbt->size > lp->log_size) {
441 (u_long)lp->log_size);
463 return (__log_putr(dblp, lsn, dbt, lp->lsn.offset - lp->len, hdr));
478 LOG *lp;
482 lp = dblp->reginfo.primary;
496 else if (!lp->db_log_inmemory && lp->b_off != 0)
498 dblp->bufp, (u_int32_t)lp->b_off)) == 0)
499 lp->b_off = 0;
510 if (flush_lsn.file != lp->lsn.file || flush_lsn.offset < lp->w_off)
524 dblp->bufp + flush_lsn.offset - lp->w_off) == 0)
549 LOG *lp;
556 lp = dblp->reginfo.primary;
562 if (logfile == 0 && lp->lsn.offset != 0) {
583 lastoff = lp->lsn.offset;
586 ++lp->lsn.file;
587 lp->lsn.offset = 0;
590 lp->w_off = 0;
600 lp->lsn.file = logfile;
601 lp->lsn.offset = 0;
602 lp->w_off = 0;
603 if (lp->db_log_inmemory) {
604 lsn = lp->lsn;
607 lp->s_lsn = lp->lsn;
613 DB_ASSERT(env, lp->db_log_inmemory || lp->b_off == 0);
614 if (lp->db_log_inmemory &&
615 (ret = __log_inmem_newfile(dblp, lp->lsn.file)) != 0)
643 lp->persist.log_size = lp->log_size = lp->log_nsize;
644 memcpy(tpersist, &lp->persist, sizeof(LOGP));
652 if (lp->persist.version != DB_LOGVERSION)
660 &t, lastoff == 0 ? 0 : lastoff - lp->len, &hdr)) != 0)
665 *lsnp = lp->lsn;
688 LOG *lp;
694 lp = dblp->reginfo.primary;
711 b_off = lp->b_off;
712 w_off = lp->w_off;
713 f_lsn = lp->f_lsn;
732 if (lp->persist.version != DB_LOGVERSION)
740 else if (lp->persist.version == DB_LOGVERSION) {
748 if (lp->db_log_inmemory && (ret = __log_inmem_chkspace(dblp,
756 *lsn = lp->lsn;
774 lp->len = (u_int32_t)(hdr->size + dbt->size);
775 lp->lsn.offset += lp->len;
783 if (w_off + lp->buffer_size < lp->w_off) {
784 DB_ASSERT(env, !lp->db_log_inmemory);
796 lp->w_off = w_off;
797 lp->b_off = b_off;
798 lp->f_lsn = f_lsn;
837 #define ALREADY_FLUSHED(lp, lsnp) \
838 (((lp)->s_lsn.file > (lsnp)->file) || \
839 ((lp)->s_lsn.file == (lsnp)->file && \
840 (lp)->s_lsn.offset > (lsnp)->offset))
854 LOG *lp;
858 lp = dblp->reginfo.primary;
859 if (lsn != NULL && ALREADY_FLUSHED(lp, lsn))
883 LOG *lp;
889 lp = dblp->reginfo.primary;
893 if (lp->db_log_inmemory) {
894 lp->s_lsn = lp->lsn;
895 STAT(++lp->stat.st_scount);
905 flush_lsn.file = lp->lsn.file;
906 flush_lsn.offset = lp->lsn.offset - lp->len;
907 } else if (lsnp->file > lp->lsn.file ||
908 (lsnp->file == lp->lsn.file &&
909 lsnp->offset > lp->lsn.offset - lp->len)) {
913 (u_long)lp->lsn.file, (u_long)lp->lsn.offset);
920 if (ALREADY_FLUSHED(lp, lsnp))
929 if (release && lp->in_flush != 0) {
931 &lp->free_commits, __db_commit)) == NULL) {
944 &lp->free_commits, commit, links, __db_commit);
946 lp->ncommit++;
950 * sure we only move lp->t_lsn forward.
952 if (LOG_COMPARE(&lp->t_lsn, &flush_lsn) < 0)
953 lp->t_lsn = flush_lsn;
957 &lp->commits, commit, links, __db_commit);
963 lp->ncommit--;
972 &lp->free_commits, commit, links, __db_commit);
974 lp->in_flush--;
975 flush_lsn = lp->t_lsn;
984 flush: MUTEX_LOCK(env, lp->mtx_flush);
992 if (flush_lsn.file < lp->s_lsn.file ||
993 (flush_lsn.file == lp->s_lsn.file &&
994 flush_lsn.offset < lp->s_lsn.offset)) {
995 MUTEX_UNLOCK(env, lp->mtx_flush);
1008 if (lp->b_off != 0 && LOG_COMPARE(&flush_lsn, &lp->f_lsn) >= 0) {
1010 dblp->bufp, (u_int32_t)lp->b_off)) != 0) {
1011 MUTEX_UNLOCK(env, lp->mtx_flush);
1015 lp->b_off = 0;
1016 } else if (dblp->lfhp == NULL || dblp->lfname != lp->lsn.file)
1018 MUTEX_UNLOCK(env, lp->mtx_flush);
1027 b_off = lp->b_off;
1028 w_off = lp->w_off;
1029 f_lsn = lp->f_lsn;
1030 lp->in_flush++;
1036 MUTEX_UNLOCK(env, lp->mtx_flush);
1051 lp->s_lsn = f_lsn;
1053 lp->s_lsn.offset = w_off;
1055 MUTEX_UNLOCK(env, lp->mtx_flush);
1059 lp->in_flush--;
1060 STAT(++lp->stat.st_scount);
1068 if (lp->ncommit != 0) {
1070 SH_TAILQ_FOREACH(commit, &lp->commits, links, __db_commit)
1071 if (LOG_COMPARE(&lp->s_lsn, &commit->lsn) > 0) {
1074 &lp->commits, commit, links, __db_commit);
1080 &lp->commits, commit, links, __db_commit);
1087 lp->in_flush++;
1092 if (lp->stat.st_maxcommitperflush < ncommit)
1093 lp->stat.st_maxcommitperflush = ncommit;
1094 if (lp->stat.st_mincommitperflush > ncommit ||
1095 lp->stat.st_mincommitperflush == 0)
1096 lp->stat.st_mincommitperflush = ncommit;
1113 LOG *lp;
1118 lp = dblp->reginfo.primary;
1119 bsize = lp->buffer_size;
1121 if (lp->db_log_inmemory) {
1122 __log_inmem_copyin(dblp, lp->b_off, addr, len);
1123 lp->b_off = (lp->b_off + len) % lp->buffer_size;
1134 if (lp->b_off == 0)
1135 lp->f_lsn = *lsn;
1141 if (lp->b_off == 0 && len >= bsize) {
1147 STAT(++lp->stat.st_wcount_fill);
1152 remain = bsize - lp->b_off;
1154 memcpy(dblp->bufp + lp->b_off, addr, nw);
1157 lp->b_off += nw;
1160 if (lp->b_off == bsize) {
1163 lp->b_off = 0;
1164 STAT(++lp->stat.st_wcount_fill);
1181 LOG *lp;
1186 lp = dblp->reginfo.primary;
1188 DB_ASSERT(env, !lp->db_log_inmemory);
1196 if (dblp->lfhp == NULL || dblp->lfname != lp->lsn.file ||
1197 dblp->lf_timestamp != lp->timestamp)
1198 if ((ret = __log_newfh(dblp, lp->w_off == 0)) != 0)
1211 if (lp->w_off == 0 && !__os_fs_notzero()) {
1213 if (lp->w_off == 0) {
1215 (void)__db_file_extend(env, dblp->lfhp, lp->log_size);
1218 0, lp->log_size/lp->buffer_size, lp->buffer_size);
1227 dblp->lfhp, 0, 0, lp->w_off, len, addr, &nw)) != 0)
1231 lp->w_off += len;
1234 if ((lp->stat.st_wc_bytes += len) >= MEGABYTE) {
1235 lp->stat.st_wc_bytes -= MEGABYTE;
1236 ++lp->stat.st_wc_mbytes;
1239 if ((lp->stat.st_w_bytes += len) >= MEGABYTE) {
1240 lp->stat.st_w_bytes -= MEGABYTE;
1241 ++lp->stat.st_w_mbytes;
1243 ++lp->stat.st_wcount;
1329 LOG *lp;
1335 lp = dblp->reginfo.primary;
1349 dblp->lfname = lp->lsn.file;
1353 "DB_ENV->log_newfh: %lu", (u_long)lp->lsn.file);
1376 LOG *lp;
1382 lp = dblp->reginfo.primary;
1384 DB_ASSERT(env, !lp->db_log_inmemory);
1410 if (lp->filemode == 0)
1414 mode = lp->filemode;
1418 dblp->lf_timestamp = lp->timestamp;
1493 LOG *lp;
1497 lp = dblp->reginfo.primary;
1517 DB_ASSERT(env, LOG_COMPARE(lsnp, &lp->lsn) == 0);
1518 ret = __log_putr(dblp, lsnp, dbt, lp->lsn.offset - lp->len, &hdr);
1523 lp->ready_lsn = lp->lsn;
1526 lp->stat.st_wc_bytes = lp->stat.st_wc_mbytes = 0;
1529 STAT(++lp->stat.st_record);