Lines Matching refs:hist

40 				struct hammer_ioc_history *hist);
279 static void add_history(hammer_inode_t ip, struct hammer_ioc_history *hist,
285 struct hammer_ioc_history *hist) in hammer_ioc_gethistory() argument
294 if (hist->beg_tid > hist->end_tid) in hammer_ioc_gethistory()
296 if (hist->head.flags & HAMMER_IOC_HISTORY_ATKEY) { in hammer_ioc_gethistory()
297 if (hist->key > hist->nxt_key) in hammer_ioc_gethistory()
301 hist->obj_id = ip->obj_id; in hammer_ioc_gethistory()
302 hist->count = 0; in hammer_ioc_gethistory()
303 hist->nxt_tid = hist->end_tid; in hammer_ioc_gethistory()
304 hist->head.flags &= ~HAMMER_IOC_HISTORY_NEXT_TID; in hammer_ioc_gethistory()
305 hist->head.flags &= ~HAMMER_IOC_HISTORY_NEXT_KEY; in hammer_ioc_gethistory()
306 hist->head.flags &= ~HAMMER_IOC_HISTORY_EOF; in hammer_ioc_gethistory()
307 hist->head.flags &= ~HAMMER_IOC_HISTORY_UNSYNCED; in hammer_ioc_gethistory()
310 hist->head.flags |= HAMMER_IOC_HISTORY_UNSYNCED; in hammer_ioc_gethistory()
324 cursor.key_beg.obj_id = hist->obj_id; in hammer_ioc_gethistory()
325 cursor.key_beg.create_tid = hist->beg_tid; in hammer_ioc_gethistory()
331 cursor.key_end.obj_id = hist->obj_id; in hammer_ioc_gethistory()
332 cursor.key_end.create_tid = hist->end_tid; in hammer_ioc_gethistory()
338 if (hist->head.flags & HAMMER_IOC_HISTORY_ATKEY) { in hammer_ioc_gethistory()
345 cursor.key_beg.key = hist->key; in hammer_ioc_gethistory()
390 add_history(ip, hist, elm); in hammer_ioc_gethistory()
391 if (hist->head.flags & (HAMMER_IOC_HISTORY_NEXT_TID | in hammer_ioc_gethistory()
399 hist->head.flags |= HAMMER_IOC_HISTORY_EOF; in hammer_ioc_gethistory()
412 add_history(hammer_inode_t ip, struct hammer_ioc_history *hist, in add_history() argument
419 if ((hist->head.flags & HAMMER_IOC_HISTORY_ATKEY) && in add_history()
424 if (hist->nxt_key > elm->leaf.base.key - elm->leaf.data_len && in add_history()
425 hist->key < elm->leaf.base.key - elm->leaf.data_len) { in add_history()
426 hist->nxt_key = elm->leaf.base.key - elm->leaf.data_len; in add_history()
428 if (hist->nxt_key > elm->leaf.base.key) in add_history()
429 hist->nxt_key = elm->leaf.base.key; in add_history()
436 elm->leaf.base.key - MAXPHYS > hist->key) { in add_history()
437 hist->head.flags |= HAMMER_IOC_HISTORY_NEXT_KEY; in add_history()
443 if (elm->leaf.base.key - elm->leaf.data_len > hist->key) in add_history()
446 } else if (hist->head.flags & HAMMER_IOC_HISTORY_ATKEY) { in add_history()
450 if (hist->nxt_key > elm->leaf.base.key && in add_history()
451 hist->key < elm->leaf.base.key) { in add_history()
452 hist->nxt_key = elm->leaf.base.key; in add_history()
458 if (elm->leaf.base.key > hist->key) in add_history()
459 hist->head.flags |= HAMMER_IOC_HISTORY_NEXT_KEY; in add_history()
465 i = hist->count; in add_history()
467 elm->leaf.base.create_tid != hist->hist_ary[i - 1].tid) && in add_history()
468 elm->leaf.base.create_tid >= hist->beg_tid && in add_history()
469 elm->leaf.base.create_tid < hist->end_tid) { in add_history()
470 if (hist->count == HAMMER_MAX_HISTORY_ELMS) { in add_history()
471 hist->nxt_tid = elm->leaf.base.create_tid; in add_history()
472 hist->head.flags |= HAMMER_IOC_HISTORY_NEXT_TID; in add_history()
475 hist->hist_ary[i].tid = elm->leaf.base.create_tid; in add_history()
476 hist->hist_ary[i].time32 = elm->leaf.create_ts; in add_history()
477 ++hist->count; in add_history()
489 i = hist->count; in add_history()
491 elm->leaf.base.delete_tid >= hist->beg_tid && in add_history()
492 elm->leaf.base.delete_tid < hist->end_tid) { in add_history()
494 hist->nxt_tid = elm->leaf.base.delete_tid; in add_history()
495 hist->head.flags |= HAMMER_IOC_HISTORY_NEXT_TID; in add_history()
498 hist->hist_ary[i].tid = elm->leaf.base.delete_tid; in add_history()
499 hist->hist_ary[i].time32 = elm->leaf.delete_ts; in add_history()
500 ++hist->count; in add_history()