aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c55d6b7cd5d6..b5b979247863 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -208,6 +208,7 @@ struct inodes_stat_t {
208#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ 208#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
209#define MS_I_VERSION (1<<23) /* Update inode I_version field */ 209#define MS_I_VERSION (1<<23) /* Update inode I_version field */
210#define MS_STRICTATIME (1<<24) /* Always perform atime updates */ 210#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
211#define MS_NOSEC (1<<28)
211#define MS_BORN (1<<29) 212#define MS_BORN (1<<29)
212#define MS_ACTIVE (1<<30) 213#define MS_ACTIVE (1<<30)
213#define MS_NOUSER (1<<31) 214#define MS_NOUSER (1<<31)
@@ -638,6 +639,7 @@ struct address_space {
638 struct prio_tree_root i_mmap; /* tree of private and shared mappings */ 639 struct prio_tree_root i_mmap; /* tree of private and shared mappings */
639 struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */ 640 struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */
640 struct mutex i_mmap_mutex; /* protect tree, count, list */ 641 struct mutex i_mmap_mutex; /* protect tree, count, list */
642 /* Protected by tree_lock together with the radix tree */
641 unsigned long nrpages; /* number of total pages */ 643 unsigned long nrpages; /* number of total pages */
642 pgoff_t writeback_index;/* writeback starts here */ 644 pgoff_t writeback_index;/* writeback starts here */
643 const struct address_space_operations *a_ops; /* methods */ 645 const struct address_space_operations *a_ops; /* methods */
@@ -743,9 +745,13 @@ struct inode {
743 745
744 spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ 746 spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */
745 unsigned int i_flags; 747 unsigned int i_flags;
748 unsigned long i_state;
749#ifdef CONFIG_SECURITY
750 void *i_security;
751#endif
746 struct mutex i_mutex; 752 struct mutex i_mutex;
747 753
748 unsigned long i_state; 754
749 unsigned long dirtied_when; /* jiffies of first dirtying */ 755 unsigned long dirtied_when; /* jiffies of first dirtying */
750 756
751 struct hlist_node i_hash; 757 struct hlist_node i_hash;
@@ -797,9 +803,6 @@ struct inode {
797 atomic_t i_readcount; /* struct files open RO */ 803 atomic_t i_readcount; /* struct files open RO */
798#endif 804#endif
799 atomic_t i_writecount; 805 atomic_t i_writecount;
800#ifdef CONFIG_SECURITY
801 void *i_security;
802#endif
803#ifdef CONFIG_FS_POSIX_ACL 806#ifdef CONFIG_FS_POSIX_ACL
804 struct posix_acl *i_acl; 807 struct posix_acl *i_acl;
805 struct posix_acl *i_default_acl; 808 struct posix_acl *i_default_acl;
@@ -2591,7 +2594,7 @@ static inline int is_sxid(mode_t mode)
2591 2594
2592static inline void inode_has_no_xattr(struct inode *inode) 2595static inline void inode_has_no_xattr(struct inode *inode)
2593{ 2596{
2594 if (!is_sxid(inode->i_mode)) 2597 if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & MS_NOSEC))
2595 inode->i_flags |= S_NOSEC; 2598 inode->i_flags |= S_NOSEC;
2596} 2599}
2597 2600