当前位置: 首页 > news >正文

【linux内核】super_lock

 

struct super_block {struct list_head	s_list;		/* Keep this first */dev_t			s_dev;		/* search index; _not_ kdev_t */unsigned char		s_blocksize_bits;unsigned long		s_blocksize;loff_t			s_maxbytes;	/* Max file size */struct file_system_type	*s_type;const struct super_operations	*s_op;const struct dquot_operations	*dq_op;const struct quotactl_ops	*s_qcop;const struct export_operations *s_export_op;unsigned long		s_flags;unsigned long		s_iflags;	/* internal SB_I_* flags */unsigned long		s_magic;struct dentry		*s_root;struct rw_semaphore	s_umount;int			s_count;atomic_t		s_active;
#ifdef CONFIG_SECURITYvoid                    *s_security;
#endifconst struct xattr_handler **s_xattr;
#ifdef CONFIG_FS_ENCRYPTIONconst struct fscrypt_operations	*s_cop;struct fscrypt_keyring	*s_master_keys; /* master crypto keys in use */
#endif
#ifdef CONFIG_FS_VERITYconst struct fsverity_operations *s_vop;
#endif
#ifdef CONFIG_UNICODEstruct unicode_map *s_encoding;__u16 s_encoding_flags;
#endifstruct hlist_bl_head	s_roots;	/* alternate root dentries for NFS */struct list_head	s_mounts;	/* list of mounts; _not_ for fs use */struct block_device	*s_bdev;struct backing_dev_info *s_bdi;struct mtd_info		*s_mtd;struct hlist_node	s_instances;unsigned int		s_quota_types;	/* Bitmask of supported quota types */struct quota_info	s_dquot;	/* Diskquota specific options */struct sb_writers	s_writers;/** Keep s_fs_info, s_time_gran, s_fsnotify_mask, and* s_fsnotify_marks together for cache efficiency. They are frequently* accessed and rarely modified.*/void			*s_fs_info;	/* Filesystem private info *//* Granularity of c/m/atime in ns (cannot be worse than a second) */u32			s_time_gran;/* Time limits for c/m/atime in seconds */time64_t		   s_time_min;time64_t		   s_time_max;
#ifdef CONFIG_FSNOTIFY__u32			s_fsnotify_mask;struct fsnotify_mark_connector __rcu	*s_fsnotify_marks;
#endifchar			s_id[32];	/* Informational name */uuid_t			s_uuid;		/* UUID */unsigned int		s_max_links;fmode_t			s_mode;/** The next field is for VFS *only*. No filesystems have any business* even looking at it. You had been warned.*/struct mutex s_vfs_rename_mutex;	/* Kludge *//** Filesystem subtype.  If non-empty the filesystem type field* in /proc/mounts will be "type.subtype"*/const char *s_subtype;const struct dentry_operations *s_d_op; /* default d_op for dentries *//** Saved pool identifier for cleancache (-1 means none)*/int cleancache_poolid;struct shrinker s_shrink;	/* per-sb shrinker handle *//* Number of inodes with nlink == 0 but still referenced */atomic_long_t s_remove_count;/** Number of inode/mount/sb objects that are being watched, note that* inodes objects are currently double-accounted.*/atomic_long_t s_fsnotify_connectors;/* Being remounted read-only */int s_readonly_remount;/* per-sb errseq_t for reporting writeback errors via syncfs */errseq_t s_wb_err;/* AIO completions deferred from interrupt context */struct workqueue_struct *s_dio_done_wq;struct hlist_head s_pins;/** Owning user namespace and default context in which to* interpret filesystem uids, gids, quotas, device nodes,* xattrs and security labels.*/struct user_namespace *s_user_ns;/** The list_lru structure is essentially just a pointer to a table* of per-node lru lists, each of which has its own spinlock.* There is no need to put them into separate cachelines.*/struct list_lru		s_dentry_lru;struct list_lru		s_inode_lru;struct rcu_head		rcu;struct work_struct	destroy_work;struct mutex		s_sync_lock;	/* sync serialisation lock *//** Indicates how deep in a filesystem stack this SB is*/int s_stack_depth;/* s_inode_list_lock protects s_inodes */spinlock_t		s_inode_list_lock ____cacheline_aligned_in_smp;struct list_head	s_inodes;	/* all inodes */spinlock_t		s_inode_wblist_lock;struct list_head	s_inodes_wb;	/* writeback inodes */
} __randomize_layout;

 

http://www.gsyq.cn/news/29032.html

相关文章:

  • OPPO手机“绿线”障碍争议,高价等于高端,何以分食iPhone市场?
  • SpringBoot整合SpringDoc
  • 中国企业DevOps工具链选型:本土化适配与安全可控成关键考量
  • 技术拐点将至:AI 大模型的挑战突围与产业重构 - 指南
  • Executing System Commands in Python - ENGINEER
  • win10开始安装vs2022时闪退问题记录
  • (WebSocket)心理咨询管理系统开发ing......
  • 1基础的UActorComponent基类实现功能模块化
  • 2025 泳池设备厂家专业解决方案与设备优势,推荐 Firsle 法思乐,全产业链服务解析
  • 2025年10月杭州模拟人开发公司对比榜:服务链路深度拆解
  • NativeMessaging通信失败问题
  • 2025年10月中国电缆品牌评价榜:十强参数与口碑全解析
  • oracle NVL和NVL2
  • 2025年中国国际健康营养博览会(NHNE):深度解析亚洲旗舰展的供需对接效能
  • 增强AI股票预测分析报告 - 2025年10月24日
  • CAD燕秀工具箱2.88中文正式版下载与安装教程
  • RTX 5070 Ti 安装 PyTorch CUDA 完整指南 - 解决 sm_120 兼容性问题
  • java 代码加密混淆之Allatori
  • 2025年10月小红书代运营公司推荐榜:五强评测与选择策略
  • Bun v1.3 重磅发布:一站式全栈 JS 运行时,前端开发、数据库、Redis 全内置
  • 2025年10月中国丝绸选购榜:十家口碑排行全解析
  • 2025年10月益生菌品牌推荐:权威榜单对比全解析
  • 2025年10月种植牙医院排名:五强真实数据公开
  • Langflow:面向 AI Agent、API 与 LLM 的拖拽式流程构建工具
  • 权威调研榜单:环形导轨实力厂家TOP3榜单好评深度解析
  • 关于九州通WMS函数 SQL的相关保存表名
  • 基于PCIe3.0X16的的100G光纤采集存储设备
  • Java泛型符号T、E、K、V、? 傻傻分不清楚
  • 实用指南:小米投下语音AI“核弹”:MiMo-Audio开源,语音领域的“GPT-3时刻”来了
  • 换 Windows 新电脑?教你将旧电脑程序传输新电脑技巧