diff options
Diffstat (limited to 'fs/ext3/ialloc.c')
| -rw-r--r-- | fs/ext3/ialloc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c index 1e6f3ea28713..96552769d039 100644 --- a/fs/ext3/ialloc.c +++ b/fs/ext3/ialloc.c | |||
| @@ -604,12 +604,19 @@ got: | |||
| 604 | err = ext3_init_acl(handle, inode, dir); | 604 | err = ext3_init_acl(handle, inode, dir); |
| 605 | if (err) { | 605 | if (err) { |
| 606 | DQUOT_FREE_INODE(inode); | 606 | DQUOT_FREE_INODE(inode); |
| 607 | DQUOT_DROP(inode); | ||
| 607 | goto fail2; | 608 | goto fail2; |
| 608 | } | 609 | } |
| 610 | err = ext3_init_security(handle,inode, dir); | ||
| 611 | if (err) { | ||
| 612 | DQUOT_FREE_INODE(inode); | ||
| 613 | goto fail2; | ||
| 614 | } | ||
| 609 | err = ext3_mark_inode_dirty(handle, inode); | 615 | err = ext3_mark_inode_dirty(handle, inode); |
| 610 | if (err) { | 616 | if (err) { |
| 611 | ext3_std_error(sb, err); | 617 | ext3_std_error(sb, err); |
| 612 | DQUOT_FREE_INODE(inode); | 618 | DQUOT_FREE_INODE(inode); |
| 619 | DQUOT_DROP(inode); | ||
| 613 | goto fail2; | 620 | goto fail2; |
| 614 | } | 621 | } |
| 615 | 622 | ||
