From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from helmsgmaster01.f-secure.com ([193.110.108.20]:33640 "EHLO helmsgmaster01.f-secure.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753883AbdAZRsM (ORCPT ); Thu, 26 Jan 2017 12:48:12 -0500 From: Marko Rauhamaa To: Amir Goldstein CC: linux-fsdevel , Jan Kara Subject: Re: Reproducible, long-standing fanotify+autofs problem References: <878tpztl6n.fsf@drapion.f-secure.com> <87vat3s087.fsf@drapion.f-secure.com> <87r33rryjp.fsf@drapion.f-secure.com> <87inp3rwsy.fsf@drapion.f-secure.com> Date: Thu, 26 Jan 2017 19:47:54 +0200 In-Reply-To: <87inp3rwsy.fsf@drapion.f-secure.com> (Marko Rauhamaa's message of "Wed, 25 Jan 2017 17:20:13 +0200") Message-ID: <87sho5r9v9.fsf@drapion.f-secure.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Marko Rauhamaa : > Amir Goldstein : > I have narrowed the problem down a bit in the kernel. The hanging > function is "user_path_at": > > user_path_at(filename="/sshome/test/user/", lookup_flags=0x1) > called from: fanotify_find_path() > called from: fanotify_mark() > > And Ctrl-C wakes it up. I have dug a bit deeper. What hangs is this statement: mnt = path->dentry->d_op->d_automount(path); in: follow_automount() // fs/namei.c called from: follow_managed() called from: walk_component() called from: lookup_last() called from: path_lookupat() called from: filename_lookup() called from: user_path_at_empty() called from: user_path_at(filename="/sshome/test/user/", lookup_flags=0x1) called from: fanotify_find_path() // fs/notify/fanotify_user.c called from: fanotify_mark() And Ctrl-C wakes it up. The d_automount() method is bound to autofs4_d_automount() in fs/autofs4/root.c. The hanging statement is: wait_event_interruptible(wq->queue, wq->name.name == NULL); in: autofs4_wait() // fs/autofs4/waitq.c called from: autofs4_mount_wait() // fs/autofs4/root.c called from: autofs4_d_automount() Marko -- +358 44 990 4795 Skype: marko.rauhamaa_f-secure