函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:qtree_read_dquot

函数原型:int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot)

返回类型:int

参数:

类型参数名称
struct qtree_mem_dqinfo *info
struct dquot *dquot
608  type等于 USRQUOTA (uid) or GRPQUOTA (gid) or PRJQUOTA (projid)
609  sb等于 superblock this applies to
612  ret等于0
616  如果非 inodes of quotafiles [type]则
617  quota_error(sb, "Quota invalidated while reading!")
618  返回:负EIO
622  如果非 Offset of dquot on disk [dq_lock, stable once set]
623  offset等于Find entry for given id in the tree - wrapper function
624  如果offset小于等于0则
633  ret等于offset
634  转到:out
636  Offset of dquot on disk [dq_lock, stable once set] 等于offset
638  ddquot等于getdqbuf(Size of quota entry in quota file )
639  如果非ddquot则返回:负ENOMEM
641  ret等于quota_read(sb, type, ddquot, Size of quota entry in quota file , Offset of dquot on disk [dq_lock, stable once set] )
643  如果ret不等于Size of quota entry in quota file
644  如果ret大于等于0则ret等于负EIO
646  quota_error(sb, "Error while reading quota structure for id %u", from_kqid( & userns count is 1 for root user, 1 for init_uts_ns,* and 1 for... ?, ID this applies to (uid, gid, projid) ))
648  设置内存位
649  memset( & Diskquota usage [dq_dqb_lock] , 0, sizeof(structmem_dqblk))
650  释放内存
651  转到:out
653  加自旋锁
654  disk2mem_dqblk(dquot, ddquot)
655  如果非absolute limit on disk blks alloc 且非preferred limit on disk blks 且非absolute limit on allocated inodes 且非preferred inode limit 设置内存位
660  自旋锁解锁
661  释放内存
662  out :
663  dqstats_inc(DQST_READS)
664  返回:ret
调用者
名称描述
v2_read_dquot