Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:This is like invalidate_complete_page(), except it ignores the page's* refcount

Proto:static int invalidate_complete_page2(struct address_space *mapping, struct page *page)

Type:int

Parameter:

TypeParameterName
struct address_space *mapping
struct page *page
640  If See page-flags.h for PAGE_MAPPING_FLAGS != mapping Then Return 0
643  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 Return 0
646  xa_lock_irqsave( & i_pages, flags)
647  If PageDirty(page) Then Go to failed
650  BUG_ON(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.)
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  If freepage Then freepage(page)
657  put_page(page)
658  Return 1
659  failed :
660  xa_unlock_irqrestore( & i_pages, flags)
661  Return 0
Caller
NameDescribe
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