Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-core.c Create Date:2022-07-28 17:00:32
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:lk_update_request - Special helper function for request stacking drivers*@req: the request being processed*@error: block status code*@nr_bytes: number of bytes to complete @req* Description:* Ends I/O on a number of bytes attached to @req, but doesn't

Proto:bool blk_update_request(struct request *req, blk_status_t error, unsigned int nr_bytes)

Type:bool

Parameter:

TypeParameterName
struct request *req
blk_status_terror
unsigned intnr_bytes
1441  lock_rq_complete - block IO operation completed by device driver*@rq: block operations request*@error: status code*@nr_bytes: number of completed bytes* The block_rq_complete tracepoint event indicates that some portion
1443  If Not bio Then Return false
1447  If blk_integrity_rq(req) && req_op(req) == REQ_OP_READ && error == BLK_STS_OK Then complete_fn(req, nr_bytes)
1452  If Value for the false possibility is greater at compile time(error && !blk_rq_is_passthrough(req) && !(rq_flags & don't warn about errors )) Then print_req_error(req, error, __func__)
1456  blk_account_io_completion(req, nr_bytes)
1458  total_bytes = 0
1459  When bio cycle
1460  bio = bio
1461  bio_bytes = min - return minimum of two values of the same or compatible types*@x: first value*@y: second value( residual I/O count , nr_bytes)
1463  If bio_bytes == residual I/O count Then bio = request queue link
1467  bio_clear_flag(bio, BIO_TRACE_COMPLETION)
1468  req_bio_endio(req, bio, bio_bytes, error)
1470  total_bytes += bio_bytes
1471  nr_bytes -= bio_bytes
1473  If Not nr_bytes Then Break
1480  If Not bio Then
1486  total data len = 0
1487  Return false
1490  total data len -= total_bytes
1493  If Not blk_rq_is_passthrough(req) Then sector cursor += total_bytes >> 9
1497  If rq_flags & merge of different types, fail separately Then
1498  op and common flags &= ~REQ_FAILFAST_MASK
1499  op and common flags |= bottom bits req flags, * top bits REQ_OP. Use * accessors. & REQ_FAILFAST_MASK
1502  If Not (rq_flags & Look at ->special_vec for the actual data payload instead of thebio chain. ) Then
1507  If blk_rq_bytes(req) < blk_rq_cur_bytes(req) Then
1508  blk_dump_rq_flags(req, "request botched")
1513  * Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed. = blk_recalc_rq_segments(req)
1516  Return true
Caller
NameDescribe
blk_mq_end_request