Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-28 20:14:09
Last Modify:2020-03-18 10:38:29 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Perform a pagecache lookup for the matching buffer. If it's there, refresh* it in the LRU and mark it as accessed. If it is not present then return* NULL

Proto:struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block, unsigned size)

Type:struct buffer_head

Parameter:

TypeParameterName
struct block_device *bdev
sector_tblock
unsignedsize
1332  bh = Look up the bh in this cpu's LRU. If it's there, move it to the head.
1334  If (bh == NULL) Then
1336  bh = Various filesystems appear to want __find_get_block to be non-blocking
1337  If bh Then Install a buffer_head into this cpu's LRU. If not already in the LRU, it is* inserted at the front, and the buffer_head at the back if any is evicted.* Or, if already in the LRU it is moved to the front.
1339  Else touch_buffer(bh)
1342  Return bh
Caller
NameDescribe
write_boundary_blockCalled when we've recently written block `bblock', and it is known that* `bblock' was for a buffer_boundary() buffer. This means that the block at* `bblock + 1' is probably a dirty indirect block. Hunt it down and, if it's* dirty, schedule it for IO
__getblk_slow
__getblk_gfp__getblk_gfp() will locate (and, if necessary, create) the buffer_head* which corresponds to the passed block_device, block and size. The* returned buffer has its reference count incremented.* __getblk_gfp() will lock up the machine if grow_dev_page's