Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-28 20:14:12
Last Modify:2020-03-18 10:38:29 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:bh_writepage() - based on block_full_write_page() except* that it tries to operate without attaching bufferheads to* the page.

Proto:int nobh_writepage(struct page *page, get_block_t *get_block, struct writeback_control *wbc)

Type:int

Parameter:

TypeParameterName
struct page *page
get_block_t *get_block
struct writeback_control *wbc
2758  inode = host
2759  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
2760  end_index = i_size >> PAGE_SHIFT determines the page size
2765  If Our offset within mapping. < end_index Then Go to out
2769  offset = i_size & PAGE_SIZE - 1
2770  If Our offset within mapping. >= end_index + 1 || Not offset Then
2781  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.
2782  Return 0
2792  zero_user_segment(page, offset, PAGE_SIZE)
2793  out :
2794  ret = mpage_writepage(page, get_block, wbc)
2795  If ret == -EAGAIN Then ret = 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
2798  Return ret