函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:lock_invalidatepage - invalidate part or all of a buffer-backed page*@page: the page which is affected*@offset: start of the range to invalidate*@length: length of the range to invalidate* block_invalidatepage() is called when all or part of the page has

函数原型:void block_invalidatepage(struct page *page, unsigned int offset, unsigned int length)

返回类型:void

参数:

类型参数名称
struct page *page
unsigned intoffset
unsigned intlength
1502  curr_off等于0
1503  stop等于lengthoffset
1505  BUG_ON(!PageLocked(page))
1506  如果非page_has_buffers(page)则转到:out
1512  BUG_ON(stop > PAGE_SIZE || stop < length)
1514  head等于If we *know* page->private refers to buffer_heads (page)
1515  bh等于head
1516  循环
1517  next_off等于curr_off size of mapping
1518  next等于 circular list of page's buffers
1523  如果next_off大于stop则转到:out
1529  如果offset小于等于curr_offdiscard_buffer(bh)
1531  curr_off等于next_off
1532  bh等于next
1533 bh不等于head循环
1540  如果length恒等于PAGE_SIZEry_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
1542  out :
1543  返回