|
@@ -1393,17 +1393,26 @@ struct super_block {
|
|
|
|
|
|
struct sb_writers s_writers;
|
|
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;
|
|
|
|
+#ifdef CONFIG_FSNOTIFY
|
|
|
|
+ __u32 s_fsnotify_mask;
|
|
|
|
+ struct fsnotify_mark_connector __rcu *s_fsnotify_marks;
|
|
|
|
+#endif
|
|
|
|
+
|
|
char s_id[32]; /* Informational name */
|
|
char s_id[32]; /* Informational name */
|
|
uuid_t s_uuid; /* UUID */
|
|
uuid_t s_uuid; /* UUID */
|
|
|
|
|
|
- void *s_fs_info; /* Filesystem private info */
|
|
|
|
unsigned int s_max_links;
|
|
unsigned int s_max_links;
|
|
fmode_t s_mode;
|
|
fmode_t s_mode;
|
|
|
|
|
|
- /* Granularity of c/m/atime in ns.
|
|
|
|
- Cannot be worse than a second */
|
|
|
|
- u32 s_time_gran;
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* The next field is for VFS *only*. No filesystems have any business
|
|
* The next field is for VFS *only*. No filesystems have any business
|
|
* even looking at it. You had been warned.
|
|
* even looking at it. You had been warned.
|
|
@@ -1464,11 +1473,6 @@ struct super_block {
|
|
|
|
|
|
spinlock_t s_inode_wblist_lock;
|
|
spinlock_t s_inode_wblist_lock;
|
|
struct list_head s_inodes_wb; /* writeback inodes */
|
|
struct list_head s_inodes_wb; /* writeback inodes */
|
|
-
|
|
|
|
-#ifdef CONFIG_FSNOTIFY
|
|
|
|
- __u32 s_fsnotify_mask;
|
|
|
|
- struct fsnotify_mark_connector __rcu *s_fsnotify_marks;
|
|
|
|
-#endif
|
|
|
|
} __randomize_layout;
|
|
} __randomize_layout;
|
|
|
|
|
|
/* Helper functions so that in most cases filesystems will
|
|
/* Helper functions so that in most cases filesystems will
|