The patch titled Subject: ocfs2: move the mlog from the spinlock to outside has been added to the -mm tree. Its filename is ocfs2-move-the-mlog-from-the-spinlock-to-outside.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/ocfs2-move-the-mlog-from-the-spinlock-to-outside.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/ocfs2-move-the-mlog-from-the-spinlock-to-outside.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Shuning Zhang <sunny.s.zhang@xxxxxxxxxx> Subject: ocfs2: move the mlog from the spinlock to outside There is a potential task of deadlock. Because the mask is 0, the deadlock does not occur now. But There is a potential task. If someone change the mask of mlog, but forget to modify the order of the mlog and spin_unlock, There will be a potential deadlock.So I move the mlog from the spinlock to outsize. Link: http://lkml.kernel.org/r/1569813459-8601-1-git-send-email-sunny.s.zhang@xxxxxxxxxx Signed-off-by: Shuning Zhang <sunny.s.zhang@xxxxxxxxxx> Cc: Mark Fasheh <mark@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Joseph Qi <jiangqi903@xxxxxxxxx> Cc: Changwei Ge <gechangwei@xxxxxxx> Cc: Gang He <ghe@xxxxxxxx> Cc: Jun Piao <piaojun@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/ocfs2/dlmglue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/ocfs2/dlmglue.c~ocfs2-move-the-mlog-from-the-spinlock-to-outside +++ a/fs/ocfs2/dlmglue.c @@ -2315,10 +2315,10 @@ static int ocfs2_inode_lock_update(struc spin_lock(&oi->ip_lock); if (oi->ip_flags & OCFS2_INODE_DELETED) { + spin_unlock(&oi->ip_lock); mlog(0, "Orphaned inode %llu was deleted while we " "were waiting on a lock. ip_flags = 0x%x\n", (unsigned long long)oi->ip_blkno, oi->ip_flags); - spin_unlock(&oi->ip_lock); status = -ENOENT; goto bail; } _ Patches currently in -mm which might be from sunny.s.zhang@xxxxxxxxxx are ocfs2-protect-extent-tree-in-the-ocfs2_prepare_inode_for_write.patch ocfs2-remove-unused-function-ocfs2_prepare_inode_for_refcount.patch ocfs2-move-the-mlog-from-the-spinlock-to-outside.patch