函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-29 10:45:24
Last Modify:2020-03-18 10:38:29 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:The generic ->writepage function for buffer-backed address_spaces

函数原型:int block_write_full_page(struct page *page, get_block_t *get_block, struct writeback_control *wbc)

返回类型:int

参数:

类型参数名称
struct page *page
get_block_t *get_block
struct writeback_control *wbc
2962  inode等于host
2963  i_size等于NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they
2964  end_index等于i_size右移PAGE_SHIFT determines the page size
2968  如果 Our offset within mapping. 小于end_index则返回:While block_write_full_page is writing back the dirty buffers under* the page lock, whoever dirtied the buffers may decide to clean them* again at any time
2973  offset等于i_size按位与PAGE_SIZE减1
2974  如果 Our offset within mapping. 大于等于end_index加1或非offset
2980  do_invalidatepage - invalidate part or all of a page*@page: the page which is affected*@offset: start of the range to invalidate*@length: length of the range to invalidate* do_invalidatepage() is called when all or part of the page has become
2981  lock_page - unlock a locked page*@page: the page* Unlocks the page and wakes up sleepers in ___wait_on_page_locked().* Also wakes sleepers in wait_on_page_writeback() because the wakeup* mechanism between PageLocked pages and PageWriteback pages is shared.
2982  返回:0
2992  zero_user_segment(page, offset, PAGE_SIZE)
2993  返回:While block_write_full_page is writing back the dirty buffers under* the page lock, whoever dirtied the buffers may decide to clean them* again at any time
调用者
名称描述
blkdev_writepage