From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Brown Subject: Re: [NFS] [PATCH] Make UDF exportable Date: Thu, 7 Feb 2008 14:44:00 +1100 Message-ID: <18346.32384.780598.485949@notabene.brown> References: <1201726404.2976.8.camel@localhost.localdomain> <20080205102955.GA28347@infradead.org> <1202233464.12188.43.camel@localhost.localdomain> <20080206180850.GD3475@duck.suse.cz> <1202331482.2727.8.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Jan Kara , Christoph Hellwig , nfs@lists.sourceforge.net, linux-fsdevel@vger.kernel.org To: Rasmus Rohde Return-path: Received: from mail.suse.de ([195.135.220.2]:39864 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753950AbYBGDoF (ORCPT ); Wed, 6 Feb 2008 22:44:05 -0500 In-Reply-To: message from Rasmus Rohde on Wednesday February 6 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wednesday February 6, rohde@duff.dk wrote: > > > + dotdot.d_name.name = ".."; > > > + dotdot.d_name.len = 2; > > > + > > > + lock_kernel(); > > > + if (!udf_find_entry(child->d_inode, &dotdot, &fibh, &cfi)) > > > + goto out_unlock; > > Have you ever tried this? I think this could never work. UDF doesn't have > > entry named .. in a directory. You have to search for an entry that has > > in fileCharacteristics set bit FID_FILE_CHAR_PARENT. Maybe you could > > hack-around udf_find_entry() to recognize .. dentry and do the search > > accordingly. > Probably not. I just tested that I could read files and navigate the > directory structure. However looking into UDF I think you are right - it > will fail. > I have extended udf_find_entry() to do an explicit check based on > fileCharacteristics as you propose. > How do I actually test this case? - Mount the filesystem from the server. - 'cd' a few directories down into the filesystem. - reboot the server(1) - on the client 'ls -l'. (1) A full reboot isn't needed. Just unexport, unmount, remount, re-export on the server. alternately, use a non-linux client and cd down into the filesystem and ls -l .. NeilBrown