diff options
-rw-r--r-- | fs/ext4/inode.c | 4 | ||||
-rw-r--r-- | fs/fs-writeback.c | 9 | ||||
-rw-r--r-- | fs/gfs2/super.c | 2 | ||||
-rw-r--r-- | include/linux/fs.h | 3 |
4 files changed, 8 insertions, 10 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index c94780075b04..6d2a18991fcb 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -5032,12 +5032,12 @@ static int other_inode_match(struct inode * inode, unsigned long ino, | |||
5032 | 5032 | ||
5033 | if ((inode->i_ino != ino) || | 5033 | if ((inode->i_ino != ino) || |
5034 | (inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | | 5034 | (inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | |
5035 | I_DIRTY_SYNC | I_DIRTY_DATASYNC)) || | 5035 | I_DIRTY_INODE)) || |
5036 | ((inode->i_state & I_DIRTY_TIME) == 0)) | 5036 | ((inode->i_state & I_DIRTY_TIME) == 0)) |
5037 | return 0; | 5037 | return 0; |
5038 | spin_lock(&inode->i_lock); | 5038 | spin_lock(&inode->i_lock); |
5039 | if (((inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | | 5039 | if (((inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | |
5040 | I_DIRTY_SYNC | I_DIRTY_DATASYNC)) == 0) && | 5040 | I_DIRTY_INODE)) == 0) && |
5041 | (inode->i_state & I_DIRTY_TIME)) { | 5041 | (inode->i_state & I_DIRTY_TIME)) { |
5042 | struct ext4_inode_info *ei = EXT4_I(inode); | 5042 | struct ext4_inode_info *ei = EXT4_I(inode); |
5043 | 5043 | ||
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index d4d04fee568a..1280f915079b 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -1343,7 +1343,7 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc) | |||
1343 | 1343 | ||
1344 | dirty = inode->i_state & I_DIRTY; | 1344 | dirty = inode->i_state & I_DIRTY; |
1345 | if (inode->i_state & I_DIRTY_TIME) { | 1345 | if (inode->i_state & I_DIRTY_TIME) { |
1346 | if ((dirty & (I_DIRTY_SYNC | I_DIRTY_DATASYNC)) || | 1346 | if ((dirty & I_DIRTY_INODE) || |
1347 | wbc->sync_mode == WB_SYNC_ALL || | 1347 | wbc->sync_mode == WB_SYNC_ALL || |
1348 | unlikely(inode->i_state & I_DIRTY_TIME_EXPIRED) || | 1348 | unlikely(inode->i_state & I_DIRTY_TIME_EXPIRED) || |
1349 | unlikely(time_after(jiffies, | 1349 | unlikely(time_after(jiffies, |
@@ -2112,7 +2112,6 @@ static noinline void block_dump___mark_inode_dirty(struct inode *inode) | |||
2112 | */ | 2112 | */ |
2113 | void __mark_inode_dirty(struct inode *inode, int flags) | 2113 | void __mark_inode_dirty(struct inode *inode, int flags) |
2114 | { | 2114 | { |
2115 | #define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC) | ||
2116 | struct super_block *sb = inode->i_sb; | 2115 | struct super_block *sb = inode->i_sb; |
2117 | int dirtytime; | 2116 | int dirtytime; |
2118 | 2117 | ||
@@ -2122,7 +2121,7 @@ void __mark_inode_dirty(struct inode *inode, int flags) | |||
2122 | * Don't do this for I_DIRTY_PAGES - that doesn't actually | 2121 | * Don't do this for I_DIRTY_PAGES - that doesn't actually |
2123 | * dirty the inode itself | 2122 | * dirty the inode itself |
2124 | */ | 2123 | */ |
2125 | if (flags & (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_TIME)) { | 2124 | if (flags & (I_DIRTY_INODE | I_DIRTY_TIME)) { |
2126 | trace_writeback_dirty_inode_start(inode, flags); | 2125 | trace_writeback_dirty_inode_start(inode, flags); |
2127 | 2126 | ||
2128 | if (sb->s_op->dirty_inode) | 2127 | if (sb->s_op->dirty_inode) |
@@ -2197,7 +2196,7 @@ void __mark_inode_dirty(struct inode *inode, int flags) | |||
2197 | if (dirtytime) | 2196 | if (dirtytime) |
2198 | inode->dirtied_time_when = jiffies; | 2197 | inode->dirtied_time_when = jiffies; |
2199 | 2198 | ||
2200 | if (inode->i_state & (I_DIRTY_INODE | I_DIRTY_PAGES)) | 2199 | if (inode->i_state & I_DIRTY) |
2201 | dirty_list = &wb->b_dirty; | 2200 | dirty_list = &wb->b_dirty; |
2202 | else | 2201 | else |
2203 | dirty_list = &wb->b_dirty_time; | 2202 | dirty_list = &wb->b_dirty_time; |
@@ -2221,8 +2220,6 @@ void __mark_inode_dirty(struct inode *inode, int flags) | |||
2221 | } | 2220 | } |
2222 | out_unlock_inode: | 2221 | out_unlock_inode: |
2223 | spin_unlock(&inode->i_lock); | 2222 | spin_unlock(&inode->i_lock); |
2224 | |||
2225 | #undef I_DIRTY_INODE | ||
2226 | } | 2223 | } |
2227 | EXPORT_SYMBOL(__mark_inode_dirty); | 2224 | EXPORT_SYMBOL(__mark_inode_dirty); |
2228 | 2225 | ||
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 620be0521866..cf5c7f3080d2 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
@@ -800,7 +800,7 @@ static void gfs2_dirty_inode(struct inode *inode, int flags) | |||
800 | int need_endtrans = 0; | 800 | int need_endtrans = 0; |
801 | int ret; | 801 | int ret; |
802 | 802 | ||
803 | if (!(flags & (I_DIRTY_DATASYNC|I_DIRTY_SYNC))) | 803 | if (!(flags & I_DIRTY_INODE)) |
804 | return; | 804 | return; |
805 | if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) | 805 | if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) |
806 | return; | 806 | return; |
diff --git a/include/linux/fs.h b/include/linux/fs.h index d7b2caadb292..00da24bc0350 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2014,7 +2014,8 @@ static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp) | |||
2014 | #define I_WB_SWITCH (1 << 13) | 2014 | #define I_WB_SWITCH (1 << 13) |
2015 | #define I_OVL_INUSE (1 << 14) | 2015 | #define I_OVL_INUSE (1 << 14) |
2016 | 2016 | ||
2017 | #define I_DIRTY (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES) | 2017 | #define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC) |
2018 | #define I_DIRTY (I_DIRTY_INODE | I_DIRTY_PAGES) | ||
2018 | #define I_DIRTY_ALL (I_DIRTY | I_DIRTY_TIME) | 2019 | #define I_DIRTY_ALL (I_DIRTY | I_DIRTY_TIME) |
2019 | 2020 | ||
2020 | extern void __mark_inode_dirty(struct inode *, int); | 2021 | extern void __mark_inode_dirty(struct inode *, int); |