Lines Matching refs:jinode
190 int jbd2_journal_submit_inode_data_buffers(struct jbd2_inode *jinode) in jbd2_journal_submit_inode_data_buffers() argument
192 struct address_space *mapping = jinode->i_vfs_inode->i_mapping; in jbd2_journal_submit_inode_data_buffers()
196 .range_start = jinode->i_dirty_start, in jbd2_journal_submit_inode_data_buffers()
197 .range_end = jinode->i_dirty_end, in jbd2_journal_submit_inode_data_buffers()
210 int jbd2_submit_inode_data(struct jbd2_inode *jinode) in jbd2_submit_inode_data() argument
213 if (!jinode || !(jinode->i_flags & JI_WRITE_DATA)) in jbd2_submit_inode_data()
216 trace_jbd2_submit_inode_data(jinode->i_vfs_inode); in jbd2_submit_inode_data()
217 return jbd2_journal_submit_inode_data_buffers(jinode); in jbd2_submit_inode_data()
222 int jbd2_wait_inode_data(journal_t *journal, struct jbd2_inode *jinode) in jbd2_wait_inode_data() argument
224 if (!jinode || !(jinode->i_flags & JI_WAIT_DATA) || in jbd2_wait_inode_data()
225 !jinode->i_vfs_inode || !jinode->i_vfs_inode->i_mapping) in jbd2_wait_inode_data()
228 jinode->i_vfs_inode->i_mapping, jinode->i_dirty_start, in jbd2_wait_inode_data()
229 jinode->i_dirty_end); in jbd2_wait_inode_data()
244 struct jbd2_inode *jinode; in journal_submit_data_buffers() local
248 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_submit_data_buffers()
249 if (!(jinode->i_flags & JI_WRITE_DATA)) in journal_submit_data_buffers()
251 jinode->i_flags |= JI_COMMIT_RUNNING; in journal_submit_data_buffers()
254 trace_jbd2_submit_inode_data(jinode->i_vfs_inode); in journal_submit_data_buffers()
256 err = journal->j_submit_inode_data_buffers(jinode); in journal_submit_data_buffers()
261 J_ASSERT(jinode->i_transaction == commit_transaction); in journal_submit_data_buffers()
262 jinode->i_flags &= ~JI_COMMIT_RUNNING; in journal_submit_data_buffers()
264 wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); in journal_submit_data_buffers()
270 int jbd2_journal_finish_inode_data_buffers(struct jbd2_inode *jinode) in jbd2_journal_finish_inode_data_buffers() argument
272 struct address_space *mapping = jinode->i_vfs_inode->i_mapping; in jbd2_journal_finish_inode_data_buffers()
275 jinode->i_dirty_start, in jbd2_journal_finish_inode_data_buffers()
276 jinode->i_dirty_end); in jbd2_journal_finish_inode_data_buffers()
287 struct jbd2_inode *jinode, *next_i; in journal_finish_inode_data_buffers() local
292 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_finish_inode_data_buffers()
293 if (!(jinode->i_flags & JI_WAIT_DATA)) in journal_finish_inode_data_buffers()
295 jinode->i_flags |= JI_COMMIT_RUNNING; in journal_finish_inode_data_buffers()
299 err = journal->j_finish_inode_data_buffers(jinode); in journal_finish_inode_data_buffers()
304 jinode->i_flags &= ~JI_COMMIT_RUNNING; in journal_finish_inode_data_buffers()
306 wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); in journal_finish_inode_data_buffers()
310 list_for_each_entry_safe(jinode, next_i, in journal_finish_inode_data_buffers()
312 list_del(&jinode->i_list); in journal_finish_inode_data_buffers()
313 if (jinode->i_next_transaction) { in journal_finish_inode_data_buffers()
314 jinode->i_transaction = jinode->i_next_transaction; in journal_finish_inode_data_buffers()
315 jinode->i_next_transaction = NULL; in journal_finish_inode_data_buffers()
316 list_add(&jinode->i_list, in journal_finish_inode_data_buffers()
317 &jinode->i_transaction->t_inode_list); in journal_finish_inode_data_buffers()
319 jinode->i_transaction = NULL; in journal_finish_inode_data_buffers()
320 jinode->i_dirty_start = 0; in journal_finish_inode_data_buffers()
321 jinode->i_dirty_end = 0; in journal_finish_inode_data_buffers()