diff options
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index ad1ee5f21bab..2b83b96cb2eb 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -798,6 +798,7 @@ static void destroy_inodecache(void) | |||
798 | 798 | ||
799 | static void ext4_clear_inode(struct inode *inode) | 799 | static void ext4_clear_inode(struct inode *inode) |
800 | { | 800 | { |
801 | dquot_drop(inode); | ||
801 | ext4_discard_preallocations(inode); | 802 | ext4_discard_preallocations(inode); |
802 | if (EXT4_JOURNAL(inode)) | 803 | if (EXT4_JOURNAL(inode)) |
803 | jbd2_journal_release_jbd_inode(EXT4_SB(inode->i_sb)->s_journal, | 804 | jbd2_journal_release_jbd_inode(EXT4_SB(inode->i_sb)->s_journal, |
@@ -1052,19 +1053,9 @@ static ssize_t ext4_quota_write(struct super_block *sb, int type, | |||
1052 | const char *data, size_t len, loff_t off); | 1053 | const char *data, size_t len, loff_t off); |
1053 | 1054 | ||
1054 | static const struct dquot_operations ext4_quota_operations = { | 1055 | static const struct dquot_operations ext4_quota_operations = { |
1055 | .initialize = dquot_initialize, | ||
1056 | .drop = dquot_drop, | ||
1057 | .alloc_space = dquot_alloc_space, | ||
1058 | .reserve_space = dquot_reserve_space, | ||
1059 | .claim_space = dquot_claim_space, | ||
1060 | .release_rsv = dquot_release_reserved_space, | ||
1061 | #ifdef CONFIG_QUOTA | 1056 | #ifdef CONFIG_QUOTA |
1062 | .get_reserved_space = ext4_get_reserved_space, | 1057 | .get_reserved_space = ext4_get_reserved_space, |
1063 | #endif | 1058 | #endif |
1064 | .alloc_inode = dquot_alloc_inode, | ||
1065 | .free_space = dquot_free_space, | ||
1066 | .free_inode = dquot_free_inode, | ||
1067 | .transfer = dquot_transfer, | ||
1068 | .write_dquot = ext4_write_dquot, | 1059 | .write_dquot = ext4_write_dquot, |
1069 | .acquire_dquot = ext4_acquire_dquot, | 1060 | .acquire_dquot = ext4_acquire_dquot, |
1070 | .release_dquot = ext4_release_dquot, | 1061 | .release_dquot = ext4_release_dquot, |
@@ -2014,7 +2005,7 @@ static void ext4_orphan_cleanup(struct super_block *sb, | |||
2014 | } | 2005 | } |
2015 | 2006 | ||
2016 | list_add(&EXT4_I(inode)->i_orphan, &EXT4_SB(sb)->s_orphan); | 2007 | list_add(&EXT4_I(inode)->i_orphan, &EXT4_SB(sb)->s_orphan); |
2017 | vfs_dq_init(inode); | 2008 | dquot_initialize(inode); |
2018 | if (inode->i_nlink) { | 2009 | if (inode->i_nlink) { |
2019 | ext4_msg(sb, KERN_DEBUG, | 2010 | ext4_msg(sb, KERN_DEBUG, |
2020 | "%s: truncating inode %lu to %lld bytes", | 2011 | "%s: truncating inode %lu to %lld bytes", |
@@ -3801,7 +3792,7 @@ static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
3801 | * Process 1 Process 2 | 3792 | * Process 1 Process 2 |
3802 | * ext4_create() quota_sync() | 3793 | * ext4_create() quota_sync() |
3803 | * jbd2_journal_start() write_dquot() | 3794 | * jbd2_journal_start() write_dquot() |
3804 | * vfs_dq_init() down(dqio_mutex) | 3795 | * dquot_initialize() down(dqio_mutex) |
3805 | * down(dqio_mutex) jbd2_journal_start() | 3796 | * down(dqio_mutex) jbd2_journal_start() |
3806 | * | 3797 | * |
3807 | */ | 3798 | */ |