Function report |
Source Code:fs\buffer.c |
Create Date:2022-07-28 20:14:10 |
| Last Modify:2020-03-18 10:38:29 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__block_write_begin_int
Proto:int __block_write_begin_int(struct page *page, loff_t pos, unsigned len, get_block_t *get_block, struct iomap *iomap)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct page * | page | |
| loff_t | pos | |
| unsigned | len | |
| get_block_t * | get_block | |
| struct iomap * | iomap |
| 1978 | err = 0 |
| 1980 | wait_bh = wait |
| 1982 | BUG_ON(!PageLocked(page)) |
| 1987 | head = create_page_buffers(page, inode, 0) |
| 1988 | blocksize = size of mapping |
| 1993 | When bh != head || Not block_start cycle |
| 1995 | block_end = block_start + blocksize |
| 1996 | If block_end <= from || block_start >= to Then |
| 1997 | If PageUptodate(page) Then |
| 2001 | Continue |
| 2003 | If buffer_new(bh) Then clear_buffer_new(bh) |
| 2005 | If Not buffer_mapped(bh) Then |
| 2006 | WARN_ON( size of mapping != blocksize) |
| 2007 | If get_block Then |
| 2011 | Else |
| 2012 | iomap_to_bh(inode, block, bh, iomap) |
| 2015 | If buffer_new(bh) Then |
| 2016 | clean_bdev_bh_alias(bh) |
| 2017 | If PageUptodate(page) Then |
| 2018 | clear_buffer_new(bh) |
| 2021 | Continue |
| 2023 | If block_end > to || block_start < from Then zero_user_segments(page, to, block_end, block_start, from) |
| 2027 | Continue |
| 2030 | If PageUptodate(page) Then |
| 2033 | Continue |
| 2046 | wait_on_buffer( * --wait_bh) |
| 2052 | Return err |
| Name | Describe |
|---|---|
| __block_write_begin | |
| iomap_write_begin | |
| iomap_page_mkwrite_actor |
| 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 |