diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-19 01:18:15 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-22 16:00:58 -0400 |
commit | 8fc37ec54cd8e37193b0d42809b785ff19661c34 (patch) | |
tree | 12040128b054dc1b163433358b0fd2b8ec843762 /fs/jffs2/dir.c | |
parent | 32a7991b6a9c758e4e2b8166c5e1cc7563c3dcde (diff) |
don't expose I_NEW inodes via dentry->d_inode
d_instantiate(dentry, inode);
unlock_new_inode(inode);
is a bad idea; do it the other way round...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/jffs2/dir.c')
-rw-r--r-- | fs/jffs2/dir.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c index 23245191c5b5..ad7774d32095 100644 --- a/fs/jffs2/dir.c +++ b/fs/jffs2/dir.c | |||
@@ -226,8 +226,8 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, | |||
226 | __func__, inode->i_ino, inode->i_mode, inode->i_nlink, | 226 | __func__, inode->i_ino, inode->i_mode, inode->i_nlink, |
227 | f->inocache->pino_nlink, inode->i_mapping->nrpages); | 227 | f->inocache->pino_nlink, inode->i_mapping->nrpages); |
228 | 228 | ||
229 | d_instantiate(dentry, inode); | ||
230 | unlock_new_inode(inode); | 229 | unlock_new_inode(inode); |
230 | d_instantiate(dentry, inode); | ||
231 | return 0; | 231 | return 0; |
232 | 232 | ||
233 | fail: | 233 | fail: |
@@ -446,8 +446,8 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char | |||
446 | mutex_unlock(&dir_f->sem); | 446 | mutex_unlock(&dir_f->sem); |
447 | jffs2_complete_reservation(c); | 447 | jffs2_complete_reservation(c); |
448 | 448 | ||
449 | d_instantiate(dentry, inode); | ||
450 | unlock_new_inode(inode); | 449 | unlock_new_inode(inode); |
450 | d_instantiate(dentry, inode); | ||
451 | return 0; | 451 | return 0; |
452 | 452 | ||
453 | fail: | 453 | fail: |
@@ -591,8 +591,8 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, umode_t mode | |||
591 | mutex_unlock(&dir_f->sem); | 591 | mutex_unlock(&dir_f->sem); |
592 | jffs2_complete_reservation(c); | 592 | jffs2_complete_reservation(c); |
593 | 593 | ||
594 | d_instantiate(dentry, inode); | ||
595 | unlock_new_inode(inode); | 594 | unlock_new_inode(inode); |
595 | d_instantiate(dentry, inode); | ||
596 | return 0; | 596 | return 0; |
597 | 597 | ||
598 | fail: | 598 | fail: |
@@ -766,8 +766,8 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, umode_t mode | |||
766 | mutex_unlock(&dir_f->sem); | 766 | mutex_unlock(&dir_f->sem); |
767 | jffs2_complete_reservation(c); | 767 | jffs2_complete_reservation(c); |
768 | 768 | ||
769 | d_instantiate(dentry, inode); | ||
770 | unlock_new_inode(inode); | 769 | unlock_new_inode(inode); |
770 | d_instantiate(dentry, inode); | ||
771 | return 0; | 771 | return 0; |
772 | 772 | ||
773 | fail: | 773 | fail: |