]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/ext4/ext4_jbd2.h
Merge tag 'block-5.6-2020-02-05' of git://git.kernel.dk/linux-block
[linux.git] / fs / ext4 / ext4_jbd2.h
index a6b9b66dbfade76a5f5d8bb31ad9337af5fd22d1..7ea4f6fa173b4794266f7921851d57aa7940e974 100644 (file)
@@ -463,27 +463,7 @@ int ext4_force_commit(struct super_block *sb);
 #define EXT4_INODE_ORDERED_DATA_MODE   0x02 /* ordered data mode */
 #define EXT4_INODE_WRITEBACK_DATA_MODE 0x04 /* writeback data mode */
 
-static inline int ext4_inode_journal_mode(struct inode *inode)
-{
-       if (EXT4_JOURNAL(inode) == NULL)
-               return EXT4_INODE_WRITEBACK_DATA_MODE;  /* writeback */
-       /* We do not support data journalling with delayed allocation */
-       if (!S_ISREG(inode->i_mode) ||
-           ext4_test_inode_flag(inode, EXT4_INODE_EA_INODE) ||
-           test_opt(inode->i_sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA ||
-           (ext4_test_inode_flag(inode, EXT4_INODE_JOURNAL_DATA) &&
-           !test_opt(inode->i_sb, DELALLOC))) {
-               /* We do not support data journalling for encrypted data */
-               if (S_ISREG(inode->i_mode) && IS_ENCRYPTED(inode))
-                       return EXT4_INODE_ORDERED_DATA_MODE;  /* ordered */
-               return EXT4_INODE_JOURNAL_DATA_MODE;    /* journal data */
-       }
-       if (test_opt(inode->i_sb, DATA_FLAGS) == EXT4_MOUNT_ORDERED_DATA)
-               return EXT4_INODE_ORDERED_DATA_MODE;    /* ordered */
-       if (test_opt(inode->i_sb, DATA_FLAGS) == EXT4_MOUNT_WRITEBACK_DATA)
-               return EXT4_INODE_WRITEBACK_DATA_MODE;  /* writeback */
-       BUG();
-}
+int ext4_inode_journal_mode(struct inode *inode);
 
 static inline int ext4_should_journal_data(struct inode *inode)
 {