All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew W Elble <aweits@rit.edu>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] GFS2 deadlock
Date: Mon, 05 Oct 2015 11:34:47 -0400	[thread overview]
Message-ID: <m2oagd5nxk.fsf@discipline.rit.edu> (raw)

We've just run into a deadlock.

It seems very similar to the one referenced in commit
44ad37d69b2cc421d5b5c7ad7fed16230685b092

is it possible that fs/gfs2/export.c:gfs2_get_dentry()

140          inode = gfs2_ilookup(sb, inum->no_addr, 0);

should be:

140          inode = gfs2_ilookup(sb, inum->no_addr, 1);

?

I have a dump if more information would help.

same inode:
this is gfs2_inode->i_iopen_gh->gh_gl
G:  s:SH n:5/3157699 f:DIqob t:SH d:UN/104484397000 a:0 v:0 r:3 m:200
 H: s:SH f:EH e:0 p:24919 [nfsd] gfs2_inode_lookup+0x10e/0x210 [gfs2]

this is gfs2_inode->i_gl
G:  s:EX n:2/3157699 f:yIqob t:EX d:EX/0 a:0 v:0 r:4 m:200
 H: s:EX f:H e:0 p:24920 [nfsd] gfs2_evict_inode+0x124/0x400 [gfs2]
  I: n:81596/51738265 t:8 f:0x00 d:0x00000000 s:500

This is doing SEQ/PUTFH/GETATTR:

crash> bt
PID: 24919  TASK: ffff881f9e11d160  CPU: 32  COMMAND: "nfsd"
 #0 [ffff883f62443950] __schedule at ffffffff8165aaf4
 #1 [ffff883f624439a0] schedule at ffffffff8165b1a7
 #2 [ffff883f624439a8] __wait_on_freeing_inode at ffffffff811fbe1c
 #3 [ffff883f62443a30] find_inode at ffffffff811fbed1
 #4 [ffff883f62443a80] ilookup5_nowait at ffffffff811fbf61
 #5 [ffff883f62443ab0] ilookup5 at ffffffff811fcb33
 #6 [ffff883f62443ad0] gfs2_ilookup at ffffffffa080d1db [gfs2]
 #7 [ffff883f62443af0] gfs2_get_dentry at ffffffffa0806a11 [gfs2]
 #8 [ffff883f62443b10] gfs2_fh_to_dentry at ffffffffa0806b2c [gfs2]
 #9 [ffff883f62443b30] exportfs_decode_fh at ffffffff81262ef2
#10 [ffff883f62443ca0] fh_verify at ffffffffa057e977 [nfsd]
#11 [ffff883f62443d20] nfsd4_putfh at ffffffffa058ce6d [nfsd]
#12 [ffff883f62443d50] nfsd4_proc_compound at ffffffffa058ed57 [nfsd]
#13 [ffff883f62443db0] nfsd_dispatch at ffffffffa057af83 [nfsd]
#14 [ffff883f62443df0] svc_process_common at ffffffffa01a2bb0 [sunrpc]
#15 [ffff883f62443e60] svc_process at ffffffffa01a2f53 [sunrpc]
#16 [ffff883f62443e90] nfsd at ffffffffa057a98f [nfsd]
#17 [ffff883f62443ec0] kthread at ffffffff81096919
#18 [ffff883f62443f50] ret_from_fork at ffffffff8165f3a2

This is doing SEQ/PUTFH/REMOVE:

crash> bt
PID: 24920  TASK: ffff881febf843d0  CPU: 32  COMMAND: "nfsd"
 #0 [ffff883f62447a00] __schedule at ffffffff8165aaf4
 #1 [ffff883f62447a50] schedule at ffffffff8165b1a7
 #2 [ffff883f62447a58] bit_wait at ffffffff8165b9bc
 #3 [ffff883f62447a70] bit_wait at ffffffff8165b9bc
 #4 [ffff883f62447a80] __wait_on_bit at ffffffff8165b645
 #5 [ffff883f62447ad0] out_of_line_wait_on_bit at ffffffff8165b6e2
 #6 [ffff883f62447b40] gfs2_glock_dq_wait at ffffffffa07ff4f3 [gfs2]
 #7 [ffff883f62447b60] gfs2_evict_inode at ffffffffa0818111 [gfs2]
 #8 [ffff883f62447bf0] evict at ffffffff811fc9eb
 #9 [ffff883f62447c20] iput at ffffffff811fd34b
#10 [ffff883f62447c50] d_delete at ffffffff811f8c58
#11 [ffff883f62447c80] vfs_unlink at ffffffff811ee8f9
#12 [ffff883f62447cd0] nfsd_unlink at ffffffffa0580dcf [nfsd]
#13 [ffff883f62447d10] nfsd4_remove at ffffffffa058debd [nfsd]
#14 [ffff883f62447d50] nfsd4_proc_compound at ffffffffa058ed57 [nfsd]
#15 [ffff883f62447db0] nfsd_dispatch at ffffffffa057af83 [nfsd]
#16 [ffff883f62447df0] svc_process_common at ffffffffa01a2bb0 [sunrpc]
#17 [ffff883f62447e60] svc_process at ffffffffa01a2f53 [sunrpc]
#18 [ffff883f62447e90] nfsd at ffffffffa057a98f [nfsd]
#19 [ffff883f62447ec0] kthread at ffffffff81096919
#20 [ffff883f62447f50] ret_from_fork at ffffffff8165f3a2

Thanks,

Andy

-- 
Andrew W. Elble
aweits at discipline.rit.edu
Infrastructure Engineer, Communications Technical Lead
Rochester Institute of Technology
PGP: BFAD 8461 4CCF DC95 DA2C B0EB 965B 082E 863E C912



             reply	other threads:[~2015-10-05 15:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 15:34 Andrew W Elble [this message]
2015-10-05 16:03 ` [Cluster-devel] GFS2 deadlock Andrew W Elble
2015-10-05 16:15 ` Bob Peterson
2015-10-05 17:10   ` Andrew W Elble

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2oagd5nxk.fsf@discipline.rit.edu \
    --to=aweits@rit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.