| /linux/fs/xfs/ |
| H A D | xfs_buf_item.c | 37 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 D | xfs_buf_item.h | 52 void xfs_buf_item_put(struct xfs_buf_log_item *bip);
|
| H A D | xfs_buf_item_recover.c | 449 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 D | xfs_trace.h | 884 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 D | bio-integrity.c | 14 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 D | bio-integrity-auto.c | 20 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 D | blk-integrity.c | 143 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 D | blk.h | 257 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 D | data-integrity.rst | 102 一个新字段。调用 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 D | dm-io-rewind.c | 58 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 D | raid5.c | 3437 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 D | data-integrity.rst | 138 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 D | xfs_dir2_data.c | 383 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 D | xfs_sb.c | 1160 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 D | xfs_ialloc.c | 2720 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 D | xfs_da_btree.c | 305 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 D | xfs_attr_leaf.c | 478 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 D | xfs-self-describing-metadata.rst | 305 struct xfs_buf_log_item *bip = bp->b_fspriv; 317 if (bip) { 319 hdr->lsn = cpu_to_be64(bip->bli_item.li_lsn);
|