函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:generic_delete_lease

函数原型:static int generic_delete_lease(struct file *filp, void *owner)

返回类型:int

参数:

类型参数名称
struct file *filp
void *owner
1923  error等于负EAGAIN
1924  struct file_lock * fl, * victim = NULL
1925  inode等于locks_inode(filp)
1927  LIST_HEAD(dispose)
1929  ctx等于smp_load_acquire( & i_flctx)
1930  如果非ctx
1931  trace_generic_delete_lease(inode, NULL)
1932  返回:error
1935  percpu_down_read( & file_rwsem)
1936  加自旋锁
1938  如果fl_file恒等于filpfl_owner恒等于owner
1940  victim等于fl
1941  退出
1944  trace_generic_delete_lease(inode, victim)
1945  如果victimerror等于lm_change(victim, F_UNLCK, & dispose)
1947  自旋锁解锁
1948  percpu_up_read( & file_rwsem)
1949  locks_dispose_list( & dispose)
1950  返回:error
调用者
名称描述
generic_setleasegeneric_setlease - sets a lease on an open file*@filp: file pointer*@arg: type of lease to obtain*@flp: input - file_lock to use, output - file_lock inserted*@priv: private data for lm_setup (may be NULL if lm_setup* doesn't require it)* The (input)