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.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 7899737a9a3e..180334710596 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -688,6 +688,17 @@ static inline int inode_unhashed(struct inode *inode)
688} 688}
689 689
690/* 690/*
691 * __mark_inode_dirty expects inodes to be hashed. Since we don't
692 * want special inodes in the fileset inode space, we make them
693 * appear hashed, but do not put on any lists. hlist_del()
694 * will work fine and require no locking.
695 */
696static inline void inode_fake_hash(struct inode *inode)
697{
698 hlist_add_fake(&inode->i_hash);
699}
700
701/*
691 * inode->i_mutex nesting subclasses for the lock validator: 702 * inode->i_mutex nesting subclasses for the lock validator:
692 * 703 *
693 * 0: the object of the current VFS operation 704 * 0: the object of the current VFS operation
@@ -2017,6 +2028,8 @@ static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp)
2017 * I_OVL_INUSE Used by overlayfs to get exclusive ownership on upper 2028 * I_OVL_INUSE Used by overlayfs to get exclusive ownership on upper
2018 * and work dirs among overlayfs mounts. 2029 * and work dirs among overlayfs mounts.
2019 * 2030 *
2031 * I_CREATING New object's inode in the middle of setting up.
2032 *
2020 * Q: What is the difference between I_WILL_FREE and I_FREEING? 2033 * Q: What is the difference between I_WILL_FREE and I_FREEING?
2021 */ 2034 */
2022#define I_DIRTY_SYNC (1 << 0) 2035#define I_DIRTY_SYNC (1 << 0)
@@ -2037,7 +2050,8 @@ static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp)
2037#define __I_DIRTY_TIME_EXPIRED 12 2050#define __I_DIRTY_TIME_EXPIRED 12
2038#define I_DIRTY_TIME_EXPIRED (1 << __I_DIRTY_TIME_EXPIRED) 2051#define I_DIRTY_TIME_EXPIRED (1 << __I_DIRTY_TIME_EXPIRED)
2039#define I_WB_SWITCH (1 << 13) 2052#define I_WB_SWITCH (1 << 13)
2040#define I_OVL_INUSE (1 << 14) 2053#define I_OVL_INUSE (1 << 14)
2054#define I_CREATING (1 << 15)
2041 2055
2042#define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC) 2056#define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC)
2043#define I_DIRTY (I_DIRTY_INODE | I_DIRTY_PAGES) 2057#define I_DIRTY (I_DIRTY_INODE | I_DIRTY_PAGES)
@@ -2919,6 +2933,7 @@ extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
2919static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { }; 2933static inline void lockdep_annotate_inode_mutex_key(struct inode *inode) { };
2920#endif 2934#endif
2921extern void unlock_new_inode(struct inode *); 2935extern void unlock_new_inode(struct inode *);
2936extern void discard_new_inode(struct inode *);
2922extern unsigned int get_next_ino(void); 2937extern unsigned int get_next_ino(void);
2923extern void evict_inodes(struct super_block *sb); 2938extern void evict_inodes(struct super_block *sb);
2924 2939