public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Artem Bityutskiy <dedekind1@gmail.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	Trond Myklebust <trond@netapp.com>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <jaxboe@fusionio.com>
Subject: Re: hang in writeback code on nfsv4 mount
Date: Wed, 25 Aug 2010 09:32:25 +0300	[thread overview]
Message-ID: <1282717945.24044.187.camel@localhost> (raw)
In-Reply-To: <20100825023425.GA24591@fieldses.org>

On Wed, 2010-08-25 at 04:34 +0200, ext J. Bruce Fields wrote:
> As of 253c34e9b10c30d3064be654b5b78fbc1a8b1896 "writeback: prevent
> unnecessary bdi threads wakeups", any nfs mount hangs for me.  Is this a
> known issue?
> 
> --b.
> 
> INFO: task mount.nfs4:3812 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> mount.nfs4    D 0000000000000000  2880  3812   3811 0x00000000
>  ffff88001ed25a28 0000000000000046 ffff88001ed25fd8 ffff88001ed25fd8
>  ffff88001ed24000 ffff88001ed24000 ffff88001ed24000 ffff88001f9503a0
>  ffff88001ed25fd8 ffff88001f9503a8 ffff88001ed24000 ffff88001ed25fd8
> Call Trace:
>  [<ffffffff819608dd>] schedule_timeout+0x1cd/0x2e0
>  [<ffffffff8106a23c>] ? mark_held_locks+0x6c/0xa0
>  [<ffffffff81963970>] ? _raw_spin_unlock_irq+0x30/0x60
>  [<ffffffff8106a51d>] ? trace_hardirqs_on_caller+0x14d/0x190
>  [<ffffffff819671fe>] ? sub_preempt_count+0xe/0xd0
>  [<ffffffff8195fc50>] wait_for_common+0x120/0x190
>  [<ffffffff81033bb0>] ? default_wake_function+0x0/0x20
>  [<ffffffff8195fd9d>] wait_for_completion+0x1d/0x20
>  [<ffffffff8105951a>] kthread_stop+0x4a/0x150
>  [<ffffffff81061980>] ? thaw_process+0x70/0x80
>  [<ffffffff810cc5aa>] bdi_unregister+0x10a/0x1a0
>  [<ffffffff81229cd9>] nfs_put_super+0x19/0x20
>  [<ffffffff810ee7d4>] generic_shutdown_super+0x54/0xe0
>  [<ffffffff810ee8c6>] kill_anon_super+0x16/0x60
>  [<ffffffff8122d2c9>] nfs4_kill_super+0x39/0x90
>  [<ffffffff810ed955>] deactivate_locked_super+0x45/0x60
>  [<ffffffff810edec9>] deactivate_super+0x49/0x70
>  [<ffffffff811081a4>] mntput_no_expire+0x84/0xe0
>  [<ffffffff811083ff>] release_mounts+0x9f/0xc0
>  [<ffffffff81108485>] put_mnt_ns+0x65/0x80
>  [<ffffffff8122cb66>] nfs_follow_remote_path+0x1e6/0x420
>  [<ffffffff8122cecf>] nfs4_try_mount+0x6f/0xd0
>  [<ffffffff8122cfd2>] nfs4_get_sb+0xa2/0x360
>  [<ffffffff810edbc8>] vfs_kern_mount+0x88/0x1f0
>  [<ffffffff810edda2>] do_kern_mount+0x52/0x130
>  [<ffffffff81963d6a>] ? _lock_kernel+0x6a/0x170
>  [<ffffffff81108dae>] do_mount+0x26e/0x7f0
>  [<ffffffff81106a4a>] ? copy_mount_options+0xea/0x190
>  [<ffffffff811093c8>] sys_mount+0x98/0xf0
>  [<ffffffff810024d8>] system_call_fastpath+0x16/0x1b
> 1 lock held by mount.nfs4/3812:
>  #0:  (&type->s_umount_key#24){+.+...}, at: [<ffffffff810edec1>] deactivate_super+0x41/0x70

I've tried both v2.6.36-rc2 and commit
253c34e9b10c30d3064be654b5b78fbc1a8b1896 [1] - and I can mount an NFS
share with no problems:

sudo mount -t nfs4 sauron:/home/dedekind/ /mnt/sauron_home/

works fine. Any hints about how to reproduce this are welcome.

I'll try to look at the code and figure out why this could happen.

So, does the mount at some point succeed? Or it is blocked forever? And
sysrq-t output would be useful to look at as well.

Also, it is strange that 'sys_mount()' involves 'nfs4_kill_super()' - is
this normal or this is an error path?

[1]: the kernel tree does not compile on this commit, and I applied
patch on top to solve the compilation issue:
387ac089361fbe5ef287e6950c5c40f6b18e5c55 "block: fix missing export of
blk_types.h"

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)


  parent reply	other threads:[~2010-08-25  6:33 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-25  2:34 hang in writeback code on nfsv4 mount J. Bruce Fields
2010-08-25  4:09 ` Artem.Bityutskiy
2010-08-25  6:32 ` Artem Bityutskiy [this message]
2010-08-25 15:25   ` Bryan Schumaker
2010-08-25 15:44   ` J. Bruce Fields
2010-08-25 18:46     ` Artem Bityutskiy
2010-08-26 11:24     ` Artem Bityutskiy
2010-08-26 13:20       ` Artem Bityutskiy
2010-08-27  6:13 ` Artem Bityutskiy
2010-08-27  7:12   ` Jens Axboe
2010-08-27  9:36   ` Artem Bityutskiy
2010-08-27 13:06     ` Bryan Schumaker
2010-08-27 16:09       ` J. Bruce Fields
2010-08-27 16:17         ` Artem.Bityutskiy
     [not found]           ` <10B234E0D3A1CA469E00963BF106CA392D0DB78354-xJW1crHCIS+8kqYwC468Frtp2NbXvJi8gfoxzgwHRXE@public.gmane.org>
2010-08-27 16:21             ` Artem.Bityutskiy
2010-08-27 21:06           ` J. Bruce Fields
2010-08-27 21:28             ` [PATCH] Fix lost wake-up shutting down writeback thread J. Bruce Fields
2010-08-28  1:17               ` Artem.Bityutskiy
2010-08-28  6:50               ` Jens Axboe
2010-08-29 12:21                 ` Artem.Bityutskiy
     [not found]                   ` <10B234E0D3A1CA469E00963BF106CA392D0DB78357-xJW1crHCIS+8kqYwC468Frtp2NbXvJi8gfoxzgwHRXE@public.gmane.org>
2010-08-30 11:56                     ` Jens Axboe

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=1282717945.24044.187.camel@localhost \
    --to=dedekind1@gmail.com \
    --cc=bfields@fieldses.org \
    --cc=hch@lst.de \
    --cc=jaxboe@fusionio.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond@netapp.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox