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 |