linux中blk函数的用法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"linux中blk函数的用法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux
千家信息网最后更新 2026年11月01日linux中blk函数的用法
本篇内容介绍了"linux中blk函数的用法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
linux 块层学习
1. blk-map.c代码中的函数
blk_rq_append_bio
int blk_rq_append_bio(struct request *rq, struct bio *bio){ if (!rq->bio) { //yyf: rq中无bio时 blk_rq_bio_prep(rq->q, rq, bio); } else { if (!ll_back_merge_fn(rq->q, rq, bio)) return -EINVAL; rq->biotail->bi_next = bio; rq->biotail = bio; rq->__data_len += bio->bi_iter.bi_size; } return 0;}EXPORT_SYMBOL(blk_rq_append_bio);blk_rq_append_bio的功能是挂个bio到rq,如果rq中已经存在bio了,则直接更新rq->biotail指向的最后一个bio的bi_next指针,并更新biotail指针和__data_len长度。
当rq中无bio时,执行blk_rq_bio_prep函数:
void blk_rq_bio_prep(struct request_queue *q, struct request *rq, struct bio *bio){ if (bio_has_data(bio)) //yyf: 如果有数据的话,则赋值rq的nr_phys_segments rq->nr_phys_segments = bio_phys_segments(q, bio); rq->__data_len = bio->bi_iter.bi_size; rq->bio = rq->biotail = bio; //yyf: bio挂入rq链表 if (bio->bi_bdev) rq->rq_disk = bio->bi_bdev->bd_disk;}bio_has_data判断bio是否携带数据,在
/* * Check whether this bio carries any data or not. A NULL bio is allowed. */static inline bool bio_has_data(struct bio *bio){ if (bio && bio->bi_iter.bi_size && bio_op(bio) != REQ_OP_DISCARD && bio_op(bio) != REQ_OP_SECURE_ERASE && bio_op(bio) != REQ_OP_WRITE_ZEROES) return true; return false;}bio_has_data函数很简单,就是判断bio是否存在,是否有bi_size,是否满足一定的操作命令。
"linux中blk函数的用法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
函数
内容
指针
数据
更多
知识
学习
更新
实用
学有所成
接下来
代码
功能
命令
困境
实际
就是
情况
指向
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
有格互联网科技
中国互联网科技股
以房互联网科技
卓越科技(互联网 )
掌上梦互联网科技
成都狮子座互联网科技
卫星互联网科技股票
互联网科技创新服务
宝灵互联网科技有限公司
语蝶互联网科技有限公司
互联网科技和信息
互联网金融科技展
2021互联网科技公司排名
深圳无忧互联网科技
互联网相关科技技术
福建互联网展示科技馆设计
吉林省码上互联网科技电话
易租星互联网科技有限公司
银川新华互联网科技学校原画
狮子座互联网科技
互联网科技公司怎么样
艾特科技互联网
温州喔噻互联网科技有限公司
互联网和黑科技的看法
玉溪互联网科技怎么选
速维有品互联网信息科技(苏州)有限公司
华夏恒生互联网科技013171
从那以后互联网科技有限公司
山东大美朱楼互联网科技有限公司