Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752159AbbEJFpU (ORCPT ); Sun, 10 May 2015 01:45:20 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:35565 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752046AbbEJFpQ (ORCPT ); Sun, 10 May 2015 01:45:16 -0400 Date: Sun, 10 May 2015 06:45:12 +0100 From: Al Viro To: Linus Torvalds Cc: Linux Kernel Mailing List , linux-fsdevel , Christoph Hellwig , Neil Brown Subject: Re: [RFC][PATCHSET] non-recursive pathname resolution Message-ID: <20150510054512.GA17872@ZenIV.linux.org.uk> References: <20150505052205.GS889@ZenIV.linux.org.uk> <20150505235947.GV889@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150505235947.GV889@ZenIV.linux.org.uk> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1836 Lines: 34 On Wed, May 06, 2015 at 12:59:47AM +0100, Al Viro wrote: > It is passing xfstests and LTP, plus some basic "create a twisted forest > of symlinks and walk it" tests, but yes, it obviously needs more beating. > I'll push everything up to #76 into -next tonight (with the changes you > asked for). [snip] > AFAICS, the above should suffice, modulo teaching ->follow_link() instances > to fail with ECHILD when called in RCU mode and then teaching some of them > _not_ to. Note that fast symlinks would be fine without the last part and > that covers most of the actual use... FWIW, right now vfs.git#link_path_walk seems to be working and doing just that - there's still some reordering to do in the new parts of queue, and right now it's dropping out of RCU mode as soon as it runs into a non-trivial symlink (== not a fast one), but the common case is handled without dropping out of RCU mode until the very end. I'll do reordering tomorrow (along with adding the missing documentation, etc.) and post the result for review, then into -next it goes... Right now it's 107 commits on top of what already went into mainline (1 from dhowells, 6 from neilb, the rest from me), so it's going to be another patchbomb from hell ;-/ Missing bits: teaching ->follow_link() to try and remain in RCU mode (IMO it should be getting (dentry, inode, &cookie) and have RCU mode indicated by dentry == NULL), figuring out what to do with automounts (I really think that ->d_automount() is worth offloading via schedule_work() or something similar) and more testing/profiling/tuning the inlining/etc. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/