| 函数逻辑报告 | 
| Source Code: fs\super.c | Create Date:2022-07-29 10:32:20 | 
| Last Modify:2022-05-24 06:42:17 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:alloc_super - create new superblock*@type: filesystem type superblock should belong to*@flags: the mount flags*@user_ns: User namespace for the super_block* Allocates and initializes a new &struct super_block. alloc_super()
函数原型:static struct super_block *alloc_super(struct file_system_type *type, int flags, struct user_namespace *user_ns)
返回类型:struct super_block
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct file_system_type * | type | |
| int | flags | |
| struct user_namespace * | user_ns | 
| 207 | 如果非s则返回:NULL | 
| 210 | 初始化链表头 | 
| 211 | s_user_ns等于get_user_ns(user_ns) | 
| 212 | init_rwsem( & s_umount) | 
| 213 | lockdep_set_class( & s_umount, & s_umount_key) | 
| 231 | 如果security_sb_alloc(s)则转到:fail | 
| 234 | 以i小于SB_FREEZE_LEVELS循环 | 
| 235 | 如果__percpu_init_rwsem( & rw_sem[i], sb_writers_name[i], & s_writers_key[i])则转到:fail | 
| 240 | init_waitqueue_head( & wait_unfrozen) | 
| 243 | 如果s_user_ns不等于userns count is 1 for root user, 1 for init_uts_ns,* and 1 for... ?则s_iflags或等于Ignore devices on this fs | 
| 245 | INIT_HLIST_NODE( & s_instances) | 
| 246 | INIT_HLIST_BL_HEAD( & s_roots) | 
| 247 | mutex_init - initialize the mutex*@mutex: the mutex to be initialized* Initialize the mutex to unlocked state.* It is not allowed to initialize an already locked mutex.( & s_sync_lock) | 
| 248 | 初始化链表头 | 
| 249 | spin_lock_init( & s_inode_list_lock) | 
| 250 | 初始化链表头 | 
| 251 | spin_lock_init( & s_inode_wblist_lock) | 
| 253 | s_count等于1 | 
| 254 | atomic_set( & s_active, 1) | 
| 255 | mutex_init - initialize the mutex*@mutex: the mutex to be initialized* Initialize the mutex to unlocked state.* It is not allowed to initialize an already locked mutex.( & s_vfs_rename_mutex) | 
| 256 | lockdep_set_class( & s_vfs_rename_mutex, & s_vfs_rename_key) | 
| 257 | init_rwsem( & dqio_sem) | 
| 258 | s_maxbytes等于MAX_NON_LFS | 
| 259 | s_op等于default_op | 
| 260 | s_time_gran等于1000000000 | 
| 261 | s_time_min等于TIME64_MIN | 
| 268 | batch等于1024 | 
| 269 | flags等于Flags 按位或SHRINKER_MEMCG_AWARE | 
| 272 | 如果list_lru_init_memcg( & s_dentry_lru, & s_shrink)则转到:fail | 
| 274 | 如果list_lru_init_memcg( & s_inode_lru, & s_shrink)则转到:fail | 
| 276 | 返回:s | 
| 278 | fail : | 
| 280 | 返回:NULL | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |