Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\iov_iter.c Create Date:2022-07-28 06:21:08
Last Modify:2022-05-21 11:43:54 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:copy_page_to_iter_pipe

Proto:static size_t copy_page_to_iter_pipe(struct page *page, size_t offset, size_t bytes, struct iov_iter *i)

Type:size_t

Parameter:

TypeParameterName
struct page *page
size_toffset
size_tbytes
struct iov_iter *i
370  pipe = pipe
372  p_tail = tail
373  p_mask = ring_size - 1
374  i_head = head
377  If Value for the false possibility is greater at compile time(bytes > count) Then bytes = count
380  If Value for the false possibility is greater at compile time(!bytes) Then Return 0
383  If Not sanity(i) Then Return 0
386  off = iov_offset
387  buf = bufs[i_head & p_mask]
388  If off Then
389  If offset == off && page == page Then
391  len += bytes
392  iov_offset += bytes
393  Go to out
395  i_head++
396  buf = bufs[i_head & p_mask]
398  If pipe_full - Return true if the pipe is full*@head: The pipe ring head pointer*@tail: The pipe ring tail pointer*@limit: The maximum amount of slots available. Then Return 0
401  ops = page_cache_pipe_buf_ops
402  get_page(page)
403  page = page
404  offset = offset
405  len = bytes
407  head = i_head + 1
408  iov_offset = offset + bytes
409  head = i_head
410  out :
411  count -= bytes
412  Return bytes
Caller
NameDescribe
copy_page_to_iter