diff options
Diffstat (limited to 'fs/jbd2/commit.c')
| -rw-r--r-- | fs/jbd2/commit.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index ae832cd44dd8..517f2de784cf 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
| @@ -220,7 +220,7 @@ static int journal_submit_data_buffers(journal_t *journal, | |||
| 220 | spin_lock(&journal->j_list_lock); | 220 | spin_lock(&journal->j_list_lock); |
| 221 | list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { | 221 | list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { |
| 222 | mapping = jinode->i_vfs_inode->i_mapping; | 222 | mapping = jinode->i_vfs_inode->i_mapping; |
| 223 | set_bit(__JI_COMMIT_RUNNING, &jinode->i_flags); | 223 | jinode->i_flags |= JI_COMMIT_RUNNING; |
| 224 | spin_unlock(&journal->j_list_lock); | 224 | spin_unlock(&journal->j_list_lock); |
| 225 | /* | 225 | /* |
| 226 | * submit the inode data buffers. We use writepage | 226 | * submit the inode data buffers. We use writepage |
| @@ -234,8 +234,8 @@ static int journal_submit_data_buffers(journal_t *journal, | |||
| 234 | ret = err; | 234 | ret = err; |
| 235 | spin_lock(&journal->j_list_lock); | 235 | spin_lock(&journal->j_list_lock); |
| 236 | J_ASSERT(jinode->i_transaction == commit_transaction); | 236 | J_ASSERT(jinode->i_transaction == commit_transaction); |
| 237 | clear_bit(__JI_COMMIT_RUNNING, &jinode->i_flags); | 237 | jinode->i_flags &= ~JI_COMMIT_RUNNING; |
| 238 | smp_mb__after_atomic(); | 238 | smp_mb(); |
| 239 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); | 239 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); |
| 240 | } | 240 | } |
| 241 | spin_unlock(&journal->j_list_lock); | 241 | spin_unlock(&journal->j_list_lock); |
| @@ -256,7 +256,7 @@ static int journal_finish_inode_data_buffers(journal_t *journal, | |||
| 256 | /* For locking, see the comment in journal_submit_data_buffers() */ | 256 | /* For locking, see the comment in journal_submit_data_buffers() */ |
| 257 | spin_lock(&journal->j_list_lock); | 257 | spin_lock(&journal->j_list_lock); |
| 258 | list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { | 258 | list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { |
| 259 | set_bit(__JI_COMMIT_RUNNING, &jinode->i_flags); | 259 | jinode->i_flags |= JI_COMMIT_RUNNING; |
| 260 | spin_unlock(&journal->j_list_lock); | 260 | spin_unlock(&journal->j_list_lock); |
| 261 | err = filemap_fdatawait(jinode->i_vfs_inode->i_mapping); | 261 | err = filemap_fdatawait(jinode->i_vfs_inode->i_mapping); |
| 262 | if (err) { | 262 | if (err) { |
| @@ -272,8 +272,8 @@ static int journal_finish_inode_data_buffers(journal_t *journal, | |||
| 272 | ret = err; | 272 | ret = err; |
| 273 | } | 273 | } |
| 274 | spin_lock(&journal->j_list_lock); | 274 | spin_lock(&journal->j_list_lock); |
| 275 | clear_bit(__JI_COMMIT_RUNNING, &jinode->i_flags); | 275 | jinode->i_flags &= ~JI_COMMIT_RUNNING; |
| 276 | smp_mb__after_atomic(); | 276 | smp_mb(); |
| 277 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); | 277 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); |
| 278 | } | 278 | } |
| 279 | 279 | ||
