diff options
Diffstat (limited to 'fs/f2fs/f2fs.h')
| -rw-r--r-- | fs/f2fs/f2fs.h | 25 | 
1 files changed, 14 insertions, 11 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 1def9eeedbf1..ad7e9b369319 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -237,7 +237,7 @@ struct f2fs_inode_info {  	/* Use below internally in f2fs*/  	unsigned long flags;		/* use to pass per-file flags */  	struct rw_semaphore i_sem;	/* protect fi info */ -	atomic_t dirty_dents;		/* # of dirty dentry pages */ +	atomic_t dirty_pages;		/* # of dirty pages */  	f2fs_hash_t chash;		/* hash value of given file name */  	unsigned int clevel;		/* maximum level of given file name */  	nid_t i_xattr_nid;		/* node id that contains xattrs */ @@ -747,10 +747,11 @@ static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)  	F2FS_SET_SB_DIRT(sbi);  } -static inline void inode_inc_dirty_dents(struct inode *inode) +static inline void inode_inc_dirty_pages(struct inode *inode)  { -	inc_page_count(F2FS_I_SB(inode), F2FS_DIRTY_DENTS); -	atomic_inc(&F2FS_I(inode)->dirty_dents); +	atomic_inc(&F2FS_I(inode)->dirty_pages); +	if (S_ISDIR(inode->i_mode)) +		inc_page_count(F2FS_I_SB(inode), F2FS_DIRTY_DENTS);  }  static inline void dec_page_count(struct f2fs_sb_info *sbi, int count_type) @@ -758,13 +759,15 @@ static inline void dec_page_count(struct f2fs_sb_info *sbi, int count_type)  	atomic_dec(&sbi->nr_pages[count_type]);  } -static inline void inode_dec_dirty_dents(struct inode *inode) +static inline void inode_dec_dirty_pages(struct inode *inode)  { -	if (!S_ISDIR(inode->i_mode)) +	if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode))  		return; -	dec_page_count(F2FS_I_SB(inode), F2FS_DIRTY_DENTS); -	atomic_dec(&F2FS_I(inode)->dirty_dents); +	atomic_dec(&F2FS_I(inode)->dirty_pages); + +	if (S_ISDIR(inode->i_mode)) +		dec_page_count(F2FS_I_SB(inode), F2FS_DIRTY_DENTS);  }  static inline int get_pages(struct f2fs_sb_info *sbi, int count_type) @@ -772,9 +775,9 @@ static inline int get_pages(struct f2fs_sb_info *sbi, int count_type)  	return atomic_read(&sbi->nr_pages[count_type]);  } -static inline int get_dirty_dents(struct inode *inode) +static inline int get_dirty_pages(struct inode *inode)  { -	return atomic_read(&F2FS_I(inode)->dirty_dents); +	return atomic_read(&F2FS_I(inode)->dirty_pages);  }  static inline int get_blocktype_secs(struct f2fs_sb_info *sbi, int block_type) @@ -1302,7 +1305,7 @@ void add_orphan_inode(struct f2fs_sb_info *, nid_t);  void remove_orphan_inode(struct f2fs_sb_info *, nid_t);  void recover_orphan_inodes(struct f2fs_sb_info *);  int get_valid_checkpoint(struct f2fs_sb_info *); -void set_dirty_dir_page(struct inode *, struct page *); +void update_dirty_page(struct inode *, struct page *);  void add_dirty_dir_inode(struct inode *);  void remove_dirty_dir_inode(struct inode *);  void sync_dirty_dir_inodes(struct f2fs_sb_info *);  | 
