All of lore.kernel.org
 help / color / mirror / Atom feed
* [Ocfs2-devel] ocfs2: Should move ocfs2_start_trans out of lock_page
@ 2013-06-19  8:17 Joseph Qi
  2013-06-24  8:55 ` Joseph Qi
  0 siblings, 1 reply; 4+ messages in thread
From: Joseph Qi @ 2013-06-19  8:17 UTC (permalink / raw)
  To: ocfs2-devel

Currently ocfs2_start_trans/ocfs2_commit_trans are in
lock_page/unlock_page. This may cause dead lock.

Here is the situation:
write -> lock_page -> ocfs2_start_trans -> ocfs2_commit_trans -> unlock_page
ocfs2_start_trans/ocfs2_commit_trans calls
jbd2_journal_start/jbd2_journal_stop which may also call lock_page. So
if the page operated is unfortunately the same with the page to be
committed, dead lock happens.

In ext4, lock_page/unlock_page are in
ext4_journal_start/ext4_journal_stop, this can avoid such kind of dead
lock. So I think we should move ocfs2_start_trans/ocfs2_commit_trans out
of lock_page/unlock_page.

Totally there are 5 related functions:
ocfs2_write_begin_nolock
ocfs2_write_begin_inline
ocfs2_write_end_nolock
ocfs2_write_zero_page
ocfs2_convert_inline_data_to_extents

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-06-30  3:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-19  8:17 [Ocfs2-devel] ocfs2: Should move ocfs2_start_trans out of lock_page Joseph Qi
2013-06-24  8:55 ` Joseph Qi
2013-06-29 13:17   ` Joel Becker
2013-06-30  3:10     ` Joseph Qi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.