Function report |
Source Code:fs\buffer.c |
Create Date:2022-07-28 20:14:11 |
| Last Modify:2020-03-18 10:38:29 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Generic "read page" function for block devices that have the normal* get_block functionality
Proto:int block_read_full_page(struct page *page, get_block_t *get_block)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct page * | page | |
| get_block_t * | get_block |
| 2263 | fully_mapped = 1 |
| 2265 | head = create_page_buffers(page, inode, 0) |
| 2266 | blocksize = size of mapping |
| 2272 | nr = 0 |
| 2273 | i = 0 |
| 2275 | Do |
| 2279 | If Not buffer_mapped(bh) Then |
| 2280 | err = 0 |
| 2282 | fully_mapped = 0 |
| 2284 | WARN_ON( size of mapping != blocksize) |
| 2286 | If err Then SetPageError(page) |
| 2289 | If Not buffer_mapped(bh) Then |
| 2305 | If fully_mapped Then SetPageMappedToDisk(page) |
| 2308 | If Not nr Then |
| 2313 | If Not PageError(page) Then SetPageUptodate(page) |
| 2316 | Return 0 |
| 2322 | lock_buffer(bh) |
| 2335 | Else submit_bh(REQ_OP_READ, 0, bh) |
| 2338 | Return 0 |
| Name | Describe |
|---|---|
| blkdev_readpage | |
| do_mpage_readpage | This is the worker routine which does all the work of mapping the disk* blocks and constructs largest possible bios, submits them for IO if the* blocks are not contiguous on the disk |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |