Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Unconditionally remove exceptional entries. Usually called from truncate* path. Note that the pagevec may be altered by this function by removing* exceptional entries similar to what pagevec_remove_exceptionals does.

Proto:static void truncate_exceptional_pvec_entries(struct address_space *mapping, struct pagevec *pvec, unsigned long *indices, unsigned long end)

Type:void

Parameter:

TypeParameterName
struct address_space *mapping
struct pagevec *pvec
unsigned long *indices
unsigned longend
67  If shmem_mapping(mapping) Then Return
70  When j < pagevec_count(pvec) cycle If xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer. Then
72  Break
74  If j == pagevec_count(pvec) Then Return
77  dax = dax_mapping(mapping)
78  lock = Not dax && indices[j] < end
79  If lock Then xa_lock_irq( & i_pages)
82  When i < pagevec_count(pvec) cycle
83  page = pages[i]
84  index = indices[i]
87  pages[j++] = page
88  Continue
91  If index >= end Then Continue
96  Continue
99  Regular page slots are stabilized by the page lock even without the tree* itself locked. These unlocked entries need verification under the tree* lock.
102  If lock Then xa_unlock_irq( & i_pages)
104  nr = j
Caller
NameDescribe
truncate_inode_pages_rangeruncate_inode_pages_range - truncate range of pages specified by start & end byte offsets*@mapping: mapping to truncate*@lstart: offset from which to truncate*@lend: offset to which to truncate (inclusive)* Truncate the page cache, removing the pages that