函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\splice.c Create Date:2022-07-29 10:42:06
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:static int page_cache_pipe_buf_steal(struct pipe_inode_info *pipe, struct pipe_buffer *buf)

返回类型:int

参数:

类型参数名称
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  如果mapping
57  WARN_ON(!PageUptodate(page))
67  Wait for a page to complete writeback
69  如果页面私有占用且非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则转到:out_unlock
79  返回: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  返回:1