Lines Matching defs:lcb
395 struct lcb {
403 static void lcb_put(struct lcb *lcb)
405 if (lcb->alloc)
406 kfree(lcb->log_rec);
407 kfree(lcb->lrh);
408 kfree(lcb);
2385 static int find_log_rec(struct ntfs_log *log, u64 lsn, struct lcb *lcb)
2388 struct LFS_RECORD_HDR *rh = lcb->lrh;
2396 lcb->lrh = rh;
2428 lcb->log_rec = lr;
2429 lcb->alloc = true;
2442 lcb->log_rec = Add2Ptr(rh, sizeof(struct LFS_RECORD_HDR));
2443 lcb->alloc = false;
2453 struct lcb **lcb_)
2457 struct lcb *lcb;
2474 lcb = kzalloc(sizeof(struct lcb), GFP_NOFS);
2475 if (!lcb)
2477 lcb->client = log->client_id;
2478 lcb->ctx_mode = ctx_mode;
2481 err = find_log_rec(log, lsn, lcb);
2485 *lcb_ = lcb;
2489 lcb_put(lcb);
2499 static int find_client_next_lsn(struct ntfs_log *log, struct lcb *lcb, u64 *lsn)
2505 hdr = lcb->lrh;
2508 if (lcb_ctx_next != lcb->ctx_mode)
2522 if (hdr != lcb->lrh)
2531 if (memcmp(&hdr->client, &lcb->client,
2535 kfree(lcb->lrh);
2536 lcb->lrh = hdr;
2543 if (hdr != lcb->lrh)
2548 if (lcb_ctx_undo_next == lcb->ctx_mode)
2550 else if (lcb_ctx_prev == lcb->ctx_mode)
2568 kfree(lcb->lrh);
2569 lcb->lrh = hdr;
2576 static int read_next_log_rec(struct ntfs_log *log, struct lcb *lcb, u64 *lsn)
2580 err = find_client_next_lsn(log, lcb, lsn);
2587 if (lcb->alloc)
2588 kfree(lcb->log_rec);
2590 lcb->log_rec = NULL;
2591 lcb->alloc = false;
2592 kfree(lcb->lrh);
2593 lcb->lrh = NULL;
2595 return find_log_rec(log, *lsn, lcb);
3756 struct lcb *lcb = NULL;
4133 err = read_log_rec_lcb(log, t64, lcb_ctx_prev, &lcb);
4137 lrh = lcb->log_rec;
4138 frh = lcb->lrh;
4164 lcb_put(lcb);
4165 lcb = NULL;
4173 err = read_log_rec_lcb(log, t64, lcb_ctx_prev, &lcb);
4177 lrh = lcb->log_rec;
4178 frh = lcb->lrh;
4218 lcb_put(lcb);
4219 lcb = NULL;
4250 err = read_log_rec_lcb(log, t64, lcb_ctx_prev, &lcb);
4254 lrh = lcb->log_rec;
4255 frh = lcb->lrh;
4273 lcb_put(lcb);
4274 lcb = NULL;
4282 err = read_log_rec_lcb(log, t64, lcb_ctx_prev, &lcb);
4286 lrh = lcb->log_rec;
4287 frh = lcb->lrh;
4335 lcb_put(lcb);
4336 lcb = NULL;
4399 err = read_log_rec_lcb(log, checkpt_lsn, lcb_ctx_next, &lcb);
4405 err = read_next_log_rec(log, lcb, &rec_lsn);
4412 frh = lcb->lrh;
4415 lrh = lcb->log_rec;
4680 lcb_put(lcb);
4681 lcb = NULL;
4880 err = read_log_rec_lcb(log, rlsn, lcb_ctx_next, &lcb);
4889 frh = lcb->lrh;
4896 lrh = lcb->log_rec;
5005 err = read_next_log_rec(log, lcb, &rec_lsn);
5009 lcb_put(lcb);
5010 lcb = NULL;
5036 err = read_log_rec_lcb(log, undo_next_lsn, lcb_ctx_undo_next, &lcb);
5046 lrh = lcb->log_rec;
5047 frh = lcb->lrh;
5112 err = read_next_log_rec(log, lcb, &rec_lsn);
5119 lcb_put(lcb);
5120 lcb = NULL;
5182 if (lcb)
5183 lcb_put(lcb);