Home
last modified time | relevance | path

Searched refs:bip (Results 1 – 18 of 18) sorted by relevance

/linux/fs/xfs/
H A Dxfs_buf_item.c37 struct xfs_buf_log_item *bip, in xfs_buf_item_get_format() argument
40 ASSERT(bip->bli_formats == NULL); in xfs_buf_item_get_format()
41 bip->bli_format_count = count; in xfs_buf_item_get_format()
44 bip->bli_formats = &bip->__bli_format; in xfs_buf_item_get_format()
48 bip->bli_formats = kzalloc(count * sizeof(struct xfs_buf_log_format), in xfs_buf_item_get_format()
54 struct xfs_buf_log_item *bip) in xfs_buf_item_free_format() argument
56 if (bip->bli_formats != &bip->__bli_format) { in xfs_buf_item_free_format()
57 kfree(bip->bli_formats); in xfs_buf_item_free_format()
58 bip->bli_formats = NULL; in xfs_buf_item_free_format()
64 struct xfs_buf_log_item *bip) in xfs_buf_item_free() argument
[all …]
H A Dxfs_buf_item.h52 void xfs_buf_item_put(struct xfs_buf_log_item *bip);
H A Dxfs_buf_item_recover.c449 struct xfs_buf_log_item *bip; in xlog_recover_validate_buf_type() local
453 bip = bp->b_log_item; in xlog_recover_validate_buf_type()
454 bip->bli_item.li_lsn = current_lsn; in xlog_recover_validate_buf_type()
H A Dxfs_trace.h884 TP_PROTO(struct xfs_buf_log_item *bip),
885 TP_ARGS(bip),
900 __entry->dev = bip->bli_buf->b_target->bt_dev;
901 __entry->bli_flags = bip->bli_flags;
902 __entry->bli_recur = bip->bli_recur;
903 __entry->bli_refcount = atomic_read(&bip->bli_refcount);
904 __entry->buf_bno = xfs_buf_daddr(bip->bli_buf);
905 __entry->buf_len = bip->bli_buf->b_length;
906 __entry->buf_flags = bip->bli_buf->b_flags;
907 __entry->buf_hold = bip->bli_buf->b_lockref.count;
[all …]
/linux/block/
H A Dbio-integrity.c14 struct bio_integrity_payload bip; member
70 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_alloc_buf() local
83 bvec_set_page(&bip->bip_vec[0], page, len, 0); in bio_integrity_alloc_buf()
84 bip->bip_flags |= BIP_MEMPOOL; in bio_integrity_alloc_buf()
86 bvec_set_page(&bip->bip_vec[0], virt_to_page(buf), len, in bio_integrity_alloc_buf()
90 bip->bip_vcnt = 1; in bio_integrity_alloc_buf()
91 bip->bip_iter.bi_size = len; in bio_integrity_alloc_buf()
94 void bio_integrity_free_buf(struct bio_integrity_payload *bip) in bio_integrity_free_buf() argument
96 struct bio_vec *bv = &bip->bip_vec[0]; in bio_integrity_free_buf()
98 if (bip->bip_flags & BIP_MEMPOOL) in bio_integrity_free_buf()
[all …]
H A Dbio-integrity-auto.c20 struct bio_integrity_payload bip; member
32 bio_integrity_free_buf(&bid->bip); in bio_integrity_finish()
48 static bool bip_should_check(struct bio_integrity_payload *bip) in bip_should_check() argument
50 return bip->bip_flags & BIP_CHECK_FLAGS; in bip_should_check()
64 struct bio_integrity_payload *bip = bio_integrity(bio); in __bio_integrity_endio() local
66 container_of(bip, struct bio_integrity_data, bip); in __bio_integrity_endio()
69 bip_should_check(bip)) { in __bio_integrity_endio()
94 bio_integrity_init(bio, &bid->bip, &bid->bvec, 1); in bio_integrity_prep()
96 bid->bip.bip_flags |= BIP_BLOCK_INTEGRITY; in bio_integrity_prep()
102 if (bio_data_dir(bio) == WRITE && bip_should_check(&bid->bip)) in bio_integrity_prep()
H A Dblk-integrity.c143 struct bio_integrity_payload *bip, *bip_next; in blk_integrity_merge_rq() local
151 bip = bio_integrity(req->bio); in blk_integrity_merge_rq()
153 if (bip->bip_flags != bip_next->bip_flags) in blk_integrity_merge_rq()
156 if (bip->bip_flags & BIP_CHECK_APPTAG && in blk_integrity_merge_rq()
157 bip->app_tag != bip_next->app_tag) in blk_integrity_merge_rq()
173 struct bio_integrity_payload *bip, *bip_bio = bio_integrity(bio); in blk_integrity_merge_bio() local
182 bip = bio_integrity(req->bio); in blk_integrity_merge_bio()
183 if (bip->bip_flags != bip_bio->bip_flags) in blk_integrity_merge_bio()
186 if (bip->bip_flags & BIP_CHECK_APPTAG && in blk_integrity_merge_bio()
187 bip->app_tag != bip_bio->app_tag) in blk_integrity_merge_bio()
H A Dblk.h257 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_endio() local
259 if (bip && (bip->bip_flags & BIP_BLOCK_INTEGRITY)) in bio_integrity_endio()
272 struct bio_integrity_payload *bip = bio_integrity(req->bio); in integrity_req_gap_back_merge() local
276 &bip->bip_vec[bip->bip_vcnt - 1], in integrity_req_gap_back_merge()
283 struct bio_integrity_payload *bip = bio_integrity(bio); in integrity_req_gap_front_merge() local
287 &bip->bip_vec[bip->bip_vcnt - 1], in integrity_req_gap_front_merge()
/linux/Documentation/translations/zh_CN/block/
H A Ddata-integrity.rst102 一个新字段。调用 bio_integrity(bio) 会返回一个指向 struct bip 的指针,该
103 结构体包含了该 bio 的完整性负载。本质上,bip 是一个精简版的 struct bio,其
108 性保护。该函数会分配并附加一个 bip 到该 bio 上。
112 调用 bio_free() 会自动释放bip
167 `struct bip * bio_integrity_alloc(bio, gfp_mask, nr_pages);`
177 将包含完整性元数据的一页附加到已有的 bio 上。该 bio 必须已有 bip
181 中可能会被修改!完整性元数据中的第一个引用标签必须等于 bip->bip_sector。
183 只要 bip bio_vec array(nr_pages)有空间,就可以继续通过
/linux/drivers/md/
H A Ddm-io-rewind.c58 struct bio_integrity_payload *bip = bio_integrity(bio); in dm_bio_integrity_rewind() local
62 bip->bip_iter.bi_sector -= bio_integrity_intervals(bi, bytes_done >> 9); in dm_bio_integrity_rewind()
63 dm_bvec_iter_rewind(bip->bip_vec, &bip->bip_iter, bytes); in dm_bio_integrity_rewind()
H A Draid5.c3437 struct bio **bip; in stripe_bio_overlaps() local
3447 bip = &sh->dev[dd_idx].towrite; in stripe_bio_overlaps()
3449 bip = &sh->dev[dd_idx].toread; in stripe_bio_overlaps()
3451 while (*bip && (*bip)->bi_iter.bi_sector < bi->bi_iter.bi_sector) { in stripe_bio_overlaps()
3452 if (bio_end_sector(*bip) > bi->bi_iter.bi_sector) in stripe_bio_overlaps()
3454 bip = &(*bip)->bi_next; in stripe_bio_overlaps()
3457 if (*bip && (*bip)->bi_iter.bi_sector < bio_end_sector(bi)) in stripe_bio_overlaps()
3497 struct bio **bip; in __add_stripe_bio() local
3501 bip = &sh->dev[dd_idx].towrite; in __add_stripe_bio()
3502 if (!*bip) in __add_stripe_bio()
[all …]
/linux/Documentation/block/
H A Ddata-integrity.rst138 pointer to a struct bip which contains the bio integrity payload.
139 Essentially a bip is a trimmed down struct bio which holds a bio_vec
145 bip to the bio.
150 bio_free() will automatically free the bip.
216 `struct bip * bio_integrity_alloc(bio, gfp_mask, nr_pages);`
228 bio. The bio must have an existing bip,
235 integrity metadata must have a value of bip->bip_sector.
238 there is room in the bip bio_vec array (nr_pages).
/linux/fs/xfs/libxfs/
H A Dxfs_dir2_data.c383 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_dir3_data_write_verify() local
397 if (bip) in xfs_dir3_data_write_verify()
398 hdr3->lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_dir3_data_write_verify()
H A Dxfs_sb.c1160 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_sb_write_verify() local
1179 if (bip) in xfs_sb_write_verify()
1180 dsb->sb_lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_sb_write_verify()
H A Dxfs_ialloc.c2720 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_agi_write_verify() local
2733 if (bip) in xfs_agi_write_verify()
2734 agi->agi_lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_agi_write_verify()
H A Dxfs_da_btree.c305 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_da3_node_write_verify() local
318 if (bip) in xfs_da3_node_write_verify()
319 hdr3->info.lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_da3_node_write_verify()
H A Dxfs_attr_leaf.c478 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_attr3_leaf_write_verify() local
491 if (bip) in xfs_attr3_leaf_write_verify()
492 hdr3->info.lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_attr3_leaf_write_verify()
/linux/Documentation/filesystems/xfs/
H A Dxfs-self-describing-metadata.rst305 struct xfs_buf_log_item *bip = bp->b_fspriv;
317 if (bip) {
319 hdr->lsn = cpu_to_be64(bip->bli_item.li_lsn);