函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:fsync_buffers_list

函数原型:static int fsync_buffers_list(spinlock_t *lock, struct list_head *list)

返回类型:int

参数:

类型参数名称
spinlock_t *lock
struct list_head *list
718  err等于0
721  初始化链表头
722  blk_start_plug( & plug)
724  加自旋锁
725  当非链表为空循环
726  bh等于BH_ENTRY(链表后项)
727  mapping等于 mapping this buffer is associated with
728  The buffer's backing address_space's private_lock must be held
731  smp_mb()
732  如果buffer_dirty(bh)或buffer_locked(bh)则
735  如果buffer_dirty(bh)则
759  自旋锁解锁
760  blk_finish_plug( & plug)
761  加自旋锁
763  当非链表为空循环
764  bh等于BH_ENTRY(链表前项)
765  get_bh(bh)
766  mapping等于 mapping this buffer is associated with
767  The buffer's backing address_space's private_lock must be held
770  smp_mb()
771  如果buffer_dirty(bh)则
776  自旋锁解锁
777  wait_on_buffer(bh)
778  如果非Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.err等于负EIO
780  brelse(bh)
781  加自旋锁
784  自旋锁解锁
785  err2等于sync is designed to support O_SYNC io
786  如果err则返回:err
788  否则返回:err2
调用者
名称描述
sync_mapping_bufferssync_mapping_buffers - write out & wait upon a mapping's "associated" buffers*@mapping: the mapping which wants those buffers written* Starts I/O against the buffers at mapping->private_list, and waits upon* that I/O.