diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-01-12 05:32:03 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-01-12 05:32:03 -0500 |
| commit | e3ee1e123183ca9847e74b7b8e2694c9e3b817a6 (patch) | |
| tree | 652a84674ed05eaa46a813de2223af0bd0168a5a /fs/ext3/ialloc.c | |
| parent | 5762ba1873b0bb9faa631aaa02f533c2b9837f82 (diff) | |
| parent | c59765042f53a79a7a65585042ff463b69cb248c (diff) | |
Merge commit 'v2.6.29-rc1' into timers/hrtimers
Conflicts:
kernel/time/tick-common.c
Diffstat (limited to 'fs/ext3/ialloc.c')
| -rw-r--r-- | fs/ext3/ialloc.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c index 490bd0ed7896..8de6c720e510 100644 --- a/fs/ext3/ialloc.c +++ b/fs/ext3/ialloc.c | |||
| @@ -559,12 +559,8 @@ got: | |||
| 559 | ei->i_dir_start_lookup = 0; | 559 | ei->i_dir_start_lookup = 0; |
| 560 | ei->i_disksize = 0; | 560 | ei->i_disksize = 0; |
| 561 | 561 | ||
| 562 | ei->i_flags = EXT3_I(dir)->i_flags & ~EXT3_INDEX_FL; | 562 | ei->i_flags = |
| 563 | if (S_ISLNK(mode)) | 563 | ext3_mask_flags(mode, EXT3_I(dir)->i_flags & EXT3_FL_INHERITED); |
| 564 | ei->i_flags &= ~(EXT3_IMMUTABLE_FL|EXT3_APPEND_FL); | ||
| 565 | /* dirsync only applies to directories */ | ||
| 566 | if (!S_ISDIR(mode)) | ||
| 567 | ei->i_flags &= ~EXT3_DIRSYNC_FL; | ||
| 568 | #ifdef EXT3_FRAGMENTS | 564 | #ifdef EXT3_FRAGMENTS |
| 569 | ei->i_faddr = 0; | 565 | ei->i_faddr = 0; |
| 570 | ei->i_frag_no = 0; | 566 | ei->i_frag_no = 0; |
| @@ -579,7 +575,10 @@ got: | |||
| 579 | ext3_set_inode_flags(inode); | 575 | ext3_set_inode_flags(inode); |
| 580 | if (IS_DIRSYNC(inode)) | 576 | if (IS_DIRSYNC(inode)) |
| 581 | handle->h_sync = 1; | 577 | handle->h_sync = 1; |
| 582 | insert_inode_hash(inode); | 578 | if (insert_inode_locked(inode) < 0) { |
| 579 | err = -EINVAL; | ||
| 580 | goto fail_drop; | ||
| 581 | } | ||
| 583 | spin_lock(&sbi->s_next_gen_lock); | 582 | spin_lock(&sbi->s_next_gen_lock); |
| 584 | inode->i_generation = sbi->s_next_generation++; | 583 | inode->i_generation = sbi->s_next_generation++; |
| 585 | spin_unlock(&sbi->s_next_gen_lock); | 584 | spin_unlock(&sbi->s_next_gen_lock); |
| @@ -627,6 +626,7 @@ fail_drop: | |||
| 627 | DQUOT_DROP(inode); | 626 | DQUOT_DROP(inode); |
| 628 | inode->i_flags |= S_NOQUOTA; | 627 | inode->i_flags |= S_NOQUOTA; |
| 629 | inode->i_nlink = 0; | 628 | inode->i_nlink = 0; |
| 629 | unlock_new_inode(inode); | ||
| 630 | iput(inode); | 630 | iput(inode); |
| 631 | brelse(bitmap_bh); | 631 | brelse(bitmap_bh); |
| 632 | return ERR_PTR(err); | 632 | return ERR_PTR(err); |
