From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from TYO201.gate.nec.co.jp ([210.143.35.51]:42895 "EHLO tyo201.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753255AbcC2Agm convert rfc822-to-8bit (ORCPT ); Mon, 28 Mar 2016 20:36:42 -0400 From: Junichi Nomura To: Al Viro , "linux-fsdevel@vger.kernel.org" Subject: [regression 4.6-rc1] autofs lookup fails with -ENOENT Date: Tue, 29 Mar 2016 00:35:11 +0000 Message-ID: <56F9CDBF.7060306@ce.jp.nec.com> Content-Language: ja-JP Content-Type: text/plain; charset="iso-2022-jp" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Lookup of autofs files starts failing with -ENOENT on 4.6-rc1. git-bisect tells commit e3c13928086f1 "namei: massage lookup_slow() to be usable by lookup_one_len_unlocked()" as the first bad commit. With the change, walk_component() does this: path.dentry = lookup_slow(&nd->last, nd->path.dentry, nd->flags); if (IS_ERR(path.dentry)) return PTR_ERR(path.dentry); if (unlikely(d_is_negative(path.dentry))) { dput(path.dentry); return -ENOENT; } path.mnt = nd->path.mnt; err = follow_managed(&path, nd); if (unlikely(err < 0)) return err; It returns -ENOENT before handling automount in follow_managed(). Shouldn't it call follow_managed() before checking d_is_negative()? -- Jun'ichi Nomura, NEC Corporation