3.16.65-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <[email protected]>

commit 18f2c4fcebf2582f96cbd5f2238f4f354a0e4847 upstream.

If the file system has been shut down or is read-only, then
ext4_write_inode() needs to bail out early.

Also use jbd2_complete_transaction() instead of ext4_force_commit() so
we only force a commit if it is needed.

Signed-off-by: Theodore Ts'o <[email protected]>
[bwh: Backported to 3.16:
 - Open-code sb_rdonly()
 - Drop ext4_forced_shutdown() check]
Signed-off-by: Ben Hutchings <[email protected]>
---
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -4658,7 +4658,8 @@ int ext4_write_inode(struct inode *inode
 {
        int err;
 
-       if (WARN_ON_ONCE(current->flags & PF_MEMALLOC))
+       if (WARN_ON_ONCE(current->flags & PF_MEMALLOC) ||
+           (inode->i_sb->s_flags & MS_RDONLY))
                return 0;
 
        if (EXT4_SB(inode->i_sb)->s_journal) {
@@ -4676,7 +4677,8 @@ int ext4_write_inode(struct inode *inode
                if (wbc->sync_mode != WB_SYNC_ALL || wbc->for_sync)
                        return 0;
 
-               err = ext4_force_commit(inode->i_sb);
+               err = jbd2_complete_transaction(EXT4_SB(inode->i_sb)->s_journal,
+                                               EXT4_I(inode)->i_sync_tid);
        } else {
                struct ext4_iloc iloc;
 

Reply via email to