From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:38656 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752976AbdFRBOq (ORCPT ); Sat, 17 Jun 2017 21:14:46 -0400 Date: Sun, 18 Jun 2017 09:12:50 +0800 From: Greg Kroah-Hartman To: Christoph Hellwig Cc: Linus Torvalds , Tejun Heo , linux-fsdevel@vger.kernel.org Subject: Re: odd sysfs find behavior, was: Re: [PATCH v6 00/10] Implement NVMe Namespace Descriptor Identification Message-ID: <20170618011250.GA1987@kroah.com> References: <20170607094536.32419-1-jthumshirn@suse.de> <20170615163141.GA27307@lst.de> <20170616094056.GA12465@lst.de> <905ed2e6-1c1c-f3a3-5391-66e42fb61861@suse.de> <20170616095837.GA14217@lst.de> <20170617120814.GA13236@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170617120814.GA13236@lst.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Sat, Jun 17, 2017 at 02:08:14PM +0200, Christoph Hellwig wrote: > On Fri, Jun 16, 2017 at 10:28:28PM +0900, Linus Torvalds wrote: > > Hmm. The *traditional* reason for this particular 'find' oddity is > > that find has an optimization which will look at the nlink count of a > > directory to decide how many subdirectories it can have. > > It looks like sysfs maintains i_nlink properly as far as I can tell. > But I noticed another things that's even more weird: > > root@testvm:~/nvmetcli# find /sys -name uuid > root@testvm:~/nvmetcli# find /sys -name uuid > /sys/devices/virtual/nvme-fabrics/ctl/nvme2/nvme2n1/uuid > > so just repeating the find a second time makes it work! Looks like > there is some sort of lazy population scheme in sysfs.. There is a lazy population scheme in sysfs, but that means that things are only populated in memory when we actually look for them, not the second time around only :) I just tried this on my laptop which does have a nvme block device in it, and it worked just fine both times. As Linus said, a strace would be great. thanks, greg k-h