aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/ext3/super.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index e08b6439617c..1a198b3985c9 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -499,20 +499,21 @@ static void ext3_clear_inode(struct inode *inode)
499{ 499{
500 struct ext3_block_alloc_info *rsv = EXT3_I(inode)->i_block_alloc_info; 500 struct ext3_block_alloc_info *rsv = EXT3_I(inode)->i_block_alloc_info;
501#ifdef CONFIG_EXT3_FS_POSIX_ACL 501#ifdef CONFIG_EXT3_FS_POSIX_ACL
502 if (EXT3_I(inode)->i_acl && 502 if (EXT3_I(inode)->i_acl &&
503 EXT3_I(inode)->i_acl != EXT3_ACL_NOT_CACHED) { 503 EXT3_I(inode)->i_acl != EXT3_ACL_NOT_CACHED) {
504 posix_acl_release(EXT3_I(inode)->i_acl); 504 posix_acl_release(EXT3_I(inode)->i_acl);
505 EXT3_I(inode)->i_acl = EXT3_ACL_NOT_CACHED; 505 EXT3_I(inode)->i_acl = EXT3_ACL_NOT_CACHED;
506 } 506 }
507 if (EXT3_I(inode)->i_default_acl && 507 if (EXT3_I(inode)->i_default_acl &&
508 EXT3_I(inode)->i_default_acl != EXT3_ACL_NOT_CACHED) { 508 EXT3_I(inode)->i_default_acl != EXT3_ACL_NOT_CACHED) {
509 posix_acl_release(EXT3_I(inode)->i_default_acl); 509 posix_acl_release(EXT3_I(inode)->i_default_acl);
510 EXT3_I(inode)->i_default_acl = EXT3_ACL_NOT_CACHED; 510 EXT3_I(inode)->i_default_acl = EXT3_ACL_NOT_CACHED;
511 } 511 }
512#endif 512#endif
513 ext3_discard_reservation(inode); 513 ext3_discard_reservation(inode);
514 EXT3_I(inode)->i_block_alloc_info = NULL; 514 EXT3_I(inode)->i_block_alloc_info = NULL;
515 kfree(rsv); 515 if (unlikely(rsv))
516 kfree(rsv);
516} 517}
517 518
518static inline void ext3_show_quota_options(struct seq_file *seq, struct super_block *sb) 519static inline void ext3_show_quota_options(struct seq_file *seq, struct super_block *sb)