aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 1b330cd71ca8..629d0fa27e3a 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -573,6 +573,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
573 memset(&ei->i_cached_extent, 0, sizeof(struct ext4_ext_cache)); 573 memset(&ei->i_cached_extent, 0, sizeof(struct ext4_ext_cache));
574 INIT_LIST_HEAD(&ei->i_prealloc_list); 574 INIT_LIST_HEAD(&ei->i_prealloc_list);
575 spin_lock_init(&ei->i_prealloc_lock); 575 spin_lock_init(&ei->i_prealloc_lock);
576 jbd2_journal_init_jbd_inode(&ei->jinode, &ei->vfs_inode);
576 return &ei->vfs_inode; 577 return &ei->vfs_inode;
577} 578}
578 579
@@ -637,6 +638,8 @@ static void ext4_clear_inode(struct inode *inode)
637 EXT4_I(inode)->i_block_alloc_info = NULL; 638 EXT4_I(inode)->i_block_alloc_info = NULL;
638 if (unlikely(rsv)) 639 if (unlikely(rsv))
639 kfree(rsv); 640 kfree(rsv);
641 jbd2_journal_release_jbd_inode(EXT4_SB(inode->i_sb)->s_journal,
642 &EXT4_I(inode)->jinode);
640} 643}
641 644
642static inline void ext4_show_quota_options(struct seq_file *seq, struct super_block *sb) 645static inline void ext4_show_quota_options(struct seq_file *seq, struct super_block *sb)
@@ -3378,7 +3381,7 @@ static ssize_t ext4_quota_write(struct super_block *sb, int type,
3378 err = ext4_journal_dirty_metadata(handle, bh); 3381 err = ext4_journal_dirty_metadata(handle, bh);
3379 else { 3382 else {
3380 /* Always do at least ordered writes for quotas */ 3383 /* Always do at least ordered writes for quotas */
3381 err = ext4_journal_dirty_data(handle, bh); 3384 err = ext4_jbd2_file_inode(handle, inode);
3382 mark_buffer_dirty(bh); 3385 mark_buffer_dirty(bh);
3383 } 3386 }
3384 brelse(bh); 3387 brelse(bh);