函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:This is like invalidate_complete_page(), except it ignores the page's* refcount

函数原型:static int invalidate_complete_page2(struct address_space *mapping, struct page *page)

返回类型:int

参数:

类型参数名称
struct address_space *mapping
struct page *page
640  如果 See page-flags.h for PAGE_MAPPING_FLAGS 不等于mapping则返回:0
643  如果页面私有占用且非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则返回:0
646  xa_lock_irqsave( & i_pages, flags)
647  如果PageDirty(page)则转到:failed
650  BUG_ON(页面私有占用)
651  Delete a page from the page cache and free it. Caller has to make* sure the page is locked and that nobody else uses it - or that usage* is safe. The caller must hold the i_pages lock.
652  xa_unlock_irqrestore( & i_pages, flags)
654  如果freepagefreepage(page)
657  put_page(page)
658  返回:1
659  failed :
660  xa_unlock_irqrestore( & i_pages, flags)
661  返回:0
调用者
名称描述
invalidate_inode_pages2_rangevalidate_inode_pages2_range - remove range of pages from an address_space*@mapping: the address_space*@start: the page offset 'from' which to invalidate*@end: the page offset 'to' which to invalidate (inclusive)* Any pages which are found to be mapped