From owner-freebsd-hackers@freebsd.org Wed Nov 11 19:36:21 2015 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE842A2B734 for ; Wed, 11 Nov 2015 19:36:21 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23B241D38; Wed, 11 Nov 2015 19:36:20 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tABJaCT3002797 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Wed, 11 Nov 2015 21:36:12 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tABJaCT3002797 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tABJaCJK002796; Wed, 11 Nov 2015 21:36:12 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 11 Nov 2015 21:36:12 +0200 From: Konstantin Belousov To: Conrad Meyer Cc: Ivan Radovanovic , FreeBSD Hackers Subject: Re: Detecting new file name after receiving kevent's NOTE_RENAME Message-ID: <20151111193612.GG2257@kib.kiev.ua> References: <5641A2A5.7070909@gmail.com> <20151110081421.GL2257@kib.kiev.ua> <56426054.2070007@gmail.com> <20151111105656.GX2257@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2015 19:36:21 -0000 On Wed, Nov 11, 2015 at 09:24:51AM -0800, Conrad Meyer wrote: > On Wed, Nov 11, 2015 at 2:56 AM, Konstantin Belousov > wrote: > > It is up to filesystem to cache or not cache the file name entry. > > If filesystem does not insert the name entry into namecache on rename, > > there is nothing which could help vn_fullpath(9) to return a path. > > Besides vn_vptocnp? I thought vn_fullpath(9) should always succeed > since 10.0 if the vnode still exists. VOP_VPTOCNP() still must get the data somewhere. It is usually easy to provide the name for a synthetic file system, where the data is fully controlled by the filesystem. Also, it is always possible to provide the name for a directory on any unix-like filesystem, due to dotdot. Both cases are what handled by fs-specific implementations of VOP_VPTOCNP() and by the default code. For the rest, you e.g. must be able to answer with the name for regular inode on UFS, given the inode number. If you can provide such code, I will be quite amazed.