diff options
Diffstat (limited to 'fs/exofs/inode.c')
-rw-r--r-- | fs/exofs/inode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c index 681b3cb9b4d8..0c713cfbebf0 100644 --- a/fs/exofs/inode.c +++ b/fs/exofs/inode.c | |||
@@ -1102,6 +1102,7 @@ int __exofs_wait_obj_created(struct exofs_i_info *oi) | |||
1102 | } | 1102 | } |
1103 | return unlikely(is_bad_inode(&oi->vfs_inode)) ? -EIO : 0; | 1103 | return unlikely(is_bad_inode(&oi->vfs_inode)) ? -EIO : 0; |
1104 | } | 1104 | } |
1105 | |||
1105 | /* | 1106 | /* |
1106 | * Callback function from exofs_new_inode(). The important thing is that we | 1107 | * Callback function from exofs_new_inode(). The important thing is that we |
1107 | * set the obj_created flag so that other methods know that the object exists on | 1108 | * set the obj_created flag so that other methods know that the object exists on |
@@ -1160,7 +1161,6 @@ struct inode *exofs_new_inode(struct inode *dir, int mode) | |||
1160 | sbi = sb->s_fs_info; | 1161 | sbi = sb->s_fs_info; |
1161 | 1162 | ||
1162 | inode->i_mapping->backing_dev_info = sb->s_bdi; | 1163 | inode->i_mapping->backing_dev_info = sb->s_bdi; |
1163 | sb->s_dirt = 1; | ||
1164 | inode_init_owner(inode, dir, mode); | 1164 | inode_init_owner(inode, dir, mode); |
1165 | inode->i_ino = sbi->s_nextid++; | 1165 | inode->i_ino = sbi->s_nextid++; |
1166 | inode->i_blkbits = EXOFS_BLKSHIFT; | 1166 | inode->i_blkbits = EXOFS_BLKSHIFT; |
@@ -1171,6 +1171,8 @@ struct inode *exofs_new_inode(struct inode *dir, int mode) | |||
1171 | spin_unlock(&sbi->s_next_gen_lock); | 1171 | spin_unlock(&sbi->s_next_gen_lock); |
1172 | insert_inode_hash(inode); | 1172 | insert_inode_hash(inode); |
1173 | 1173 | ||
1174 | exofs_sbi_write_stats(sbi); /* Make sure new sbi->s_nextid is on disk */ | ||
1175 | |||
1174 | mark_inode_dirty(inode); | 1176 | mark_inode_dirty(inode); |
1175 | 1177 | ||
1176 | ret = exofs_get_io_state(&sbi->layout, &ios); | 1178 | ret = exofs_get_io_state(&sbi->layout, &ios); |