Lines Matching refs:lv

131 		struct xfs_log_vec *lv;
188 lv = kmem_alloc_large(buf_size, KM_NOFS);
189 memset(lv, 0, xlog_cil_iovec_space(niovecs));
191 lv->lv_item = lip;
192 lv->lv_size = buf_size;
194 lv->lv_buf_len = XFS_LOG_VEC_ORDERED;
196 lv->lv_iovecp = (struct xfs_log_iovec *)&lv[1];
197 lip->li_lv_shadow = lv;
200 lv = lip->li_lv_shadow;
202 lv->lv_buf_len = XFS_LOG_VEC_ORDERED;
204 lv->lv_buf_len = 0;
205 lv->lv_bytes = 0;
206 lv->lv_next = NULL;
209 /* Ensure the lv is set up according to ->iop_size */
210 lv->lv_niovecs = niovecs;
213 lv->lv_buf = (char *)lv + xlog_cil_iovec_space(niovecs);
226 struct xfs_log_vec *lv,
232 if (lv->lv_buf_len != XFS_LOG_VEC_ORDERED) {
233 *diff_len += lv->lv_bytes;
234 *diff_iovecs += lv->lv_niovecs;
245 if (lv->lv_item->li_ops->iop_pin)
246 lv->lv_item->li_ops->iop_pin(lv->lv_item);
247 lv->lv_item->li_lv_shadow = NULL;
248 } else if (old_lv != lv) {
249 ASSERT(lv->lv_buf_len != XFS_LOG_VEC_ORDERED);
253 lv->lv_item->li_lv_shadow = old_lv;
257 lv->lv_item->li_lv = lv;
265 if (!lv->lv_item->li_seq)
266 lv->lv_item->li_seq = log->l_cilp->xc_ctx->sequence;
279 * dependent on the current state of the vector in the CIL - the shadow lv is
281 * use that if we can't reuse the existing lv. If we can't reuse the existing
282 * lv, then simple swap it out for the shadow lv. We don't free it - that is
314 struct xfs_log_vec *lv;
325 * the shadow lv on the log item.
339 lv = lip->li_lv;
340 lv->lv_next = NULL;
349 *diff_iovecs -= lv->lv_niovecs;
350 *diff_len -= lv->lv_bytes;
352 /* Ensure the lv is set up according to ->iop_size */
353 lv->lv_niovecs = shadow->lv_niovecs;
355 /* reset the lv buffer information for new formatting */
356 lv->lv_buf_len = 0;
357 lv->lv_bytes = 0;
358 lv->lv_buf = (char *)lv +
359 xlog_cil_iovec_space(lv->lv_niovecs);
362 lv = shadow;
363 lv->lv_item = lip;
371 ASSERT(IS_ALIGNED((unsigned long)lv->lv_buf, sizeof(uint64_t)));
372 lip->li_ops->iop_format(lip, lv);
374 xfs_cil_prepare_item(log, lv, old_lv, diff_len, diff_iovecs);
490 struct xfs_log_vec *lv;
492 for (lv = log_vector; lv; ) {
493 struct xfs_log_vec *next = lv->lv_next;
494 kmem_free(lv);
495 lv = next;
647 struct xfs_log_vec *lv;
732 lv = NULL;
743 lv->lv_next = item->li_lv;
744 lv = item->li_lv;
746 num_iovecs += lv->lv_niovecs;