From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [git pull] vfs.git spurious ENOTDIR fix Date: Sun, 2 Aug 2015 02:41:40 +0100 Message-ID: <20150802014139.GA17109@ZenIV.linux.org.uk> References: <20150731205036.GA3752@nautica> <20150801072603.GV17109@ZenIV.linux.org.uk> <20150802001402.GY17109@ZenIV.linux.org.uk> <20150802002318.GZ17109@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Dominique Martinet , Hugh Dickins , "J. Bruce Fields" , Dominique Martinet , Linux Kernel Mailing List , linux-fsdevel , David Howells To: Linus Torvalds Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sat, Aug 01, 2015 at 05:57:44PM -0700, Linus Torvalds wrote: > Because it's not just that "!d_can_lookup()" case that triggers it, > you also have that pattern in the RCU error case for may_lookup(), and > get_link(). It feels like it might make sense to handle that in caller, but... that goes only for cases when we are *NOT* going to continue after successful transition to non-lazy mode. And these two are not of that sort - we do want to continue rather than restart everything from scratch. BTW, unlazy_walk() has too many arguments, all for the sake of one caller (everything except lookup_fast() calls it with (nd, NULL, 0) as arguments) and it might make sense to split the damn thing in two. I have that in a pending pile since the last cycle, but back then you have asked to stop piling them up and let it settle, so I'd postponed that one along with other cleanups...