Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Attempt to steal a page from a pipe buffer. This should perhaps go into* a vm helper function, it's already simplified quite a bit by the* addition of remove_mapping(). If success is returned, the caller may

Proto:static int page_cache_pipe_buf_steal(struct pipe_inode_info *pipe, struct pipe_buffer *buf)

Type:int

Parameter:

TypeParameterName
struct pipe_inode_info *pipe
struct pipe_buffer *buf
50  page = page
53  lock_page may only be called if we have the page's inode pinned.
55  mapping = page_mapping(page)
56  If mapping Then
57  WARN_ON(!PageUptodate(page))
67  Wait for a page to complete writeback
69  If page_has_private - Determine if page has private stuff*@page: The page to be checked* Determine if a page has private stuff, indicating that release routines* should be invoked upon it. && Not ry_to_release_page() - release old fs-specific metadata on a page*@page: the page which the kernel is trying to free*@gfp_mask: memory allocation flags (and I/O mode)* The address_space is to try to release any data against the page Then Go to out_unlock
79  Return 0
87  out_unlock :
88  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.
89  Return 1